1. Information about the paper


Hammer, Jon C., and Tingxin Yan. “Exploiting usage statistics for energy-efficient logical status inference on mobile phones.” In Proceedings of the 2014 ACM International Symposium on Wearable Computers, pp. 35-42. ACM, 2014.


Logical statuses of mobile users, such as isBusy and isAlone, are the key enabler for a plethora of context-aware mobile applications. While on-board hardware sensors, such as motion, proximity, and location sensors, have been extensively studied for logical status inference, the continuous usage incurs formidable energy consumption and therefore user experience degradation. In this paper, we argue that smartphone usage statistics can be used for logical status inference with negligible energy cost. To validate this argument, this paper presents a continuous inference engine that (1) intercepts multiple operating system events, in particular foreground app, notifications, screen states, and connected networks; (2) extracts informative features from OS events; and (3) efficiently infers the logical status of mobile users. The proposed inference engine is implemented for unmodified Android phones, and an evaluation on a four-week trial has shown promising accuracy in identifying four logical statuses of mobile users with over 87% accuracy while the average energy impact on the battery life is less than 0.5%.




2. My review of the paper


This paper tried to infer logical statuses from mobile phone users by collecting data from mobile phone operating system event. The paper used four data, which are: foreground app, notifications, screen states, and connected network.

Following are features of each data collected:

  1. Foreground app: Trigger app, App categories, TimeOfDay, DayOfWeek.
  2. Notifications: Owner app, Inter-arrival time, Inter-departure time, Response.
  3. Screen states: Time between sessions, Session durations, Null sessions, App sessions.
  4. Connected network: Cell ID, BSSID, TimeOfDay, DayOfWeek.

The training data for this paper was collected from nine participants over four weeks. The authors collected over 65,000 OS events and over 2,500 human labels to identify four logical statuses. Then they developed a framework to infer four statuses: busy, stressful, alone, happy. The framework contains pre-processing, automatic feature selection, and classification. They tested several learning algorithms and decided to use J48 decision tree because it provided the best balance between evaluation speed and predictive accuracy. Then they evaluate the framework’s performance on two users with and without pre-processing.

The result of this paper are: isHappy and isStressful have over 90% accuracy while isBusy and isAlone achieve 85% and 87% respectively.



  1. This paper uses software sensor from OS event which costs less energy than hardware sensors.
  2. This paper successfully inferred four logical statuses with more than 80% overall accuracy based only on OS events.


  1. The paper did not show comparison between learning algorithm they tested. Therefore, we did not know by how much/how far does the J48 decision tree provided the best balance between evaluation speed and predictive accuracy if compared to other learning algorithms. This comparison can be useful for future work. Future researcher can have scientific foundation to decide that this is better algorithm.
  2. I think Figure 1. in the paper should have been placed pre-processing before feature generation, just like the slide in Tuesday, October 28 class, which placed pre-processing before pattern learner.

Discussions and Questions:

  1. What are the correlation between Application UI in Figure 2 and the inferred logical statuses? Because it provides six different mood: angry, sad, meh, indifferent, happy, and very happy. It also provides five stress color boxes and other statuses. How do they connect/mapped to the four logical statuses inferred: isBusy, isAlone, isHappy, isStressful? This should have been explained in the paper.
  2. The paper said that feature selection for classification is done automatically. However, the paper could have explained which features affected which logical statuses in details by tracing back the logical statuses to the OS events related to them. This information will be useful for future research and really learn what OS events contribute more to which logical statuses. Then we can improve or redesign better mobile systems to better fit personal patterns. For example, null is related to busy. Being at workplace could relate to stress and being home could relate to happy. We need more information on this part.
  3. Energy efficiency is obvious if compared to hardware based sensor. However, to show more achievement, the paper could also compare accuracy with hardware sensor or compare accuracy and efficiency with other software based sensor. This small information would be useful for future research.
  4. The participants of data collection training are from Computer Science department which most likely are super user or addictive smartphone user. They would provide many OS events. Would the accuracy drop if we tested it to average users?

Future Research

  1. Further research could provide suggestions for each logical statuses as follows:
  2. isBusy: provide a way similar to “do not disturb” feature which will hold all notification unless marked previously as important, using whitelist method.
  3. isStressful: offers movies to watch or games to play, based on previously watched or searched movies and previously played games.
  4. isAlone: offers to contact friends previously enganged significantly with the users, or provide list of new friends with similar interest with the user.
  5. isHappy: share the happiness to others.
  6. The author could update the android app on Google Play Store which was used for data collection and engage voluntary participants for further research.
  7. To preserve privacy, the provider should assure the user that none of their personal data will be leaked or stored on the server. It could be achieved by developing protocol that assure all classification is done automatically without direct human intervention. Privacy will also better preserved if the classification is done on the phone. If it is done on the server, we can develop protocol to ensure that OS events data are not directly connected with user identity and be destroyed or kept really safe after classification is done.