Widget provisioning of user experience analytics and user interface / application management

US11403196B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11403196-B2
Application numberUS-201916510047-A
CountryUS
Kind codeB2
Filing dateJul 12, 2019
Priority dateFeb 21, 2017
Publication dateAug 2, 2022
Grant dateAug 2, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for tracking user interactions with an application includes: storing the application in a memory of a mobile device, the application being associated with an instrumented widget and a library, the widget including an event logger; executing the application and the widget; receiving, through a user interface of the mobile device, an input corresponding to the event logger of the widget; logging, by the library, the input corresponding to the event logger of the widget in the memory of the mobile device; filtering a plurality of events, including the input corresponding to the event logger of the widget, to manage what data is reported to a monitor; and transmitting the input corresponding to the event logger of the widget to a server as monitored data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for tracking user interactions with an application, the method comprising: storing the application in a memory of a mobile device, wherein the application is associated with an instrumented widget and a library, wherein the widget includes an event logger and the library manages the widget; executing, by the mobile device, the application and the widget; receiving, through a user interface of the mobile device, an input corresponding to the event logger of the widget; logging, by the library, the input corresponding to the event logger of the widget in the memory of the mobile device; filtering a plurality of events, including the input corresponding to the event logger of the widget, to manage what data is reported to a monitor; and transmitting the input corresponding to the event logger of the widget to a server as monitored data, wherein the widget comprises a user interface object provided in the application, and the widget can be dynamically instrumented at run time to alter the widget's function without having to recompile the application's code, wherein changes to the user interface's behavior due to the instrumented widget is transparent to the application, wherein the application need not perceive the changes and continues to function unaffected by the changes. 2. The method of claim 1 , further comprising providing the event logger in a subclass of the widget. 3. The method of claim 1 , wherein the plurality of events, including the input corresponding to the event logger of the widget, are logged in the memory of the mobile device. 4. The method of claim 1 , wherein the filtering is performed using at least one of a measure of bandwidth consumed by the reporting and a battery condition of the mobile device. 5. The method of claim 1 , further comprising: receiving, by the library, a configuration request from a remote configuration server; and adapting, by the library, the application using the configuration request, wherein the library acts on the configuration request to modify the event logger in the subclass of the widget. 6. The method of claim 1 , further comprising controlling a frequency of reporting of logged data as a function of battery level of the mobile device. 7. The method of claim 1 , wherein the filtering comprises discarding select data as a function of bandwidth requirements for transmitted logging traffic. 8. The method of claim 1 , wherein the widget is instantiated by the application at run-time. 9. A method comprising: executing an application on a mobile device, the application stored in a memory of the mobile device, wherein the application is associated with an instrumented widget and a library managing the widget, the widget including an event logger for logging user interactions with the application, wherein upon an occurrence of an event associated with the widget, a logged event is recorded in the library by the event logger; receiving, by the library, a configuration request from a remote server; and adapting, by library code associated with the widget, a user interface running on the mobile device using the configuration request by calling upon a control mechanism in the widget to enact the request, wherein the widget comprises a user interface object provided in the application, and the widget can be dynamically instrumented at run time to alter the widget's function without having to recompile the application's code, wherein changes to the user interface's behavior due to the instrumented widget is transparent to the application, wherein the application need not perceive the changes and continues to function unaffected by the changes. 10. The method of claim 9 , further comprising reporting, by the library, the logged event to a server as monitored data. 11. The method of claim 9 , further comprising: displaying, by the mobile device, a user interface element embodying the widget; and receiving, by the user interface element, an input corresponding to the widget. 12. The method of claim 9 , wherein the adapting of the user interface is performed by code injection, including adding code as a subclass of the widget. 13. The method of claim 9 , further comprising collecting, by the library, a plurality of logged events from a plurality of widgets associated with the application, including the instrumented widget, wherein the library manages which of the plurality of logged events is reported to a server as monitored data. 14. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by at least one processor to cause the processor to: store an application in a memory of a mobile device, wherein the application is associated with an instrumented widget and a library, wherein the widget includes an event logger and the library manages the widget; execute, by the mobile device, the application and the widget; receive, through a user interface of the mobile device, an input corresponding to the event logger of the widget; log, by the library, the input corresponding to the event logger of the widget in the memory of the mobile device; filter a plurality of events, including the input corresponding to the event logger of the widget, to manage what data is reported to a monitor; and transmit the input corresponding to the event logger of the widget to a server as monitored data, wherein the widget comprises a user interface object provided in the application, and the widget can be dynamically instrumented at run time to alter the widget's function without having to recompile the application's code, wherein changes to the user interface's behavior due to the instrumented widget is transparent to the application, wherein the application need not perceive the changes and continues to function unaffected by the changes. 15. The computer program product of claim 14 , wherein the program instructions are further executable by the processor to cause the processor to provide the event logger in a subclass of the widget. 16. The computer program product of claim 14 , wherein a plurality of events, including the input corresponding to the event logger of the widget, are logged in the memory of the mobile device. 17. The computer program product of claim 14 , wherein the filtering is performed using at least one of a measured of bandwidth consumed by the reporting and a battery condition of the mobile device. 18. The computer program product of claim 14 , wherein the program instructions are further executable by the processor to cause the processor to: receive, by the library, a configuration request from a remote configuration server; and adapt, by the library, the application using the configuration request, wherein the library acts on the configuration request to modify the event logger in the subclass of the widget. 19. The computer product of claim 14 , wherein the program instructions are further executable by the processor to cause the processor to control a frequency of reporting of logged data as a function of battery level of the mobile device.

Assignees

Inventors

Classifications

  • G06F8/38Primary

    for implementing user interfaces · CPC title

  • where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title

  • Monitoring of software · CPC title

  • Execution arrangements for user interfaces · CPC title

  • monitoring of user actions (tracking the activity of the user H04L67/535) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11403196B2 cover?
A method for tracking user interactions with an application includes: storing the application in a memory of a mobile device, the application being associated with an instrumented widget and a library, the widget including an event logger; executing the application and the widget; receiving, through a user interface of the mobile device, an input corresponding to the event logger of the widget;…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/38. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).