IP Library Granted Patent US 12,282,767
Granted Patent B2
US 12,282,767 · App. 17/900,210 · Granted Apr 22, 2025

Software tool integration

Inventors: Paul Rosania (San Francisco, CA); Wayne Fan (San Francisco, CA); Nicole Zeng (Palm Springs, CA)
Assignee: Formagrid Inc
G06F8/77
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 12,282,767
App. No.
17/900,210
Granted
Apr 22, 2025
Kind
B2
Abstract

Techniques are described herein for implementing and using a project management interface software tool configured to integrate and bind together multiple additional software tools and provide a single engagement layer. In various examples, the project management interface may provide users (e.g., individual contributors such as designers, developers, project managers, etc.) with alignment and focus, by serving as a single source of updated and accurate project data across all of the multiple underlying tools. The project management interface also may improve user functionality and leverage by providing deep integrations and cross-tool interoperability. The project management interface described herein also may improve ergonomics by providing a consistent and uniform user experience, and building on the backend technologies of the underlying tools rather than replacing those tools.

Claims (97)

1. A method comprising:

receiving a first data object of a first object type, from a first software tool, based on a least in part on a user identifier or project identifier;

receiving a second data object of a second object type from a second software tool, based on a least in part on a user identifier or project identifier, wherein the second software tool is different from the first software tool and the second object type is different from the first object type;

generating a first task component object based at least in part on the first data object;

generating a second task component object based at least in part on the second data object; and

generating and presenting a user interface view comprising a uniform object listing, the uniform object listing including the first task component object and the second task component object.

2. The method of claim 1 , wherein generating and presenting a user interface view comprises:

determining a first time associated with the first data object, based on the first software tool;

determining a second time associated with the second data object, based on the second software tool; and

ordering the first task component object and the second task component object within the uniform object listing, based at least in part on the first time and the second time.

3. The method of claim 1 , further comprising:

receiving a selection of the first task component object, via the user interface view;

receiving updated data associated with the first task component object; and

transmitting the updated data to the first software tool.

4. The method of claim 3 , wherein transmitting the updated data to the first software tool comprises:

generating and storing a pending update data object corresponding to the updated data;

determining an updated uniform object listing, based at least in part on the first data object received from the first software tool, and the pending update data object;

updating the uniform object listing within the user interface view, based on at least in part on the updated uniform object listing;

determining a transmission time associated with transmitting the updated data to the first software tool; and

transmitting the updated data to the first software tool at the transmission time, wherein the transmitting is performed after updating the uniform object listing.

5. The method of claim 1 , further comprising:

receiving a first field from the first data object;

receiving a second field from the second data object;

determining an association between the first data object and the second data object, based at least in part on the first field and the second field; and

updating the uniform object listing within the user interface view, based at least in part on determining the association between the first data object and the second data object.

6. The method of claim 1 , further comprising:

receiving, via the user interface view, a selection and/or a hover action associated with the first task component object;

determining a user option associated with the first task component object, based at least in part on the first software tool; and

updating the user interface view to present the user option associated with the first task component object.

7. The method of claim 1 , further comprising:

predicting a user selection of a second task component object within the uniform object listing;

initiating a synchronization of a second data object, from the second software tool, based at least in part on predicting the user selection of the second task component object; and

updating the user interface view after the synchronization of the second data object.

8. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

receiving a first data object of a first object type, from a first software tool, based on a least in part on a user identifier or project identifier;

receiving a second data object of a second object type from a second software tool, based on a least in part on a user identifier or project identifier, wherein the second software tool is different from the first software tool and the second object type is different from the first object type;

generating a first task component object based at least in part on the first data object;

generating a second task component object based at least in part on the second data object; and

generating and presenting a user interface view comprising a uniform object listing, the uniform object listing including the first task component object and the second task component object.

9. The system of claim 8 , wherein generating and presenting a user interface view comprises:

determining a first time associated with the first data object, based on the first software tool;

determining a second time associated with the second data object, based on the second software tool; and

ordering the first task component object and the second task component object within the uniform object listing, based at least in part on the first time and the second time.

10. The system of claim 8 , the operations further comprising:

receiving a selection of the first task component object, via the user interface view;

receiving updated data associated with the first task component object; and

transmitting the updated data to the first software tool.

11. The system of claim 10 , wherein transmitting the updated data to the first software tool comprises:

generating and storing a pending update data object corresponding to the updated data;

