IP Library › Granted Patent US 11,232,159
Granted Patent B1
US 11,232,159 · App. 16/166,019 · Granted Jan 25, 2022

Data visualization user interface with seamless online and offline user interaction

Inventors: Michael Mathews (Issaquah, WA); Ryan Whitney (Seattle, WA)
Assignee: TABLEAU SOFTWARE, INC.
G06F16/904G06F16/9035G06F16/9574G06F40/117
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,232,159
App. No.
16/166,019
Filed
Oct 19, 2018
Granted
Jan 25, 2022
Kind
B1
Examiner
LE, MIRANDA
Art Unit
2153
USPC
707/805
Abstract

A method implements data visualization offline interaction. A user requests a data visualization, and sends the request to a server. The method receives a data model needed to render the data visualization and a data visualization library. The method stores the data model and data visualization library in memory. The method generates the data visualization based on the data model using the data visualization library, and displays the data visualization in a data visualization interface. A user manipulates the data visualization. If there is no connectivity with the server, indicating offline mode, and the user input corresponds to functionality that is available in the offline mode, the method retrieves the stored data model and data visualization library and generates an updated data visualization based on the data model using the visualization library. The updated data visualization is displayed in the data visualization interface.

Claims (79)

1. A method of data visualization offline interaction, comprising:

at a computer having a display, one or more processors, and memory storing one or more programs configured for execution by the one or more processors:

sending, to a server, a request for a data visualization previously used by a user, wherein the data visualizations is based on a dataset retrieved from a database using a first set of one or more queries;

receiving a visualization payload from the server, wherein the visualization payload includes (i) a data model representing the data set retrieved from the database, including data aggregated at a level of detail corresponding to dimension data fields used by the data visualization and (ii) a data visualization library corresponding to the data model, wherein the data visualization library is executable software for rendering data visualizations;

storing the visualization payload in the memory using a caching mechanism;

receiving a request from the user for the data visualization;

in accordance with a determination that the computer has no connectivity with the server:

retrieving the stored data model and data visualization library;

generating and displaying the data visualization based on the data model using the data visualization library;

disabling, on the display, one or more executable user interface affordances for the data visualization, wherein each disabled executable user interface affordance corresponds to a respective feature that is unavailable because it requires retrieval of data not stored in the stored data model;

detecting user input corresponding to a user interface affordance for a first feature manipulating the data visualization;

in accordance with a determination that the first feature requires retrieval of data not stored in the stored data model, displaying a tooltip for the user interface affordance, that the first feature is unavailable; and

in accordance with a determination that the first feature does not require retrieval of data not stored in the stored data model:

retrieving the stored data model and data visualization library;

generating an updated data visualization according to the user input, the data model, and the visualization library; and

displaying the updated data visualization.

2. The method of claim 1 , wherein the data model contains only the data necessary to show a set of active data marks.

3. The method of claim 1 , wherein the data in the data model is sorted and/or filtered.

4. The method of claim 1 , further comprising:

detecting user input that designates the data visualization as a favorite;

determining whether the computer has connectivity with the server; and

in accordance with a determination that the computer has connectivity with the server, at a predefined time interval:

sending a request, to the server, for an updated data model corresponding to the data visualization; and

storing the updated data model in the memory.

5. The method of claim 1 , wherein the data model includes a timestamp of when the data model was created, the method further comprising:

determining whether the computer has connectivity with the server; and

in accordance with a determination that the computer has no connectivity with the server, updating the data visualization user interface to indicate the timestamp for the data model.

6. The method of claim 1 , further comprising:

determining whether the computer has connectivity with the server; and

in accordance with a determination that the computer has connectivity with the server, at a predefined time interval:

sending a request, to the server, for an updated data visualization library; and

storing the updating data visualization library in the memory.

7. The method of claim 1 , wherein the first feature includes one or more of highlighting, brushing, scrolling, and displaying tooltip information about data marks.

8. The method of claim 1 , further comprising:

determining whether the detected user input corresponds to functionality that is only partially available when the computer has no connectivity with the server; and

