IP Library Granted Patent US 12,267,375
Granted Patent B2
US 12,267,375 · App. 18/222,985 · Granted Apr 1, 2025

User interface content state synchronization across devices

Inventors: Albert Teng (Cupertino, CA); Jack Yuan (Cupertino, CA); Xiao Bin (Pudong District, CN); Richard Li (Shanghai, CN)
Assignee: Spring Design, Inc.
H04L65/612G06F16/27H04L67/04H04L67/10H04L67/1095H04L67/131H04L67/51H04L67/55H04L67/01
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,267,375
App. No.
18/222,985
Filed
Jul 17, 2023
Granted
Apr 1, 2025
Kind
B2
Art Unit
2454
USPC
709/219
Abstract

Methods for synchronizing a client application user interface (UI) state of content of a client application on a client device corresponding with a host application on a host device are presented, the method including: receiving an update on the host application; transmitting a request for remote notification to the client device to synchronize the UI state of content of the client application responsive to receiving the event; displaying a notification corresponding with the request for remote notification on the client device indicating content is available to the client device; selecting the notification; launching the client application on the client device; transmitting a synchronizing request by the client device to the host device; enabling a synchronization mode of the host application; determining a host application UI state; transmitting content data associated with the UI state of the host application to the client device; and displaying the client application UI state based on the content data from the host device.

Claims (70)

1. A computer-implemented method for synchronizing a user interface (UI) state of content of a host application on a host device with a client application on a paired client device that is paired to the host device, the method comprising:

receiving an event at the host application;

synchronizing the UI state of the content of the host application by:

determining content data that is related to at least a portion of the UI state of content displayed by the host application,

identifying the client application, which corresponds to the host application, and

communicating, to the client device, the content data that is related to the at least the portion of UI state of the content of the host application, to show a distinct but synchronized UI at the client application to support continuing operation of the host application at the client device;

wherein the client application is configured to display a synchronized UI state of content of the client application, based on the related content data of the at least the portion of the UI state of the content of the host application,

wherein the client application, in a first state that is independent of a UI update to the host application, processes a first client user input and updates the client UI, while the related content data of the at least a portion of the UI state of the content communicated from the host application is stored in the client application unchanged to maintain the synchronization of the related content data, and

wherein the client application, in a second state, resumes executing UI synchronization with the host application responding to a second client user input of the second state that causes one or more client UI updates and a change of the related content data of the at least a portion of the UI state of content from the host application, and

wherein the host device is connected with the paired client device via a wireless link.

2. The computer-implemented method of claim 1 , wherein the client application is configured to handle content navigation and provide a navigation command at the client UI to change the state of a relative position of the content being navigated, wherein content data representing the state of the relative position of the content being navigated at the client UI stays synchronized with the content data representing the state of the relative position of the content being navigated at the host UI.

3. The computer-implemented method of claim 2 , wherein in the first state, the client application updates the client UI after processing the first client user input, wherein the related content data of the at least a portion of the UI state of the content communicated from the host application is unchanged, the relative position of the content being navigated at the client UI stays synchronized, while the client application is independent of the UI update to the host application despite updating the client UI.

4. The computer-implemented method of claim 2 , wherein the client application comprises a photo application, wherein the UI synchronization is performed with respect to the content data representing the state of the relative position of photo content navigation.

5. The computer-implemented method of claim 1 , wherein the first client user input of the first state is a portion of a string of text ended with a line end indicator, wherein the client application can capture the string of text characters typed in, and wherein the string of text is handled by the client application independent of the UI update of the host application.

6. The computer-implemented method of claim 5 , wherein the client application comprises at least one of a TEXT message application, a mail application, and a browser application.

7. The computer-implemented method of claim 1 , wherein the client application comprises at least one of a photo application and a browser application.

8. A host device for synchronizing a user interface (UI) state of content of a host application on the host device with a client application on a paired client device that is paired to the host device, the host device comprising:

memory with instructions encoded thereon; and

one or more processors that, when executing the instructions, are caused to perform operations comprising:

receiving an event at the host application;

synchronizing the UI state of the content of the host application by:

determining content data that is related to at least a portion of the UI state of content displayed by the host application,

identifying the client application, which corresponds to the host application, and

communicating, to the client device, the content data that is related to the at least the portion of UI state of the content of the host application, to show a distinct but synchronized UI to support continuing operation of the host application at the client device;

wherein the client application is configured to display a UI state of content of the client application, based on the related content data of the at least the portion of the UI state of the content of the host application,

