IP Library Granted Patent US 10,291,729
Granted Patent B2
US 10,291,729 · App. 14/506,990 · Granted May 14, 2019

User interface modification and usage tracking

Inventors: Dustin Howett (Meno Plark, CA); James Koppel (Menlo Park, CA); Jeremy Orlow (Menlo Park, CA); Nancy Hua (Menlo Park, CA)
Assignee: Apptimize, Inc.
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 10,291,729
App. No.
14/506,990
Granted
May 14, 2019
Kind
B2
Abstract

A method is provided to modify a view used by an application to generate a user interface element on a display screen of an electronic device; a view selector information structure identifies a hierarchy of selector visual property constraints and associated selector structural property constraints; modification information indicates one or more modifications to one or more views selected using the view selector; in the course of running the application on the electronic device, a determination is made as to whether an application subview hierarchy matches the selector information structure; in response to determining a match, a modification indicated by the modification information is imparted to one or more views of the matching application subview hierarchy.

Claims (91)

1. A method to modify a view used by an application to generate a user interface element on a display screen of an electronic device comprising:

receiving view selector information, in a non-transitory storage device associated with the electronic device, that identifies a hierarchy of selector visual property constraints and associated selector structural property constraints, wherein the view selector information represents a selector subview hierarchy comprising a plurality of views in a traversal path and indicates different subview relationships having particular ones of the selector visual property constraints and the selector structural property constraints corresponding to each of the views;

receiving view modification information in the non-transitory storage device associated with the electronic device that indicates one or more modifications to be made to one or more of the views;

in the course of running the application on the electronic device, using the traversal path defined by the selector subview hierarchy to determine whether an application view hierarchy, in the non-transitory storage device, that is used by the application includes an application subview hierarchy that includes views that define a hierarchy of visual property constraints and associated structural property constraints that match the identified hierarchy of selector visual property constraints and associated selector structural property constraints in the view selector information; and

in response to determining a match, imparting a modification indicated by the view modification information to one or more views of the matching application subview hierarchy.

2. The method of claim 1 ,

wherein the selector structural property constraints indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

3. The method of claim 1 ,

wherein the selector structural property constraints indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints;

wherein one or more of the structural property constraints indicates order of the subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints; and

wherein one or more of the structural property constraints indicates a don't care order of the subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

4. The method of claim 1 ,

wherein one or more of the visual property constraints indicates a don't care visual property constraint.

5. The method of claim 1 ,

wherein the selector structural property constraints include pointers that indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

6. The method of claim 1 ,

wherein the selector structural property constraints include pointers that indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints; and

wherein at least one structural property constraint indicates a don't care, which indicates multiple pointers that indicate multiple subview relationships between at least one selector visual property constraint, which is associated with the don't care structural property constraint and which is disposed higher in the hierarchy of selector visual property constraints, and multiple selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

7. The method of claim 1 ,

wherein determining a match includes determining for each level of the hierarchy of selector visual property constraints and associated selector structural property constraints whether there is a match with both visual property constraints and associated structural property constraints at a corresponding level of the application subview hierarchy.

8. The method of claim 1 ,

wherein determining a match includes determining for each level of the hierarchy of selector visual property constraints and associated selector structural property constraints whether there is a match with both visual property constraints and associated structural property constraints at a corresponding level of the application subview hierarchy; and

wherein a selector visual property constraint, at a level in the hierarchy of selector visual property constraints and associated selector structural property constraints, that indicates a don't care matches all visual property constraints at a corresponding level of the application subview hierarchy.

9. The method of claim 1 ,

wherein determining a match includes determining for each level of the hierarchy of selector visual property constraints and associated selector structural property constraints whether there is a match with both visual property constraints and associated structural property constraints at a corresponding level of the application subview hierarchy; and

wherein a structural property constraint, at a level in the hierarchy of selector visual property constraints and associated selector structural property constraints, that indicates a don't care matches all structural property constraints at a corresponding level of the application subview hierarchy.

