IP Library Granted Patent US 11,057,482
Granted Patent B2
US 11,057,482 · App. 16/381,590 · Granted Jul 6, 2021

User interface modification and usage tracking

Inventors: Dustin Howett (Menlo Park, CA); James Koppel (Cambridge, MA); Jeremy Orlow (Menlo Park, CA); Nancy Hua (Menlo Park, CA)
Assignee: Apptimize, LLC
H04L67/22G06F8/38G06F9/451H04L67/34H04L67/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,057,482
App. No.
16/381,590
Granted
Jul 6, 2021
Kind
B2
Abstract

Techniques are provided to facilitate tracking events associated with a user interface display of an application at runtime. In at least one implementation, one or more information structures that associate an event tracking indicator with a view selector are stored, wherein the event tracking indicator indicates an event to be tracked, and the view selector indicates one or more constraints to be matched to select a view of the application. During execution of the application, the view selector is evaluated with views used by the application to determine whether each of the one or more constraints of the view selector matches properties of the views. In response to determining that each of the one or more constraints of the view selector matches the properties of at least one of the views, an occurrence of the event indicated by the event tracking indicator associated with the view selector is tracked.

Claims (32)

1. A method to track events associated with a user interface display of an application at runtime on a client device, the method comprising:

storing one or more information structures that associate a view tracking indicator with a view selector, wherein the view tracking indicator can be used to track view usage, and the view selector indicates one or more constraints to be matched to select views of the application for tracking by the view tracking indicator, the views displayed in response to a user input trigger event;

evaluating, in response to an occurrence of the user input trigger event during execution of the application, the view selector with one or more views to be displayed by the application based on the occurrence of the user input trigger event, the evaluating to determine whether each of the one or more constraints of the view selector matches properties of the one or more views; and

configuring, in response to determining that each of the one or more constraints of the view selector matches the properties of at least one of the one or more views, the view tracking indicator to track usage of the view and to report the usage of the view to a server system.

2. The method of claim 1 , wherein the user input trigger event comprises a user interaction with at least one user interface element of the view of the one or more views.

3. The method of claim 1 , wherein the user input trigger event comprises a user interaction with at least one user interface element of the view of the application one or more views that was modified by a view modification indicator associated with an additional view selector, wherein the additional view selector indicates one or more constraints to be matched to select views of the application displayed in response to the user input trigger event for modification using the view tracking indicator.

4. The method of claim 3 , wherein the view modification indicator associated with the additional view selector can be used to make one or more modifications to one or more of the views used by the application selected using the additional view selector.

5. The method of claim 1 , wherein the one or more constraints of the view selector are loosened with at least one don't care constraint so that the view selector matches a wider range of the views used by the application.

6. The method of claim 1 , wherein the one or more constraints of the view selector comprise visual property constraints and structural property constraints.

7. The method of claim 6 , wherein the structural property constraints include layout properties.

8. One or more non-transitory computer-readable storage media having program instructions stored thereon to facilitate tracking events associated with a user interface display of an application at runtime on a client device, wherein the program instructions, when executed by a computing system, direct the computing system to at least:

store one or more information structures that associate a view tracking indicator with a view selector, wherein the view tracking indicator can be used to track view usage, and the view selector indicates one or more constraints to be matched to select views of the application for tracking by the view tracking indicator, the views displayed in response to a user input trigger event;

evaluate, in response to an occurrence of the user input trigger event during execution of the application, the view selector with one or more views to be displayed by the application based on the occurrence of the user input trigger event, the evaluating to determine whether each of the one or more constraints of the view selector matches properties of the one or more views; and

configure, in response to determining that each of the one or more constraints of the view selector matches the properties of at least one of the one or more views, track the view tracking indicator to track usage of the view and to report the usage of the view to a server system.

9. The one or more computer-readable storage media of claim 8 , wherein the user input trigger event comprises a user interaction with at least one user interface element of the view of the one or more views.

