Tracking your Application Time

Apr 10, 2015: Mobile devices have become an integral part of our lives, however, most of us have little idea how often and how long we are spending with these devices. Track your mobile phone habit by installing Application Time (AppT) today!

Mobile devices have become an integral part of many of our lives, so much so that recent studies have found severe separation anxiety between people and their mobile phones, with participants citing the apprehension of missed communication with friends or loved ones without access to chat or social media applications. Motivated by this as well as anecdotal evidence of the large effect of mobile devices on our lives, we at the Northwestern Aqualab are embarking on a study to collect and analyze the usage patterns and habits of the population. Today, we are releasing our mobile application to help users track, analyze and understand their relationship with their mobile device. Named Application Time – or AppT for short – the app allows users to track and visualize their usage of mobile applications and the frequency and duration of their mobile device interactions. The application is now released to the Android Store for download – a more detailed description of the measurements and mechanic, refer to the project page on our website (appt.aqualab.cs.northwestern.edu).

The screen shots below show how the app allows users to visualize aggregated and individual usage of applications on their device through an easy, intuitive interface. The app also allows users to export their usage data so they can perform their own analytics if they desire.

We have been using AppT for over a year now internally in out lab. To illustrate some of the awareness and insights that this can bring, I present an analysis of my own mobile device usage. The first interesting thing we found was the long tail of application usage, and that the top 10 apps account for over 90% of the device time, and that the other 30 or so apps only account for the remaining 10%. These top apps (shown in Table 1) include common communication related tasks such as calls, SMS and email. It was surprising to see Google Hangouts – a SMS and chat client – was used over 11,000 times over the course of a year; that amounts to just over 23 times a day on average.

ApplicationInvocation Count
Google Hangouts11511
Gmail4722
Spotify4517
Phone3113
Chrome for Android1540
Transit Tracks (train tracker)1322
WhatsApp926
Google Maps820
Clock652
Facebook625

Looking at temporal usage patterns, a couple of interesting items can be seen. In the figure below, each dot represents an instance when a mobile application was launched. Besides the overall amount consistent quantity of usage, we see that in general the phone is the first item checked every morning, and is consistently accessed throughout each day and into the early morning.

One point of concern was the peak in usage each day during the middle of the work day in the late afternoon. It was noticed that the device was primarily being used for chat and email messaging even though the user was sitting in front of a computer. This meant that work is being consistently interrupted to check each and every notification on the device, regardless of the notification’s urgency. Such a constant distraction can be very detrimental to long period of focused effort. Once aware of this activity, the user now disables all notifications throughout periods of concentrated work (using several of the apps available), and has seen great improvements in productivity.

Our lab has released the app Application Time to the public on the Google Play Store so others can collect and analyze their mobile device usage. Hopefully, by using AppT you will be able to figure out ways your own ways to break dependence, improve productivity, or be aware of your device habits.

Mobile Network Performance and Content Delivery - Part 2

Mar 20, 2014: Most Content Delivery Networks (CDNs) attempt to pick the closest replcia server to your location. We see large inefficiencies in replica selection for cellular networks, with remote Public DNS resolvers retrieving better replicas a significant fraction of time.

Led by John Rula

This series looks at the current state of network performance and content distribution on cellular networks. Download Namehelp Mobile for Android in the Play Store to find which DNS give you the best performance on your phone. In Part 1 we looked at the impact DNS performance and compared your default DNS service on your mobile device to several public options. In this part we look at how Content Delivery Networks (CDNs) attempt to optimize content delivery on mobile networks.

Content delivery networks (CDNs) are the unseen engine which drive the Web. Companies like Akamai and Limelight operate a global network of replica caches, with the intention of delivering content from the closest (and thus fastest) server to its users. For instance, when you go to the New York Time's website, your browser resolves www.nytimes.com to its IP address by its locally configured DNS, typically provided by your internet service provider. This DNS tthen asks the authoritative DNS server (in this case run by its CDN Akamai), which trys to choose the closest server. Since the CDN can only see the origin of the last request, it has to approximate your location based on the location of your DNS server.

When selecting replica servers, CDNs try to choose the server with the lowest latency, typically the closest geogaphically, to its intended destination. Latency is important factor for web performance since the typical content request include several round trip times before the user receives data, including a DNS resolution, a TCP connection and HTTP header exchange. The multiple round trips mean that any latency improvements to the content server are compounded throughout the transfer.

Conventional widsom in replica selection is that the closer you are to your DNS server, the closer your content servers will be. It is very hard to improve upon the DNS server of your internet service provider when it comes to replica server selection. For example, our previous investigation into the impact of Public DNS on replica server selection (paper here )found that replicas selected using public DNS resolves had over twice the latency when compared to those chosen by your ISP's DNS.

