With the proliferation of smart phones and users' ability to access and interact with providers' websites, data and services, many advantages exist in tracking these events. Many providers track the users in their systems and use that information to improve their services, as well as to market related services to the users. This typically occurs on a site-by-site, application-by-application basis, with the tracking performed by the provider's servers remote from the user's phone, table or other user device.
Users may also subscribe to tracking services, such as phone trackers, etc., but these again are one at a time services. Currently, no applications or systems exist that track a user's activity at the user's phone or device level, gathering information about the user's activity across several different applications.
In the following discussion, a ‘user device’ or ‘mobile user device’ means any device capable of executing an application or an ‘app.’ The user device has the capability to run software code downloaded to a memory on the device and a processor that can operate the software code. The software code may take the form of an ‘application.’ An application is a set of software code that allows an end user to perform a specific task.
Applications may be provided by a particular company that provides a service, such as airlines, travel booking sites, banks, etc. The application allows the user to interact with those providers' systems to perform tasks. Other applications may allow the user to perform tasks local to their phone, with an optional service offered optionally to the user, such as games, exercise and other personal use apps, etc. These consist of only two examples of a myriad of applications available to users for their mobile devices.
The embodiments here provide a process and system for tracking a user's user of application on his or her mobile device. As a user accesses or ‘launches’ applications, the system identifies the application and begins tracking its use. Tracking may encompass many different parameters such as elapsed time, number of accesses, amount of data uploaded or downloaded, locations of access, etc. For applications that provide access to downloaded files, such as movies, books, videos on services such as YouTube™, documents, etc., the tracking may include identification of the files downloaded.
User devices such as 12, 14 and 16 may consist of smart phones, tablets, computers, etc. In the embodiments here, a server such as 20 may provide the user device with a tracking application that tracks the user's interactions with the applications on the user's device. The applications with which the user interacts will be referred to as user application to differentiate them from the tracking application. The tracking may include the amount of time the user is using the application, the amount of data transferred, etc. The tracking may occur on the user's device, the server or elsewhere in the system.
As discussed with reference to
Once the information is gathered, which may occur on an ongoing basis, a report is created at 38. One should note that creation of the report may consist of updating an already present report.
The user interface 40 shows one embodiment of a report provided to a user on that user's usage of different applications. The user interface 40 may consist of several different components, the parts shown here merely provide an example. Since tracking will more than likely occur by time, a banner 42 may display the day of the week (Day), the date (Today), the month (This Month) and the year (This Year).
In the embodiment of
In the embodiment of
The tracking, whether shown by time or usage, is possible because the user data is tracked by the system, more than likely with a tracking application as mentioned above. In one embodiment, the user agrees that their data will travel through a virtual private network (VPN) when accessing applications. This provides the system with the ability to capture and analyze the data as needed to determine usage at an analysis computer such as the server 20 from
For some platforms, where a platform is a combination of a user device and operating system, the data may be accessed directly by the tracking application and sent to the analyzing computer across the network. This would not involve a VPN.
Once captured, the system analyzes the data and identifies the application, typically at an analyzing computer, such as the server 20 from
At 60, the system tracks data patterns on the device as the device users a particular application. The system then identifies a particular data pattern that appears to be unique to that application at 62, referred to here as the application fingerprint. The unique pattern for an application may be thought of as a digital fingerprint for that application, which is a unique combination of bytes that only arises from use of that application.
With the large amounts of data, it is possible that a pattern may not be unique, it may be that another application has just not given rise to that particular pattern yet. The system then test the pattern at 64 against a repository of patterns at 64. If another application corresponds to that pattern the process returns to 60 and the tracking continues. If no other application corresponds to that pattern, the system stores the pattern and an identifier for its corresponding application in the repository.
The repository then has at least two functions. During operation of the application that tracks usage, the repository allows the incoming data from the user device to be identified as corresponding to a particular application. During the fingerprinting of a new application, the repository allows the system to double check the results and ensure that the applications are associated with unique data patterns. For example, a new application undergoes testing and the system thinks it has identified a unique data pattern. It then checks it against the repository. If it determines that the pattern is not unique, not only does the new application need to continue analysis, the previously stored application must be re-analyzed to arrive at a new fingerprint for that application, as the fingerprint is no longer unique.
In order to build the repository, the system may monitor newly available applications on some periodic basis, then download them to at least one of many ‘laboratory’ user devices. The laboratory devices run the applications while the system analyzes the data to identify the unique pattern in the data for that application. This allows the repository to be updated with new applications and their fingerprints without having to wait for a user to download and run the applications. The number of laboratory devices may be increased as needed to accommodate large numbers of applications waiting to be fingerprinted. This process focuses on the building of the repository, allowing the tracking application to identify more applications in use on the user devices.
In this manner, the system can identify usage of applications on a user device with little or no interaction required from the user. Further, the report generated may be presented to the user, so the user can see the results, rather than just making the results available to the providers as typically occurs now. The ability for a user to see his or her own usage on an application by application basis is not provided by any other systems.
While the embodiments above have mostly concentrated on providing the report of usage activity to the user, one should note that the usage reports may also be sent to the application providers, service providers, network providers, etc. The reports may be formatted differently, such as usage of an application across multiple users for a period of time being provided to the application provider/author. Many other options and modifications exist.
It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.