Review of "APE: An Annotation Language and Middleware for Energy-Efficient Mobile Application Development"
Suggestion for acceptance
Strongly accept (maybe I'm too optimistic, but I think all of the reviewed papers so far have been very interesting and have made worthwhile contributions)
Summary of the paper
Annotated Programming for Energy-efficiency (APE) is a service for specifying and implementing system-level power management policies. The policies are written as special APE Java annotations by the developer and can specify complex power management policies with very few lines of code compared to manually writing this power management code manually. This is very beneficial because mobile developers are often on an agile development cycle and don't want to refactor complicated power management policies throughout the development cycle. With APE, policies can be quickly and easily added in after requirement code is complete.
Positive points
The introduction was well written, following the method we discussed in class where the author describes current problems in the field and then their own contributions. APE's main positive point is that it removes the complexity of writing power management policies for continuously-running mobile (CRM) application developers, with negligible overhead. One example of this attribute on page 8 shows a policy written in Java that takes 19 LOC rewritten in APE to be only three lines of APE annotations. I think the manageability and flexibility of APE makes it very valuable to CRM application developers.
Negative points
Figure 8 seemed out of place, as it wasn't referenced in the section it appeared in, but rather in the following section. With energy conservation comes data loss; the application is not sending as many updates as it would if APE was disabled. It's ultimately up to the programmer to decide which areas of code need to send/receive updates frequently however, so it's not really a negative point of the APE service, just a negative point of energy-saving techniques in general. They only tested on one application, CitiSense. They got good results from one instance, and then created several instances to show that APE works well with "multiple APE-enabled applications", which seems a little presumptuous. They also only used one energy-saving APE policy on these instances, which made enough of a difference to prove their point, but I feel like demonstrating more than one of their policies would have been more interesting. Also, I feel that this study created some highly-optimistic graphs that can be somewhat misleading at first glance. Figures 9 and 10 show drastic improvement, but upon further investigation, this improvement is in a very specific case.
Potential future work
The authors mention that they will conduct a study to examine how well experienced developers adapt to using APE to define power-management policies. This is a worth-while experiment and can also result in valuable user-feedback in real-life situations. It would also be useful to implement other APE policies across various applications and run them concurrently to see how these policies interact with each other.