Replica selection in cellular networks seems to contradict these traditional beliefs. In Part 1 of this series, we saw that public DNS resolvers like GoogleDNS and OpenDNS are typcaily farther away from clients resulting in longer DNS resolution than the ISP configured resolver. However, when we look at the latency to the replica servers returned by each DNS, we see that public DNS resolvers returned servers which had equal or lower latency 74% of the time in the case of OpenDNS! Figure 1 below shows the percentage of time the replicas returned by public DNS servies had equal or improved latencies for all hostnames we tested. It is also interesting to note that both public DNS resolvers returned servers with a 20% latency improvement around 20% of the time, and a 40% improvement 10% of the time.

% of Replica Selections
(larger is better)
Percentage Improvement
Figure 1. Percentage of times each public DNS service returned equal or better replica servers to devices.

When we look at replica selection on a per domain level, we see that it varies depending on the hostname chosen, and on the CDN they employ. The greatest example of disparity we saw was with both facebook.com and answers.com, where OpenDNS performed as well or better 95% of the time. Figure 2 shows the percentage of time replicas returned had latencies which had equal or greater performance than the Local DNS options. The figure displays the wide disparity between public DNS services as well as across different hostnames. It seems clear that the current system of replica selection for cellular networks is far from optimal.

Fraction of Replica Selections (%)
(larger is better)
Hostname
Figure 2. Percentage of times each public DNS service returned equal or better replica servers to devices for each hostname.

We have released a tool called Namehelp Mobile which measures the performance of your ISP provided DNS service against several public DNS options. In addition, it also measures the role that your DNS service has with Content Delivery Networks (CDNs) in mobile networks, and how your ISP provided DNS service can actually deliver worse performance in many cases.

Mobile Network Performance and Content Delivery - Part 1

Mar 20, 2014: Web performance is determined by more than just SpeedTest's reported “Network Performance”. The video you watch, the DNS service you choose, and the server it's delivered from have a much larger impact on your perceived performance.

Led by John Rula

This is Part 1 of a blog series which looks at the current state of network performance and content distribution on cellular networks. This work attempts to challenge conventional wisdom on the state of mobile content distribution, specifically that little can be done to improve outside of the cellular network. Part 1 looks the performance on mobile devices of Domain Name Services (DNS), an intergral often overlooked service required for the internet to function.

The Domain Name Service

The Domain Name Service is a globally distributed system that translates a human readable hostname (i.e. facebook.com) to its routable IP addres (e.g. 173.252.110.27). Nearly all requests form a device must first resolve a domain name in order to download content, and the importance of domain name services is only increasing. According to a report by Arbor Networks last year, the number of DNS requests sent across mobile operators has quadrupled between 2010 and 2012. Aside from an increase in mobile network use, mobile websites have begun to incorporate an increasing number of unique domain names in their sites for items such as ad networks, analytics providers and social networking plugins.

Public DNS services like GoogleDNS or OpenDNS provide an alternative to ones Local DNS service provided by their internet service provider. These services popularity has grown recently due to claims of higher reliability, better performance, and a more secure infrastructure. A low performing DNS service can kill your performance and any DNS failures can render your device practically useless. Current cellular operator policy prohibits users from selecting their own DNS service without first rooting their device.

Performance of Public DNS on Cellular Networks

We investigated the performance of public DNS services GoogleDNS and OpenDNS against the cellular operators provided Local DNS. Figure 1 shows the median, 75th and 90th percentile times taken to perform a DNS resolution for each of the public DNS services with the provided Local resolver. We see the Local DNS service performing better around 80% of the time, with a long tail which peforms much worse than the public DNS services (almost twice the time at the 90th percentile). These results seem to follow those done on the wired internet, where the public DNS services are typically located farther away from clients, and therefore have a longer latency between them.

Resolution Time (ms)
(smaller is better)
Percentile
Figure 1. Time taken for DNS resolution across the three services. Median, 75th and 90th percentile times shown.

Another factor affecting network performance including DNS performance is the radio that your phone is currently using. Most phones have several different radios which it can use at any time (e.g. LTE, EVDO (3G), or CDMA 1x (2G)). Each of these radios have different performance capabilities and cause different levels of network performance. Figure 2 below shows the DNS resolution time to each users Local resolver for each radio technology used.

Resolution Time (ms)
(smaller is better)
Radio Technology
Figure 2. Average time taken for DNS resolution under each radio type.

While 4G technologies like LTE clearly display the best performance, we are not always connected with 4G radios. We looked at the percentage of time users are connected to each radio type. Figure 3 shows the proportion of time CDMA users are connected to each radio type: LTE, EVDO Rev A, EHRPD and CDMA 1x. While 75% of the time is spent in LTE for our users, we suprisingly see that nearly 10% of time is spent connected to CDMA 1x, which has an average DNS resolution time of 1.25 seconds! It seems that regardless the number of signal bars you have, the type of signal is even more important for your network performance.

Figure 3. Percentage of time our users spent in each radio state.

We have released a tool called Namehelp Mobile which measures the performance of your ISP provided DNS service against several public DNS options. In addition, it also measures the role that your DNS service has with Content Delivery Networks (CDNs) in mobile networks, and how your ISP provided DNS service can actually deliver worse performance in many cases. Read more about this in the second part of this series.