IP Library Granted Patent US 9,927,947
Granted Patent B1
US 9,927,947 · App. 15/695,951 · Granted Mar 27, 2018

Evaluation of interactions with a user interface

Inventors: Joel Grayson Webber (Decatur, GA); Stephanie Jill Brubaker (Marietta, GA); Hollis Bruce Johnson, Jr. (Atlanta, GA); Ian Thomas Rose (Decatur, GA); Scott Mitchell Voigt (Atlanta, GA); Jaime Michael Yap (Atlanta, GA)
Assignee: FullStory, Inc.
G06F3/0481G06F17/2247
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 9,927,947
App. No.
15/695,951
Granted
Mar 27, 2018
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for evaluating interactions with a user interface are disclosed. In one aspect, a method includes identifying a set of mutation events specifying changes to the structure of a user interface that occurred during the user session, and generating user interface states specifying different structures of the user interface throughout the given user session. Based at least in part on the user interface states, playback data that present visual changes of the user interface corresponding to the set of mutation events that occurred during the user session are generated. Session activity data describing user interactions that occurred during the user session are also generated. At least a portion of the playback data and the session activity data are output to a requesting device.

Claims (71)

1. A method, comprising:

receiving, by one or more data processing apparatus, a set of event data corresponding to (i) a first user interface structure (UI structure) of a user interface presented at a client device and (ii) mutation data specifying UI structure changes to the user interface that occurred at the client device during a user session;

receiving, from a publisher device that differs from the client device, a request for session information of a user session that included the presentation of the user interface at the client device;

in response to the request for the session information:

generating and providing, to the publisher device, playback data that cause the publisher device to present (i) a first visual representation of the user interface as presented at the client device according to the first UI structure, (ii) visual changes to the user interface that occurred during the user session according to the mutation data, and visual indications of user interactions with the user interface that occurred during the user session; and

generating and providing, to the publisher device, session activity data that cause the publisher device to present an activity list concurrently with the visual changes to the user interface and visually indicate which activity in the activity list corresponds to the visual changes being presented by the publisher device.

2. The method of claim 1 , comprising highlighting a portion of the activity list specifying a user interaction that corresponds to the visual changes to the user interface being presented at the publisher device based on the playback data.

3. The method of claim 2 , comprising highlighting a different portion of the activity list specifying contextual information that corresponds to subsequent visual changes to the user interface that are being presented at the publisher device as the visual changes to the user interface are presented according to the mutation data.

4. The method of claim 1 , comprising:

receiving, from the publisher device, a query requesting sessions during which a particular user interaction with a particular user interface element occurred during various different user sessions;

identifying, from an index of user sessions, a set of user sessions during which the particular user interaction with the particular user interface element occurred;

presenting, at the publisher device and based on the identified set of user sessions, a list of user sessions during which the particular user interaction with the particular user interface element occurred.

5. The method of claim 4 , comprising:

presenting, at the publisher device, visual representations of different states of a particular user interface that was accessed during a particular user session from the list of user sessions;

while the visual representations are being presented, detecting interaction with a particular activity from the activity list that is presented concurrently with the visual representations;

presenting, in response to the interaction with the particular activity, additional contextual information that is not presented in the activity list prior to the interaction with the particular activity, wherein the additional contextual information is presented concurrently with the visual representations of the different states of the particular user interface.

6. The method of claim 5 , wherein:

the user interface is a web page;

the UI structure is a document object model; and

presenting additional contextual information comprises presenting information from a set of DOM nodes of the web page that provide information related to the particular activity.

7. The method of claim 4 , wherein receiving the query comprises receiving a request for a session during which the particular user interaction occurred but a different specified user interaction did not occur.

8. The method of claim 1 , wherein the user interface is a user interface of a native application.

9. The method of claim 1 , wherein the user interaction is one of mouse movements, user clicks, mouse hovers, highlights, text inputs, user tap, user swipe, or user pinch.

10. A system, comprising:

a data store; and

one or more computers that interact with the data store and execute instructions that cause the one or more computers to perform operations comprising:

receiving a set of event data corresponding to (i) a first user interface structure (UI structure) of a user interface presented at a client device and (ii) mutation data specifying UI structure changes to the user interface that occurred at the client device during a user session;

receiving, from a publisher device that differs from the client device, a request for session information of a user session that included the presentation of the user interface at the client device;

in response to the request for the session information:

generating and providing, to the publisher device, playback data that cause the publisher device to present (i) a first visual representation of the user interface as presented at the client device according to the first UI structure, (ii) visual changes to the user interface that occurred during the user session according to the mutation data, and visual indications of user interactions with the user interface that occurred during the user session; and

generating and providing, to the publisher device, session activity data that cause the publisher device to present an activity list concurrently with the visual changes to the user interface and visually indicate which activity in the activity list corresponds to the visual changes being presented by the publisher device.

11. The system of claim 10 , wherein the instructions cause the one or more computers to perform operations comprising highlighting a portion of the activity list specifying a user interaction that corresponds to the visual changes to the user interface being presented at the publisher device based on the playback data.

12. The system of claim 11 , wherein the instructions cause the one or more computers to perform operations comprising highlighting a different portion of the activity list specifying contextual information that corresponds to subsequent visual changes to the user interface that are being presented at the publisher device as the visual changes to the user interface are presented according to the mutation data.