in accordance with a determination that the functionality is only partially available, retrieving the stored data model and data visualization library;

wherein generating the updated data visualization is according to the functionality that is available.

9. The method of claim 1 , further comprising:

determining whether the computer has connectivity with the server; and

in accordance with a determination that the computer has connectivity with the server:

sending a request, to the server, for an updated visualization payload for functionality that is available only when the computer has connectivity with the server; and

receiving an updated visualization payload from the server.

10. The method of claim 9 , further comprising storing the updated visualization payload in memory.

11. The method of claim 1 , further comprising allowing the user to select, in the data visualization user interface, the functionality that is unavailable but, when the functionality is selected, showing an explanatory popup indicating that the functionality is unavailable.

12. The method of claim 1 , wherein the data visualization library is configured to determine whether the computer has connectivity with the server, and implements functionality in offline mode and online mode so that the offline mode is executed when the server is offline and the online mode is executed when the server is online.

13. A system for data visualization offline interaction, comprising:

a display;

one or more processors;

memory; and

one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs comprising instructions for:

sending, to a server, a request for a data visualization previously used by a user, wherein the data visualizations is based on a dataset retrieved from a database using a first set of one or more queries;

receiving a visualization payload from the server, wherein the visualization payload includes (i) a data model representing the data set retrieved from the database, including data aggregated at a level of detail corresponding to dimension data fields used by the data visualization and (ii) a data visualization library corresponding to the data model, wherein the data visualization library is executable software for rendering data visualizations;

storing the visualization payload in the memory using a caching mechanism;

receiving a request from the user for the data visualization;

in accordance with a determination that the computer has no connectivity with the server:

retrieving the stored data model and data visualization library;

generating and displaying the data visualization based on the data model using the data visualization library;

disabling, on the display, one or more executable user interface affordances for the data visualization, wherein each disabled executable user interface affordance corresponds to a respective feature that is unavailable because it requires retrieval of data not stored in the stored data model;

detecting user input corresponding to a user interface affordance for a first feature manipulating the data visualization;

in accordance with a determination that the first feature requires retrieval of data not stored in the stored data model, displaying a tooltip for the user interface affordance, that the first feature is unavailable; and

in accordance with a determination that the first feature does not require retrieval of data not stored in the stored data model:

retrieving the stored data model and data visualization library;

generating an updated data visualization according to the user input, the data model, and the visualization library; and

displaying the updated data visualization.

14. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer system having a display, one or more processors and memory, the one or more programs comprising instructions for:

sending, to a server, a request for a data visualization previously used by a user, wherein the data visualizations is based on a dataset retrieved from a database using a first set of one or more queries;

receiving a visualization payload from the server, wherein the visualization payload includes (i) a data model representing the data set retrieved from the database, including data aggregated at a level of detail corresponding to dimension data fields used by the data visualization and (ii) a data visualization library corresponding to the data model, wherein the data visualization library is executable software for rendering data visualizations;

storing the visualization payload in the memory using a caching mechanism;

receiving a request from the user for the data visualization;

in accordance with a determination that the computer has no connectivity with the server:

retrieving the stored data model and data visualization library;

generating and displaying the data visualization based on the data model using the data visualization library;

disabling, on the display, one or more executable user interface affordances for the data visualization, wherein each disabled executable user interface affordance corresponds to a respective feature that is unavailable because it requires retrieval of data not stored in the stored data model;

detecting user input corresponding to a user interface affordance for a first feature manipulating the data visualization;

in accordance with a determination that the first feature requires retrieval of data not stored in the stored data model, displaying a tooltip for the user interface affordance, that the first feature is unavailable; and

in accordance with a determination that the first feature does not require retrieval of data not stored in the stored data model:

retrieving the stored data model and data visualization library;

generating an updated data visualization according to the user input, the data model, and the visualization library; and

displaying the updated data visualization.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2019
From: MATHEWS, MICHAEL; WHITNEY, RYAN
To: TABLEAU SOFTWARE, INC.
Reel/Frame 048524/0303 →
Cited By (2)
US 12,326,912 US 12,681,918