IP Library Granted Patent US 11,199,939
Granted Patent B2
US 11,199,939 · App. 17/094,390 · Granted Dec 14, 2021

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); Joshua Calvin Teague (Marietta, GA)
Assignee: FullStory, Inc.
G06F3/0481G06F9/451G06F11/302G06F11/3438G06F11/3668G06F40/14
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,199,939
App. No.
17/094,390
Granted
Dec 14, 2021
Kind
B2
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 (77)

1. A method, comprising:

receiving, from a client device, a request for session information of a user session, wherein the user session includes user interactions with one or more user interfaces that were previously presented at a user device that differs from the client device;

in response to receiving the request for session information:

generating and providing, to the client device, a set of playback data that cause the client device to playback the user session that occurred at the user device, including presenting visual indications of user interactions with the one or more user interfaces and visual representations of changes to the one or more user interfaces caused by the user interactions;

generating and providing, to the client device, session activity data that cause the client device to present an activity list concurrently with the visual indications of the user interactions and visual representations of the changes to the one or more user interfaces, wherein the activity list is visually modified during the playback in a manner that visually indicates which set of activities in the activity list correspond to the visual indications of the user interactions and the visual representations of the changes to the one or more user interfaces being presented by the playback.

2. The method of claim 1 , comprising highlighting a portion of the activity list specifying a user interaction that corresponds to the visual representations of changes to the user interface being presented.

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

4. The method of claim 1 , comprising:

receiving 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, 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 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 an 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 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 session during which the particular user interaction occurred but a different specified user interaction did not occur.

8. The method of claim 1 , comprising:

creating the multidimensional index of user sessions, including:

receiving, for each particular user session among a plurality of different user sessions, a set of event data corresponding to a user interface structure (UI structure) of a user interface presented at a user device during the particular user session and mutation data specifying UI structure changes to the user interface that occurred at the user device during the particular user session; and

indexing the set of event data for each particular user session based on a version of the user interface that was presented during the particular user session.

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

10. A non-transitory computer readable medium storing instructions that when executed by one or more data processing apparatus cause the one or more data processing apparatus to perform operations comprising:

receiving, from a client device, a request for session information of a user session, wherein the user session includes user interactions with one or more user interfaces that were previously presented at a user device that differs from the client device;

in response to receiving the request for session information:

generating and providing, to the client device, a set of playback data that cause the client device to playback the user session that occurred at the user device, including presenting visual indications of user interactions with the one or more user interfaces and visual representations of changes to the one or more user interfaces caused by the user interactions;

generating and providing, to the client device, session activity data that cause the client device to present an activity list concurrently with the visual indications of the user interactions and visual representations of the changes to the one or more user interfaces, wherein the activity list is visually modified during the playback in a manner that visually indicates which set of activities in the activity list correspond to the visual indications of the user interactions and the visual representations of the changes to the one or more user interfaces being presented by the playback.

11. The non-transitory computer readable medium of claim 10 , wherein the instructions cause the one or more data processing apparatus to perform operations comprising highlighting a portion of the activity list specifying a user interaction that corresponds to the visual representations of changes to the user interface being presented.

12. The non-transitory computer readable medium of claim 11 , wherein the instructions cause the one or more data processing apparatus to perform operations comprising highlighting a different portion of the activity list specifying contextual information that corresponds to subsequent visual changes of the user interface that are presented as the user interface is presented based on mutation data.

13. The non-transitory computer readable medium of claim 10 , wherein the instructions cause the one or more data processing apparatus to perform operations comprising:

receiving 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, 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 non-transitory computer readable medium of claim 13 , wherein the instructions cause the one or more data processing apparatus to perform operations comprising:

presenting 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 an 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 non-transitory computer readable medium 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 a set of DOM nodes of the web page that provide information related to the particular activity.

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

17. The non-transitory computer readable medium of claim 10 , wherein the instructions cause the one or more data processing apparatus to perform operations comprising:

creating the multidimensional index of user sessions, including:

receiving, for each particular user session among a plurality of different user sessions, a set of event data corresponding to a user interface structure (UI structure) of a user interface presented at a user device during the particular user session and mutation data specifying UI structure changes to the user interface that occurred at the user device during the particular user session; and

indexing the set of event data for each particular user session based on a version of the user interface that was presented during the particular user session.

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

19. A system, comprising:

a data storage device; and

one or more processors that interact with the data storage device and execute instructions that cause the one or more processors to perform operations comprising:

receiving, from a client device, a request for session information of a user session, wherein the user session includes user interactions with one or more user interfaces that were previously presented at a user device that differs from the client device;

in response to receiving the request for session information:

generating and providing, to the client device, a set of playback data that cause the client device to playback the user session that occurred at the user device, including presenting visual indications of user interactions with the one or more user interfaces and visual representations of changes to the one or more user interfaces caused by the user interactions;

generating and providing, to the client device, session activity data that cause the client device to present an activity list concurrently with the visual indications of the user interactions and visual representations of the changes to the one or more user interfaces, wherein the activity list is visually modified during the playback in a manner that visually indicates which set of activities in the activity list correspond to the visual indications of the user interactions and the visual representations of the changes to the one or more user interfaces being presented by the playback.

20. The system of claim 19 , wherein the instructions cause the one or more processors to perform operations comprising highlighting a portion of the activity list specifying a user interaction that corresponds to the visual representations of changes to the user interface being presented.

21. The system of claim 20 , wherein the instructions cause the one or more processors to perform operations comprising highlighting a different portion of the activity list specifying contextual information that corresponds to subsequent visual changes of the user interface that are presented as the user interface is presented based on mutation data.

22. The system of claim 19 , wherein the instructions cause the one or more processors to perform operations comprising:

receiving 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, 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 system of claim 22 , wherein the instructions cause the one or more processors to perform operations comprising:

presenting 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 an 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 system 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 a set of DOM nodes of the web page that provide information related to the particular activity.

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

26. The system of claim 19 , wherein the instructions cause the one or more processors to perform operations comprising:

creating the multidimensional index of user sessions, including:

receiving, for each particular user session among a plurality of different user sessions, a set of event data corresponding to a user interface structure (UI structure) of a user interface presented at a user device during the particular user session and mutation data specifying UI structure changes to the user interface that occurred at the user device during the particular user session; and

indexing the set of event data for each particular user session based on a version of the user interface that was presented during the particular user session.

27. The system of claim 19 , wherein the user interface is a user interface of a native application.

Assignments (2)
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 Aug 3, 2021
From: WEBBER, JOEL GRAYSON; BRUBAKER, STEPHANIE JILL; JOHNSON, HOLLIS BRUCE, JR.; ROSE, IAN THOMAS; VOIGT, SCOTT MITCHELL; YAP, JAIME MICHAEL; TEAGUE, JOSHUA CALVIN
To: FULLSTORY, INC.
Reel/Frame 057140/0376 →
Continuity (5)
Continuation 16535799 · Aug 8, 2019
Continuation 15896887 · Feb 14, 2018
Continuation 15695951 · Sep 5, 2017
Continuation 14587481 · Dec 31, 2014
Related Publication 20210055836A1 · Feb 25, 2021