IP Library Granted Patent US 12,039,153
Granted Patent B2
US 12,039,153 · App. 17/351,971 · Granted Jul 16, 2024

Composition of a user interface through data binding

Inventors: Anthony Gentilcore (San Francisco, CA); Steffen Meschkat (Menlo Park, CA); Kishore Simbili (Sunnyvale, CA); Etienne Membrives (Paris, FR)
Assignee: GOOGLE LLC
G06F3/04842G06F3/0481G06F9/451
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,039,153
App. No.
17/351,971
Granted
Jul 16, 2024
Kind
B2
Abstract

The technology relates to integrating applications into a single user interface. One or more computing devices may display a user interface including associated data corresponding to a first application and generate a request for supplemental data. A second application which can satisfy the request for supplemental data may be identified by the one or more computing devices, and the one or more computing devices may generate and display a notification indicating that the second application can provide the requested supplemental data. A selection of the notification may be received by the one or more computing devices and a second user interface corresponding to the second application may be integrated into the user interface, wherein the second user interface displays the requested supplemental data.

Claims (66)

1. A method implemented by one or more processors, the method comprising:

receiving, from a first application, a declaration indicating that supplemental data can be accommodated by the first application;

extracting data identifiers and display identifiers from the declaration received from the first application, data identifiers and display identifiers, wherein each of the data identifiers, extracted from the declaration received from the first application, indicates a corresponding type of supplemental data that can be accommodated by the first application, and each of the display identifiers indicates a corresponding type of user interface that can be accommodated by the first application;

determining, based on the type of supplemental data corresponding to the extracted data identifiers and the type of user interface that can be accommodated by the first application corresponding to the extracted display identifiers, that a second application, of the plurality of applications available on the computing device that can provide the supplemental data, can satisfy the declaration received from the first application;

in response to identifying determining that the second application can satisfy the declaration received from the first application:

causing a user interface to be rendered, in the first application, that includes a first interface portion for the first application and a notification portion that includes a notification indicating that supplemental data is available from the second application;

receiving an affirmative selection of the notification; and

in response to receiving the affirmative selection of the notification:

causing the user interface to be updated to display the first interface portion and at least a portion of the supplemental data, of the second application, in a second interface portion of the user interface rendered in the first application, wherein the second interface portion is of a type corresponding to one of the display identifiers, and wherein causing the user interface to be updated includes causing the second interface portion to be rendered in the user interface in lieu of rendering the notification portion.

2. The method of claim 1 , further comprising:

receiving, from the first application, a second declaration indicating that second supplemental data can be accommodated by the first application;

extracting second data identifiers and second display identifiers from the second declaration;

identifying, based on the second extracted data identifiers and second display identifiers, a third application that can provide the second supplemental data; and

in response to identifying the third application:

causing the user interface to be updated to include a second notification portion indicating that the second supplemental data is available from the third application.

3. The method of claim 2 , further comprising:

receiving a selection of the second notification; and

causing the user interface to be updated to display, based on the second display identifiers, at least a portion of the second supplemental data in a third interface portion corresponding to the third application, wherein the third interface portion is a type corresponding to one of the display identifiers.

4. The method of claim 1 , wherein at least a portion of the supplemental data is not available directly to the first application.

5. The method of claim 1 , further comprising:

monitoring each of a plurality of applications, including the first application, for any corresponding declaration,

wherein receiving the declaration occurs during the monitoring.

6. The method of claim 1 , wherein identifying the second application includes:

generating a request for the supplemental data based on the data identifiers and the display identifiers;

submitting the request to the second application; and

receiving, in response to submitting the request, a confirmation that the second application can satisfy the request.

7. A device comprising:

one or more Wi-Fi network interfaces;

one or more processors; and

memory storing instructions that, when executed, cause one or more of the processors to:

receive, from a first application, a declaration indicating that supplemental data can be accommodated by the first application;

extract from the declaration received from the first application, data identifiers and display identifiers, wherein each of the data identifiers, extracted from the declaration received from the first application, indicates a corresponding type of supplemental data that can be accommodated by the first application, and each of the display identifiers indicates a corresponding type of user interface that can be accommodated by the first application;