13. The system of claim 10 , wherein the instructions cause the one or more computers to perform operations comprising:

receiving, from the publisher device, a query requesting sessions during which a particular user interaction with a particular user interface element occurred during various different user sessions;

identifying, from an index of user sessions, a set of user sessions during which the particular user interaction with the particular user interface element occurred;

presenting, at the publisher device and based on the identified set of user sessions, a list of user sessions during which the particular user interaction with the particular user interface element occurred.

14. The system of claim 13 , wherein the instructions cause the one or more computers to perform operations comprising:

presenting, at the publisher device, visual representations of different states of a particular user interface that was accessed during a particular user session from the list of user sessions;

while the visual representations are being presented, detecting interaction with a particular activity from the activity list that is presented concurrently with the visual representations;

presenting, in response to the interaction with the particular activity, additional contextual information that is not presented in the activity list prior to the interaction with the particular activity, wherein the additional contextual information is presented concurrently with the visual representations of the different states of the particular user interface.

15. The system of claim 14 , wherein:

the user interface is a web page;

the UI structure is a document object model; and

presenting additional contextual information comprises presenting information from a set of DOM nodes of the web page that provide information related to the particular activity.

16. The system of claim 13 , wherein receiving the query comprises receiving a request for a session during which the particular user interaction occurred but a different specified user interaction did not occur.

17. The system of claim 10 , wherein the user interface is a user interface of a native application.

18. The system of claim 10 , wherein the user interaction is one of mouse movements, user clicks, mouse hovers, highlights, text inputs, user tap, user swipe, or user pinch.

19. A non-transitory computer readable medium storing instructions that upon execution by one or more computers cause the one or more computers to perform operations comprising:

receiving a set of event data corresponding to (i) a first user interface structure (UI structure) of a user interface presented at a client device and (ii) mutation data specifying UI structure changes to the user interface that occurred at the client device during a user session;

receiving, from a publisher device that differs from the client device, a request for session information of a user session that included the presentation of the user interface at the client device;

in response to the request for the session information:

generating and providing, to the publisher device, playback data that cause the publisher device to present (i) a first visual representation of the user interface as presented at the client device according to the first UI structure, (ii) visual changes to the user interface that occurred during the user session according to the mutation data, and visual indications of user interactions with the user interface that occurred during the user session; and

generating and providing, to the publisher device, session activity data that cause the publisher device to present an activity list concurrently with the visual changes to the user interface and visually indicate which activity in the activity list corresponds to the visual changes being presented by the publisher device.

20. The non-transitory computer readable medium of claim 19 , wherein the instructions cause the one or more computers to perform operations comprising highlighting a portion of the activity list specifying a user interaction that corresponds to the visual changes to the user interface being presented at the publisher device based on the playback data.

21. The non-transitory computer readable medium of claim 20 , wherein the instructions cause the one or more computers to perform operations comprising highlighting a different portion of the activity list specifying contextual information that corresponds to subsequent visual changes to the user interface that are being presented at the publisher device as the visual changes to the user interface are presented according to the mutation data.

22. The non-transitory computer readable medium of claim 19 , wherein the instructions cause the one or more computers to perform operations comprising:

receiving, from the publisher device, a query requesting sessions during which a particular user interaction with a particular user interface element occurred during various different user sessions;

identifying, from an index of user sessions, a set of user sessions during which the particular user interaction with the particular user interface element occurred;

presenting, at the publisher device and based on the identified set of user sessions, a list of user sessions during which the particular user interaction with the particular user interface element occurred.

23. The non-transitory computer readable medium of claim 22 , wherein the instructions cause the one or more computers to perform operations comprising:

presenting, at the publisher device, visual representations of different states of a particular user interface that was accessed during a particular user session from the list of user sessions;

while the visual representations are being presented, detecting interaction with a particular activity from the activity list that is presented concurrently with the visual representations;

presenting, in response to the interaction with the particular activity, additional contextual information that is not presented in the activity list prior to the interaction with the particular activity, wherein the additional contextual information is presented concurrently with the visual representations of the different states of the particular user interface.

24. The non-transitory computer readable medium of claim 23 , wherein:

the user interface is a web page;

the UI structure is a document object model; and

presenting additional contextual information comprises presenting information from a set of DOM nodes of the web page that provide information related to the particular activity.

25. The non-transitory computer readable medium of claim 22 , wherein receiving the query comprises receiving a request for a session during which the particular user interaction occurred but a different specified user interaction did not occur.

26. The non-transitory computer readable medium of claim 19 , wherein the user interface is a user interface of a native application.

27. The non-transitory computer readable medium of claim 19 , wherein the user interaction is one of mouse movements, user clicks, mouse hovers, highlights, text inputs, user tap, user swipe, or user pinch.

Assignments (3)
SECURITY INTEREST Recorded Jun 14, 2022
From: FULLSTORY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 060383/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2019
From: TEAGUE, JOSHUA CALVIN
To: FULLSTORY, INC.
Reel/Frame 050863/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2017
From: WEBBER, JOEL GRAYSON; BRUBAKER, STEPHANIE JILL; JOHNSON, HOLLIS BRUCE, JR.; ROSE, IAN THOMAS; VOIGT, SCOTT MITCHELL; YAP, JAIME MICHAEL
To: FULLSTORY, INC.
Reel/Frame 043776/0612 →
Continuity (1)
Continuation 14587481 · Dec 31, 2014