IP Library Granted Patent US 11,733,856
Granted Patent B2
US 11,733,856 · App. 17/099,548 · Granted Aug 22, 2023

Graphical user interface system

Inventors: Adam Storr (Palo Alto, CA); Aditya Dahiya (Brooklyn, NY); Andrew Elder (New York, NY); Daniel Cervelli (Mountain View, CA); Joseph Rafidi (Mountain View, CA); Matthew Bango (Redwood City, CA); Parvathy Menon (San Jose, CA); Roger Chen (Menlo Park, CA); Timothy Slatcher (Menlo Park, CA); Walker Burgin (Seattle, WA)
Assignee: Palantir Technologies Inc.
G06F3/0486G06F3/048G06F3/0481G06F9/451G06F2203/04803
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,733,856
App. No.
17/099,548
Granted
Aug 22, 2023
Kind
B2
Abstract

Systems and methods are provided for improved graphical user interfaces. The system enables multiple separate applications, each of which may typically be in their own separate window or tab, to be interacted within a single window, such as a tab of a web browser application. The main window includes smaller sub-windows that can correspond to a distinct application with its own graphical user interface. A large sub-window within the main window is opened for the primary application where the user is currently interacting with a graphical user interface of the primary application. The user then is able to switch between applications (all within the same main window) and applications that are no longer being used can be minimized in smaller sub-windows off to the side of the primary sub-window. The system enables a user to drag and drop an item from one sub-window to another sub-window. Some of the interactions between the windows and data transformations are stored and can be visually presented in a graph.

Claims (67)

1. A computer-implemented method comprising:

causing presentation, in a main window, of a first application in a first sub-window and a second application in a second sub-window, wherein presentation of the first sub-window and the second sub-window are within the main window;

receiving a drag and drop input indicating movement of a data resource from the first application in the first sub-window to the second application in the second sub-window, wherein the drag and drop input interaction causes a communication of the data resource from the first application to the second application;

in response to receiving the drag and drop input indicating the movement of the data resource from the first application to the second application, causing an updated presentation, in the main window, of the second application in the second sub-window as larger than the first application in the first sub-window;

storing a record of the drag and drop input that indicates the communication of the data resource from the first application to the second application;

generating a graph, wherein the graph represents a history of one or more user interactions associated with the main window, wherein generating the graph comprises:

determining, from the record of the drag and drop input, a first node corresponding to the first application and a second node corresponding to the second application; and

connecting the first node to the second node according to the record of the drag and drop input that indicates the communication of the data resource from the first application and to the second application; and

causing presentation, based on the record of the drag and drop input, of a visual representation of the graph that includes the first node as visually connected to the second node, wherein the first node as visually connected to the second node represents a user interaction between the first application and the second application and the communication of the data resource from the first application to the second application,

wherein the computer-implemented method is performed by one or more computer hardware processors.

2. The computer-implemented method of claim 1 , wherein prior to receiving the drag and drop input, presentation of the first application in the first sub-window is larger than the second application in the second sub-window.

3. The computer-implemented method of claim 1 , further comprising:

storing a plurality of records, wherein each record of the plurality of records indicates a user interaction within the main window.

4. The computer-implemented method of claim 3 , wherein generating the graph further comprises:

determining a plurality of nodes, wherein each node from the plurality of nodes corresponds to a record from the plurality of records, and wherein the graph comprises the plurality of nodes.

5. The computer-implemented method of claim 1 , wherein generating the graph further comprises:

determining a third node that represents at least one of a data resource, a data set, an item, a user interface, a transformation, a user interaction, or a third application; and

connecting the third node to the second node, wherein the visual representation of the graph further includes the third node as visually connected to the second node.

6. The computer-implemented method of claim 1 , wherein the graph comprises a directed graph.

7. A system comprising:

a non-transitory computer storage medium configured to at least store computer-executable instructions; and

one or more computer hardware processors in communication with the non-transitory computer storage medium, the one or more computer hardware processors configured to execute the computer-executable instructions to at least:

cause presentation, in a main window, of a first application in a first sub-window and a second application in a second sub-window, wherein presentation of the first sub-window and the second sub-window are within the main window;

receive a drag and drop input indicating movement of a data resource from the first application in the first sub-window to the second application in the second sub-window, wherein the drag and drop input causes a communication of the data resource from the first application to the second application;

in response to receiving the drag and drop input indicating the movement of the data resource from the first application to the second application, causing an updated presentation, in the main window, of the second application in the second sub-window as larger than the first application in the first sub-window;

store a record of the drag and drop input;

receive a request to present a historical view that indicates the communication of the data resource from the first application to the second application;

generate a graph, wherein the graph represents a history of one or more user interactions associated with the main window, wherein generating the graph comprises:

determining, from the record of the drag and drop input, a first node corresponding to the first application and a second node corresponding to the second application; and

connecting the first node to the second node according to the record of the drag and drop input that indicates the communication of the data resource from the first application to the second application; and

cause presentation, based on the record of the drag and drop input, of the historical view that includes a visual representation of the graph that includes the first node as visually connected to the second node, wherein the first node as visually connected to the second node represents a user interaction between the first application and the second application and the communication of the data resource from the first application to the second application.