determining an updated uniform object listing, based at least in part on the first data object received from the first software tool, and the pending update data object;

updating the uniform object listing within the user interface view, based on at least in part on the updated uniform object listing;

determining a transmission time associated with transmitting the updated data to the first software tool; and

transmitting the updated data to the first software tool at the transmission time, wherein the transmitting is performed after updating the uniform object listing.

12. The system of claim 8 , the operations further comprising:

receiving a first field from the first data object;

receiving a second field from the second data object;

determining an association between the first data object and the second data object, based at least in part on the first field and the second field; and

updating the uniform object listing within the user interface view, based at least in part on determining the association between the first data object and the second data object.

13. The system of claim 8 , the operations further comprising:

receiving, via the user interface view, a selection and/or a hover action associated with the first task component object;

determining a user option associated with the first task component object, based at least in part on the first software tool; and

updating the user interface view to present the user option associated with the first task component object.

14. The system of claim 8 , the operations further comprising:

predicting a user selection of a second task component object within the uniform object listing;

initiating a synchronization of a second data object, from the second software tool, based at least in part on predicting the user selection of the second task component object; and

updating the user interface view after the synchronization of the second data object.

15. One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations comprising:

receiving a first data object of a first object type, from a first software tool, based on a least in part on a user identifier or project identifier;

receiving a second data object of a second object type from a second software tool, based on a least in part on a user identifier or project identifier, wherein the second software tool is different from the first software tool and the second object type is different from the first object type;

generating a first task component object based at least in part on the first data object;

generating a second task component object based at least in part on the second data object; and

generating and presenting a user interface view comprising a uniform object listing, the uniform object listing including the first task component object and the second task component object.

16. The non-transitory computer-readable media of claim 15 , wherein generating and presenting a user interface view comprises:

determining a first time associated with the first data object, based on the first software tool;

determining a second time associated with the second data object, based on the second software tool; and

ordering the first task component object and the second task component object within the uniform object listing, based at least in part on the first time and the second time.

17. The non-transitory computer-readable media of claim 15 , the operations further comprising:

receiving a selection of the first task component object, via the user interface view;

receiving updated data associated with the first task component object; and

transmitting the updated data to the first software tool.

18. The non-transitory computer-readable media of claim 17 , wherein transmitting the updated data to the first software tool comprises:

generating and storing a pending update data object corresponding to the updated data;

determining an updated uniform object listing, based at least in part on the first data object received from the first software tool, and the pending update data object;

updating the uniform object listing within the user interface view, based on at least in part on the updated uniform object listing;

determining a transmission time associated with transmitting the updated data to the first software tool; and

transmitting the updated data to the first software tool at the transmission time, wherein the transmitting is performed after updating the uniform object listing.

19. The non-transitory computer-readable media of claim 15 , the operations further comprising:

receiving a first field from the first data object;

receiving a second field from the second data object;

determining an association between the first data object and the second data object, based at least in part on the first field and the second field; and

updating the uniform object listing within the user interface view, based at least in part on determining the association between the first data object and the second data object.

20. The non-transitory computer-readable media of claim 15 , the operations further comprising:

receiving, via the user interface view, a selection and/or a hover action associated with the first task component object;

determining a user option associated with the first task component object, based at least in part on the first software tool; and

updating the user interface view to present the user option associated with the first task component object.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: ROSANIA, PAUL; FAN, WAYNE; ZENG, NICOLE
To: FORMAGRID INC.
Reel/Frame 066144/0654 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2024
From: ROSANIA, PAUL; FAN, WAYNE; ZENG, NICOLE
To: FANCY CODENAME, INC.
Reel/Frame 066139/0017 →
CHANGE OF NAME Recorded Jan 16, 2024
From: FANCY CODENAME, INC.
To: BALSA, INC.
Reel/Frame 066338/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2024
From: BALSA, INC.
To: FORMAGRID INC
Reel/Frame 066037/0291 →
Continuity (2)
Provisional Application 63239095 · Aug 31, 2021
Related Publication 20230069374A1 · Mar 2, 2023
References Cited (5)
US 8429597B2 · Prigge · 2013 [cited by examiner]
US 9727376B1 · Bills · 2017 [cited by examiner]
US 11288608B2 · Jafari · 2022 [cited by examiner]
US 11880342B2 · Seward · 2024 [cited by examiner]
US 20220405094A1 · Farquhar · 2022 [cited by examiner]