10. The one or more computer-readable storage media of claim 8 , wherein the user input trigger event comprises a user interaction with at least one user interface element of the view of the one or more views that was modified by a view modification indicator associated with an additional view selector, wherein the additional view selector indicates one or more constraints to be matched to select views of the application displayed in response to the user input trigger event for modification using the view tracking indicator.

11. The one or more computer-readable storage media of claim 10 , wherein the view modification indicator associated with the additional view selector can be used to make one or more modifications to one or more of the views used by the application selected using the additional view selector.

12. The one or more computer-readable storage media of claim 8 , wherein the one or more constraints of the view selector are loosened with at least one don't care constraint so that the view selector matches a wider range of the views used by the application.

13. The one or more computer-readable storage media of claim 8 , wherein the one or more constraints of the view selector comprise visual property constraints and structural property constraints.

14. The one or more computer-readable storage media of claim 13 , wherein the structural property constraints include layout properties.

15. A computing apparatus comprising:

one or more non-transitory computer-readable storage media;

a processing system of a client device operatively coupled with the one or more non-transitory computer readable storage media; and

an application stored on the one or more computer-readable storage media comprising program instructions to facilitate tracking events associated with a user interface display of the application at runtime on the client device, wherein the program instructions, when executed by the processing system, direct the processing system to at least:

store one or more information structures that associate a view tracking indicator with a view selector, wherein the view tracking indicator can be used to track view usage, and the view selector indicates one or more constraints to be matched to select views of the application for tracking using the view tracking indicator, the views displayed in response to a user input trigger event;

evaluate, in response to an occurrence of the user input trigger event during execution of the application, the view selector with one or more views to be displayed by the application based on the occurrence of the user input trigger event, the evaluating to determine whether each of the one or more constraints of the view selector matches properties of the one or more views; and

configure, in response to determining that each of the one or more constraints of the view selector matches the properties of at least one of the one or more views, track the view tracking indicator to track usage of the view and to report the usage of the view to a server system.

16. The computing apparatus of claim 15 , wherein the user input trigger event comprises a user interaction with at least one user interface element of the view of the one or more views.

17. The computing apparatus of claim 15 , wherein the user input trigger event comprises a user interaction with at least one user interface element of the view of the one or more views that was modified by a view modification indicator associated with an additional view selector, wherein the additional view selector indicates one or more constraints to be matched to select views of the application displayed in response to the user input trigger event for modification using the view tracking indicator.

18. The computing apparatus of claim 17 , wherein the view modification indicator associated with the additional view selector can be used to make one or more modifications to one or more of the views used by the application selected using the additional view selector.

19. The computing apparatus of claim 15 , wherein the one or more constraints of the view selector are loosened with at least one don't care constraint so that the view selector matches a wider range of the views used by the application.

20. The computing apparatus of claim 15 , wherein the one or more constraints of the view selector comprise visual property constraints and structural property constraints.

Assignments (6)
SECURITY INTEREST Recorded Jul 1, 2024
From: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 068099/0779 →
RELEASE OF SECURITY INTEREST Recorded Jun 28, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: AIRSHIP GROUP, INC.; APPTIMIZE, LLC
Reel/Frame 067965/0545 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME TO ADD A COMMA BETWEEN APPTIMIZE AND LLC PREVIOUSLY RECORDED ON REEL 050612 FRAME 0128. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Feb 9, 2021
From: APPTIMIZE, INC.
To: APPTIMIZE, LLC
Reel/Frame 055278/0689 →
SECURITY INTEREST Recorded Apr 2, 2020
From: URBAN AIRSHIP, INC.; APPTIMIZE, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052308/0550 →
CHANGE OF NAME Recorded Oct 2, 2019
From: APPTIMIZE, INC.
To: APPTIMIZE LLC
Reel/Frame 050612/0128 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2019
From: HOWETT, DUSTIN; KOPPEL, JAMES; ORLOW, JEREMY; HUA, NANCY
To: APPTIMIZE, INC.
Reel/Frame 048861/0947 →
Continuity (3)
Continuation 14506990 · Oct 6, 2014
Provisional Application 61929939 · Jan 21, 2014
Related Publication 20190238647A1 · Aug 1, 2019