10. The method of claim 1 ,

wherein the act of determining a match is performed in response to user input to the electronic device.

11. The method of claim 1 ,

wherein the act of determining a match is performed in response to a transition from one user interface display on the device display screen to a next user interface display on the device display screen.

12. The method of claim 1 ,

wherein the act of determining a match is performed in response to allocation of memory space for creation of a view hierarchy for use in generating a user interface display on the device display screen.

13. The method of claim 1 ,

wherein the act of imparting a modification indicated by the modification information to one or more views of the matching application subview hierarchy occurs prior to generation of a display on the device display screen of a user interface display that corresponds to a matching application view hierarchy.

14. The method of claim 1 ,

wherein the act of determining a match is performed in response to user input to the electronic device; and

wherein the act of imparting a modification indicated by the modification information to one or more views of the matching application subview hierarchy occurs prior to generation of a display on the device display screen of a user interface display that corresponds to a matching application view hierarchy.

15. The method of claim 1 ,

wherein visual property constraints include one or more of color, text size, font size, images, background color, text color, text style, font face, text alignment, view width/height, position, padding, orientation and visibility.

16. A method to use of a view by an application to generate a user interface element on a display screen of an electronic device comprising:

receiving view selector information, in a non-transitory storage device associated with the electronic device, that identifies a hierarchy of selector visual property constraints and associated selector structural property constraints, wherein the view selector information represents a selector subview hierarchy comprising a plurality of views in a traversal path and indicates different subview relationships having particular ones of the selector visual property constraints and the selector structural property constraints corresponding to each of the views;

receiving view modification information in the non-transitory storage device associated with the electronic device that indicates one or more modifications to be made to one or more of the views;

in the course of running the application on the electronic device, using the traversal path defined by the selector subview hierarchy to determine whether an application view hierarchy, in the non-transitory storage device, that is used by the application includes an application subview hierarchy that includes views that define a hierarchy of visual property constraints and associated structural property constraints that match the identified hierarchy of selector visual property constraints and associated selector structural property constraints in the view selector information; and

sending a message over a network to a monitoring system to indicate use of the application subview hierarchy.

17. The method of claim 16 further including:

monitoring the application for user input to a view displayed on the device display screen corresponding to the matching application subview hierarchy;

wherein the act of sending the message is performed in response detecting user input to the view displayed on the device display screen corresponding to the matching application subview hierarchy.

18. The method of claim 16 ,

wherein the selector structural property constraints indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

19. The method of claim 16 ,

wherein the selector structural property constraints indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints; and

wherein one or more of the structural property constraints indicates order of the subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

20. The method of claim 16 ,

wherein the selector structural property constraints indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints;

wherein one or more of the structural property constraints indicates order of the subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints; and

wherein one or more of the structural property constraints indicates a don't care order of the subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

21. The method of claim 16 ,

wherein one or more of the visual property constraints indicates a don't care visual property constraint.

22. The method of claim 16 ,

wherein the selector structural property constraints include pointers that indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

23. The method of claim 16 ,

wherein the selector structural property constraints include pointers that indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints; and

wherein at least one structural property constraint indicates a don't care, which indicate multiple pointers that indicate multiple subview relationships between at least one selector visual property constraint, which is associated with the don't care structural property constraint and which is disposed higher in the hierarchy of selector visual property constraints, and multiple selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

24. The method of claim 16 ,

wherein determining a match includes determining for each level of the hierarchy of selector visual property constraints and associated selector structural property constraints whether there is a match with both visual property constraints and associated structural property constraints at a corresponding level of the application subview hierarchy.

25. The method of claim 16 ,

wherein determining a match includes determining for each level of the hierarchy of selector visual property constraints and associated selector structural property constraints whether there is a match with both visual property constraints and associated structural property constraints at a corresponding level of the application subview hierarchy; and