wherein the client application, in a first state that is independent of a UI update to the host application, processes a first client user input and updates the client UI, while the related content data of the at least a portion of the UI state of the content communicated from the host application is stored in the client application without changing the first state to maintain the synchronization of the related content data, and

wherein the client application, in a second state, resumes executing UI synchronization with the host application responding to a second client user input of the second state that causes one or more client UI updates and a change of the related content data of the at least a portion of the UI state of content from the host application, and

wherein the host device is connected with the paired client device via a wireless link.

9. The host device of claim 8 , wherein the client application is configured to handle content navigation and provide a navigation command at the client UI to change the state of a relative position of the content being navigated, wherein the content data representing the state of the relative position of the content being navigated at the client UI stays synchronized with the content data representing the state of the relative position of the content being navigated at the host UI.

10. The host device of claim 9 , wherein, while the related content data of the at least a portion of the UI state of the content communicated from the host application is unchanged, navigation activities of the client application that caused a client UI update comprise at least one of zooming, scrolling and changing orientation.

11. The host device of claim 9 , wherein the first client user input of the first state is a portion of a string of text ended with a line end indicator, wherein the client application can capture the string of text characters typed in, and wherein the string of text is handled by the client application independent of the UI update of the host application.

12. The host device of claim 11 , wherein the client application comprises at least one of a TEXT message application, a mail application, and a browser application.

13. The host device of claim 8 , wherein the client application comprises at least one of a photo application and a browser application.

14. The host device of claim 8 , wherein the client application comprises a photo application, wherein the UI synchronization is performed with respect to the state of a relative position of a photo content.

15. An application system for synchronizing a user interface (UI) state of content of a pair of applications, the application system comprising a host application and a client application, the application system comprising:

a client application; and

a host application configured to:

receive an event at the host application;

synchronize the UI state of content of the host application by:

determining content data that is related to at least a portion of the UI state of content displayed by the host application,

identifying the client application, which corresponds to the host application, and

communicating, to the client application, the content data that is related to the at least the portion of UI state of the content of the host application, to show a distinct but synchronized UI to support continuing operation of the host application at the client application;

wherein the client application is configured to display a UI state of content of the client application, based on the related content data of the at least the portion of the UI state of the content of the host application,

wherein the client application, in a first state that is independent of a UI update to the host application, processes a first client user input and updates the client UI, while the related content data of the at least a portion of the UI state of the content communicated from the host application is stored in the client application without changing the first state to maintain the synchronization of the related content data, and

wherein the client application, in a second state, resumes executing UI synchronization with the host application responding to a second client user input of the second state that causes one or more client UI updates and a change of the related content data of the at least a portion of the UI state of content from the host application.

16. The application system of claim 15 , wherein the client application is configured to handle content navigation and provide a navigation command at the client UI to change the state of a relative position of the content being navigated, wherein the content data representing the state of the relative position of the content being navigated at the client UI stays synchronized with the content data representing the state of the relative position of the content being navigated at the host UI.

17. A client device for synchronizing a user interface (UI) state of content of a host application on a host device with a client application the client device, the client device paired to the host device, the client device comprising:

memory with instructions encoded thereon; and

one or more processors that, when executing the instructions, are caused to perform operations comprising:

receiving content data from the host application, wherein the content data is obtained by:

the host application receiving an event;

the host application synchronizing the UI state of the content of the host application by:

determining content data that is related to at least a portion of the UI state of content displayed by the host application,

identifying the client application, which corresponds to the host application, and

communicating, to the client device, the content data that is related to the at least the portion of UI state of the content of the host application, to show a distinct but synchronized UI to support continuing operation of the host application at the client device;

wherein the client application is configured to display a UI state of content of the client application, based on the related content data of the at least the portion of the UI state of the content of the host application,

wherein the client application, in a first state that is independent of a UI update to the host application, processes a first client user input and updates the client UI, while the related content data of the at least a portion of the UI state of the content communicated from the host application is stored in the client application without changing the first state to maintain the synchronization of the related content data, and

wherein the client application, in a second state, resumes executing UI synchronization with the host application responding to a second client user input of the second state that causes one or more client UI updates and a change of the related content data of the at least a portion of the UI state of content from the host application, and

wherein the client device is connected with the host device via a wireless link.

18. The client device of claim 17 , wherein the client application at the client device is configured to handle content navigation and provide a navigation command at the client UI to change the state of a relative position of the content being navigated, wherein the state of the relative position of the content being navigated at the client UI stays synchronized with the content data representing the state of the relative position of the content being navigated at the host UI.

