Thursday, February 11, 2021

The plan for a mobile application that monitors outbound web traffic from the device:

 

Problem statement: Mobile applications are increasingly becoming smarter with one of the two popular mobile platforms that have their own app stores which find universal appeal among their customers. These users download a variety of applications and enable notifications and settings that permit the applications to upload and download without user awareness. Although most applications play nice, there is little or no tool with the user that can analyze these application behaviors to help them draw insights into their mobile phone usage. 

Solution: This proposal is to help Android users with the display of a pie chart for applications that have the most web traffic over the last 24 hours. Applications generally tend to send or receive traffic from the same source or destination. The pie chart will display these source or destination endpoints as the basis for the web traffic. As the user studies the pie chart for the websites visited by the applications on their device, they can take corrective actions for themselves. These actions include turning off notifications, removing privileges or even uninstalling the application. Securing the mobile device for a user and empowering them to take corrective actions reaffirms the trust the user places on the smartest device closest to them. It might mean reduced functionality in some cases, but the tradeoff is in the hands of the user and increasing awareness where there was none.

Usually, applications cannot themselves declare what websites they will be accessing, and it is harder for an application to even snoop on the traffic of other applications without going through the platform or operating system of the mobile applications. Such access requires privilege and enabling such application on the mobile device then raises the questions “who guards the guard?” Instead, the platform provides Java Native Interfaces JNI that can be used to listen on the web traffic and then the application can determine how to collect and analyze them.

The use of a hash table or dictionary for the purpose of collecting and counting accesses to webpages is typical for determining the running counts of web pages accessed. An inverted hash table for the highest number of counts and their corresponding web pages will be required to draw the pie chart. The collection can be viewed anytime and on demand, but the accumulation is only for the last 24hours. Therefore, a sliding window is required to discard older entries and retain newer entries.

This application itself will have to provide user controls, navigations and experience that are typical for any application on a mobile application. The navigation to the homepage, the display of the pie chart, the refreshes to the chart both from user navigations to it from external applications or pages or from refresh of the pie chart or internal navigations within the pie chart will have to be refreshed automatically.

Finally, the application must demonstrate that it handles all the lifecycle and display events that are associated with the application. If these handlers are correctly written, the user experience in viewing the report will be smooth and satisfying.


No comments:

Post a Comment