Most Used iPhone Apps

To expose different areas of the dataset, drag/resize the grey box in the bottom plot. Hover over top plot for detail about time on each app (actual data is randomized).

Our phones can do a pretty much endless variety of things — they keep us company and entertain us when we’re alone, and when we’re with friends, they probably helped get us there with a text, phone call, or map. They offer music when we're walking on the street, alarms for waking up, content for scrolling through before sleep, so many push notifications, and a thousand things in between. With an object that does so much, how can I visualize the main things I actually use my phone for? More importantly, will this knowledge help me use it less?

To start this quest, I found the pretty handy iOS application Moment, which works in the phone's background to automatically track key usage metrics: Number of "pick-ups", total minutes used, and minutes used on specific apps. As long as you keep Moment on in the background, it gathers minutes/pickups-per-day infromation on its own. For app usage, though, you're prompted to take a screenshot from Settings at the end of the day, which gives a break-down based on the amount of the battery that each app used. Moment also supports exporting the data it has collected, allowing me to create this visualization.

Does having a graphic like this to show the biggest culprits really help? I'm not sure that having the data-oriented, detailed scoop on where I can improve makes starting that process too much easier. Following through and using this data to truly spend less time on my phone is going to require just as much motivation and effort as before.

Practicing with:

  • Setting up IFTTT to sync the JSON-formatted export to my Amazon S3 directory, so the plot is up-to-date, with minimal routine effort (still working on this).
  • Parse through the JSON and push time spent on each app into an array, one for each app. Each array is a list of the minutes spent on that particular app per day.
  • Average all the days in each array to find the apps I've spent the most time on, then display the top five using c3.js, a d3.js based plotting library.
  • Add some custom styling: color ramps, data series stacking, tooltip and subchart formatting, x-axis ticks, etc.