Apparatus and methods for managing widgets in a wireless communication environment
US-10481927-B2 · Nov 19, 2019 · US
US11403196B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11403196-B2 |
| Application number | US-201916510047-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 12, 2019 |
| Priority date | Feb 21, 2017 |
| Publication date | Aug 2, 2022 |
| Grant date | Aug 2, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.