determine, based on the type of supplemental data corresponding to the extracted data identifiers and the type of user interface that can be accommodated by the first application corresponding to the extracted display identifiers, a second application, of the plurality of applications available on the computing device, can satisfy the declaration received from the first application;

in response to determining that the second application can satisfy the declaration received from the first application:

cause a user interface to be rendered, in the first application, that includes a first interface portion for the first application and a notification portion that includes a notification indicating that supplemental data is available from the second application;

receive an affirmative selection of the notification; and

in response to receiving the affirmative selection of the notification:

cause the user interface to be updated to display the first interface portion and at least a portion of the supplemental data, of the second application, in a second interface portion of the user interface rendered in the first application, wherein the second interface portion is of a type corresponding to one of the display identifiers, and wherein causing the user interface to be updated includes causing the second interface portion to be rendered in the user interface in lieu of rendering the notification portion.

8. The device of claim 7 , wherein the instructions further cause the one or more processors to:

receive, from the first application, a second declaration indicating that second supplemental data can be accommodated by the first application;

extract second data identifiers and second display identifiers from the second declaration;

identify, based on the second extracted data identifiers and second display identifiers, a third application that can provide the second supplemental data; and

in response to identifying the third application:

cause the user interface to be updated to include a second notification portion indicating that the second supplemental data is available from the third application.

9. The device of claim 8 , wherein the instructions further cause the one or more processors to:

receive a selection of the second notification; and

cause the user interface to be updated to display, based on the second display identifiers, at least a portion of the second supplemental data in a third interface portion corresponding to the third application, wherein the third interface portion is a type corresponding to one of the display identifiers.

10. The device of claim 7 , wherein at least a portion of the supplemental data is not available directly to the first application.

11. The device of claim 7 , wherein the instructions further cause the processors to:

monitor each of a plurality of applications, including the first application, for any corresponding declaration, wherein receiving the declaration occurs during the monitoring.

12. The method of claim 7 , wherein identifying the second application causes the one or more processors to:

generate a request for the supplemental data based on the data identifiers and the display identifiers;

submit the request to the second application; and

receive, in response to submitting the request, a confirmation that the second application can satisfy the request.

13. A method implemented by one or more processors, the method comprising:

monitoring a plurality of applications to determine whether one or more of the applications can accommodate supplemental data;

receiving, from a first application of the plurality of applications, a request for supplemental data;

extracting from the request received from the first application, data identifiers and display identifiers, wherein each of the data identifiers, extracted from the request received from the first application, indicates a type of supplemental data that can be accommodated by the first application, and each of the display identifiers indicates a corresponding type of user interface that can be accommodated by the first application;

determining, based on the type of supplemental data corresponding to the extracted data identifiers and the type of user interface that can be accommodated by the first application corresponding to the extracted display identifiers, that a second application, of the plurality of applications, can satisfy the request received from the first application;

in response to determining that the second application can satisfy the request received from the first application:

causing the user interface to be updated to display at least a portion of the supplemental data, of the second application, in a second interface portion of the user interface, wherein the second interface portion is of a type indicated by one of the display identifiers, and wherein causing the user interface to be updated includes causing the second interface portion to be rendered in the user interface in lieu of rendering, in the user interface, of a notification indicating that the second application can provide supplemental information.

14. The method of claim 13 , further comprising:

providing the notification, via the user interface, indicating that the second application can provide supplemental information; and

receiving confirmatory input indicating selection of the notification.

15. The method of claim 13 , wherein the notification includes at least a portion of the supplemental data.

16. The method of claim 13 , wherein at least a portion of the supplemental data is not available through the first application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: GENTILCORE, ANTHONY; MESCHKAT, STEFFEN; SIMBILI, KISHORE; MEMBRIVES, ETIENNE
To: GOOGLE INC.
Reel/Frame 056937/0684 →
CHANGE OF NAME Recorded Jul 21, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 056940/0692 →
Continuity (2)
Continuation 15145009 · May 3, 2016
Related Publication 20210311615A1 · Oct 7, 2021