Quantifying and Prioritizing Smartphone Quality of Experience
Of all the resources that smartphones manage, human attention is the most precious. While processor speed and core count, memory and storage capacity, and network bandwidth have steadily and sometimes rapidly increased, the number of hours in the day has not. And as users spend an increasing amount of time with their personal computing devices, it is more important than ever that these devices ensure that their time is used effectively. We refer to this as quality of experience (QoE).
Surprisingly, few resource management decisions on mobile smartphones are made with QoE in mind. Threads are scheduled, memory is allocated, data is stored and transmitted to other devices, but without any consideration of how these operations related to what is on screen and the overall QoE. Our goal is to change this by quantifying QoE and then using it to prioritize resource management decisions—​both on a single device and across the network.
But despite these challenges, we believe that understanding QoE will fundamentally improve the design of interactive systems and the networks they connect to.There are many challenges to accomplishing this. Quantifying QoE requires communication between normally independent layers of the system to monitor the long chain of dependencies that characterize interactive activity. Unmodified apps may hide important details from the underlying system, and the tracing must be lightweight enough to perform continuously to support resource prioritization. Some elements of bad QoE, such as poor menu design, may be hard to quantify given available information. Prioritizing resources based on QoE requires not only the simple distinction between what is on screen and what is not, but also finer distinctions between on-screen elements. But despite these challenges, we believe that understanding QoE will fundamentally improve the design of interactive systems and the networks they connect to.