8. The system of claim 7 , wherein the one or more computer hardware processors are further configured to execute additional computer-executable instructions to at least:

cause presentation, in the main window, of a new layout of the first sub-window and the second sub-window, wherein causing presentation of the new layout further comprises:

determining a first position of the first application in the first sub-window and a second position of the second application in the second sub-window; and

causing presentation, in the main window, of the first sub-window at the first position and the second sub-window at the second position.

9. The system of claim 7 , wherein the one or more computer hardware processors are further configured to execute additional computer-executable instructions to at least:

store a plurality of records, wherein each record of the plurality of records indicates a user interaction within the main window.

10. The system of claim 9 , wherein generating the graph further comprises:

determining a plurality of nodes, wherein each node from the plurality of nodes corresponds to a record from the plurality of records, and wherein the graph comprises the plurality of nodes.

11. The system of claim 7 , wherein the one or more computer hardware processors are further configured to execute additional computer-executable instructions to at least:

determine a third node that represents at least one of a data resource, a data set, an item, a user interface, a transformation, a user interaction, or a third application; and

connect the third node to the second node, wherein the visual representation of the graph further includes the third node as visually connected to the second node.

12. The system of claim 7 , wherein receiving the drag and drop input further comprises receiving a first message from the first application, wherein the first message comprises a data resource identifier associated with the drag and drop input interaction, and wherein the one or more computer hardware processors are further configured to execute additional computer-executable instructions to at least:

transmit a second message to the second application that causes the second application in the second sub-window to retrieve first data indicated by the data resource identifier.

13. The system of claim 7 , wherein the visual representation of (i) the first node in the graph further includes a first icon that corresponds to a first type of the first node and (ii) the second node in the graph further includes a second icon that corresponds to a second type of the second node.

14. A system comprising:

a non-transitory computer storage medium configured to at least store computer-executable instructions; and

one or more computer hardware processors in communication with the non-transitory computer storage medium, the one or more computer hardware processors configured to execute the computer-executable instructions to at least:

cause presentation, in a main window, of a first application in a first sub-window and a second application in a second sub-window, wherein presentation of the first sub-window and the second sub-window are within the main window;

receive a drag and drop input indicating movement of a data resource from the first application in the first sub-window to the second application in the second sub-window, wherein the drag and drop input causes a communication of the data resource from the first application to the second application;

in response to receiving the drag and drop input indicating the movement of the data resource from the first application to the second application, causing an updated presentation, in the main window, of the second application in the second sub-window as larger than the first application in the first sub-window;

store a record of the drag and drop input that indicates the communication of the data resource from the first application to the second application;

generate a graph, wherein the graph represents a history of one or more user interactions associated with the main window, wherein generating the graph comprises:

determining, from the record of the drag and drop input, a first node corresponding to the first application and a second node corresponding to the second application; and

connecting the first node to the second node according to the record of the drag and drop input that indicates the communication of the data resource from the first application to the second application; and

cause presentation, based on the record of the drag and drop input, of a visual representation of the graph that includes the first node as visually connected to the second node, wherein the first node as visually connected to the second node represents a user interaction between the first application and the second application and the communication of the data resource from the first application to the second application.

15. The system of claim 14 , wherein the one or more computer hardware processors are further configured to execute additional computer-executable instructions to at least:

store a plurality of records, wherein each record of the plurality of records indicates a user interaction within the main window.

16. The system of claim 15 , wherein generating the graph further comprises:

determining a plurality of nodes, wherein each node from the plurality of nodes corresponds to a record from the plurality of records, and wherein the graph comprises the plurality of nodes.

17. The system of claim 14 , wherein the one or more computer hardware processors are further configured to execute additional computer-executable instructions to at least:

determine a third node that represents at least one of a data resource, a data set, an item, a user interface, a transformation, a user interaction, or a third application; and

connect the third node to the second node, wherein the visual representation of the graph further includes the third node as visually connected to the second node.

18. The system of claim 14 , wherein receiving the drag and drop input further comprises receiving a first message from the first application, wherein the first message comprises a data resource identifier associated with the drag and drop input, and wherein the one or more computer hardware processors are further configured to execute additional computer-executable instructions to at least:

transmit a second message to the second application that causes the second application in the second sub-window to retrieve first data indicated by the data resource identifier.

19. The system of claim 14 , wherein the visual representation of (i) the first node in the graph further includes a first icon that corresponds to a first type of the first node and (ii) the second node in the graph further includes a second icon that corresponds to a second type of the second node.

20. The system of claim 14 , wherein the graph comprises a directed graph, wherein each node in the directed graph is connected with another node in the directed graph by an edge, wherein each edge in the directed graph has a direction, and wherein each direction of a respective edge indicates a flow of data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2023
From: STORR, ADAM; DAHIYA, ADITYA; ELDER, ANDREW; CERVELLI, DANIEL; RAFIDI, JOSEPH; BANGO, MATTHEW; MENON, PARVATHY; CHEN, ROGER; SLATCHER, TIMOTHY; BURGIN, WALKER
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 064064/0398 →
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
Continuity (3)
Continuation 16246370 · Jan 11, 2019
Provisional Application 62652212 · Apr 3, 2018
Related Publication 20210089181A1 · Mar 25, 2021
Cited By (1)
US 12,417,011