19. A computer-implemented method for synchronizing a user interface (UI) state of content of a host application on a host device with a client application on a paired client device that is paired to the host device, the method comprising:

receiving an event at the host application;

synchronizing the UI state of the content of the host application by:

determining content data that is related to at least a portion of the UI state of content displayed by the host application,

identifying the client application, which corresponds to the host application, and

communicating, to the client device, the content data that is related to the at least the portion of UI state of the content of the host application, to show a distinct but synchronized UI at the client application to support continuing operation of the host application at the client device;

wherein the client application is configured to display a synchronized UI state of content of the client application, based on the related content data of the at least the portion of the UI state of the content of the host application,

wherein the client application, in a first state that is independent of a UI update to the host application, processes a first client user input and updates the client UI, while the related content data of the at least a portion of the UI state of the content communicated from the host application is stored in the client application unchanged to maintain the synchronization of the related content data, and

wherein the client application, in a second state, resumes executing UI synchronization with the host application responding to a second client user input of the second state that causes one or more client UI updates and a change of the related content data of the at least a portion of the UI state of content from the host application, and

wherein the host device is connected with the paired client device via a wireless link, wherein the client application is configured to handle content navigation and provide a navigation command at the client UI to change the state of a relative position of the content being navigated, and wherein content data representing the state of the relative position of the content being navigated at the client UI stays synchronized with the content data representing the state of the relative position of the content being navigated at the host UI.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2024
From: TENG, ALBERT; YUAN, JACK; BIN, XIAO; LI, RICHARD
To: QUICKBIZ HOLDINGS LIMITED, APIA
Reel/Frame 066493/0394 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2024
From: QUICKBIZ HOLDINGS LIMITED
To: SPRING DESIGN, INC.
Reel/Frame 066383/0507 →
Continuity (14)
Continuation 17477368 · Sep 16, 2021
Continuation 16826637 · Mar 23, 2020
Continuation 16386073 · Apr 16, 2019
Continuation 15045248 · Feb 17, 2016
Continuation 13957338 · Aug 1, 2013
Continuation PCTCN2012001033 · Jan 1, 2012
Provisional Application 61682893 · Aug 14, 2012
Provisional Application 61680642 · Aug 7, 2012
Provisional Application 61670561 · Jul 11, 2012
Provisional Application 61589159 · Jan 20, 2012
Provisional Application 61576287 · Dec 15, 2011
Provisional Application 61568399 · Dec 8, 2011
Provisional Application 61513870 · Aug 1, 2011
Related Publication 20240195857A1 · Jun 13, 2024
References Cited (28)
US 7603683B2 · Reto · 2009 [cited by applicant]
US 7716376B1 · Price et al. · 2010 [cited by applicant]
US 8751690B2 · Shah · 2014 [cited by applicant]
US 8943538B2 · Jacoby et al. · 2015 [cited by applicant]
US 9083600B1 · Smith et al. · 2015 [cited by applicant]
US 9143543B2 · Falvo · 2015 [cited by applicant]
US 9438697B2 · Teng · 2016 [cited by examiner]
US 10298642B2 · Teng · 2019 [cited by examiner]
US 10616295B2 · Teng · 2020 [cited by examiner]
US 11134113B2 · Teng · 2021 [cited by examiner]
US 11750673B2 · Teng · 2023 [cited by examiner]
US 20050210101A1 · Janik · 2005 [cited by applicant]
US 20080256468A1 · Peters et al. · 2008 [cited by applicant]
US 20090088197A1 · Stewart · 2009 [cited by examiner]
US 20100115023A1 · Peled · 2010 [cited by examiner]
US 20130290872A1 · Hong et al. · 2013 [cited by applicant]
US 20130318158A1 · Teng · 2013 [cited by examiner]
US 20130332846A1 · Freedman · 2013 [cited by examiner]
US 20140244721A1 · Taine · 2014 [cited by examiner]
US 20150046953A1 · Davidson et al. · 2015 [cited by applicant]
US 20150205851A1 · Freedman · 2015 [cited by examiner]
CN 101088250A · 2007 [cited by applicant]
CN 101981558A · 2011 [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/CN2012/001033, Nov. 15, 2012, 14 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 16/386,073, Sep. 4, 2019, 11 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 15/045,248, Nov. 13, 2017, 18 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 16/826,637, Nov. 9, 2020, 11 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/477,368, Oct. 14, 2022, 10 pages. [cited by applicant]
Cited By (1)
US 12,719,941