The future is cloudy: Reflecting prediction error in mobile applications
Brett D. Higgins, Kyungmin Lee, Jason Flinn, T.J.Giuli, Brian Noble, and Christopher Peplin
Mobile applications often predict the future to make decisions in the
present. Although such predictions are inherently uncertain,
applications typically assume that they are completely accurate. This
assumption can lead to incorrect decisions resulting in
unnecessary delays, wasted resources, or worse.
Instead, prediction error should be a fundamental consideration in
mobile systems. Applications should consider uncertainty when
weighing alternatives. When one alternative is not clearly superior
to another, redundant strategies are often appropriate,
resulting in much better performance at a very modest cost.
To illustrate these ideas, we describe and implement several methods
for quantifying uncertainty in mobile environments. Our system allows
applications to explicitly weigh the tradeoff between the performance
gained via redundancy and the cost of extra energy and cellular data
resources spent, tailoring decisions to their relative importance. We
adapt two systems to use this approach. Compared to both simple and
adaptive strategies that do not reflect prediction error, our library
improves application performance by up to a factor of two.