wherein a selector visual property constraint, at a level in the hierarchy of selector visual property constraints and associated selector structural property constraints, that indicates a don't care matches all visual property constraints at a corresponding level of the application subview hierarchy.

26. The method of claim 16 ,

wherein determining a match includes determining for each level of the hierarchy of selector visual property constraints and associated selector structural property constraints whether there is a match with both visual property constraints and associated structural property constraints at a corresponding level of the application subview hierarchy; and

wherein a structural property constraint, at a level in the hierarchy of selector visual property constraints and associated selector structural property constraints, that indicates a don't care matches all structural property constraints at a corresponding level of the application subview hierarchy.

27. The method of claim 16 ,

wherein the act of determining a match is performed in response to user input to the electronic device.

28. The method of claim 16 ,

wherein the act of determining a match is performed in response to a transition from one user interface display on the device display screen to a next user interface display on the device display screen.

29. The method of claim 16 ,

wherein the act of determining a match is performed in response to allocation of memory space for creation of a view hierarchy for use in generating a user interface display on the device display screen.

30. An article of manufacture to modify a view used by an application to generate a user interface element on a display screen of an electronic device, the article of manufacture comprising:

one or more non-transitory computer readable storage devices; and

program instructions stored on the one or more non-transitory computer readable storage devices that, when executed by the electronic device, direct the electronic device to at least:

receive view selector information that identifies a hierarchy of selector visual property constraints and associated selector structural property constraints, wherein the information structure represents a selector subview hierarchy comprising a plurality of views in a traversal path and indicates different subview relationships having particular ones of the selector visual property constraints and the selector structural property constraints corresponding to each of the views;

receive view modification information that indicates one or more modifications to be made to one or more of the views;

in the course of running the application on the electronic device, use the traversal path defined by the selector subview hierarchy to determine whether an application view hierarchy that is used by the application includes an application subview hierarchy that includes views that define a hierarchy of visual property constraints and associated structural property constraints that match the identified hierarchy of selector visual property constraints and associated selector structural property constraints in the view selector information; and

in response to determining a match, impart a modification indicated by the view modification information to one or more views of the matching application subview hierarchy.

31. The article of manufacture of claim 30 ,

wherein the selector structural property constraints indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints;

wherein one or more of the structural property constraints indicates order of the subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints; and

wherein one or more of the structural property constraints indicates a don't care relationship between a selector visual property constraint disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

32. The article of manufacture of claim 30 ,

wherein the selector structural property constraints include pointers that indicate subview relationships between selector visual property constraints disposed higher in the hierarchy of selector visual property constraints and selector visual property constraints disposed lower in the hierarchy of selector visual property constraints; and

wherein one or more of the structural property constraints that indicates a don't care, indicates multiple pointers that indicate multiple subview relationships between at least one selector visual property constraint, associated with the don't care structural property constraint and disposed higher in the hierarchy of selector visual property constraints, and multiple selector visual property constraints disposed lower in the hierarchy of selector visual property constraints.

Assignments (9)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 049917 FRAME 0896. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Aug 2, 2019
From: VENTURE LENDING & LEASING VIII, INC; VENTURE LENDING & LEASING VII, INC.
To: APPTIMIZE, INC.
Reel/Frame 050068/0706 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2019
From: VENTURE LENDING & LEASING VIII, INC.; VENTURE LENDING & LEASING VII, INC.
To: VENTURE LENDING & LEASING VII, INC.; VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 049917/0896 →
SECURITY INTEREST Recorded Aug 31, 2015
From: APPTIMIZE, INC.
To: VENTURE LENDING & LEASING VII, INC.; VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 036456/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2014
From: HOWETT, DUSTIN; KOPPEL, JAMES; ORLOW, JEREMY; HUA, NANCY
To: APPTIMIZE, INC.
Reel/Frame 033892/0430 →
Continuity (2)
Provisional Application 61929939 · Jan 21, 2014
Related Publication 20150205450A1 · Jul 23, 2015