IP Library Granted Patent US 9,529,783
Granted Patent B2
US 9,529,783 · App. 14/176,486 · Granted Dec 27, 2016

Live previews for multitasking and state management

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 9,529,783
App. No.
14/176,486
Granted
Dec 27, 2016
Kind
B2
Abstract

Invoked states of one or more activities invoked in a web application is detected. The web application is configured to display, in a foreground, a current activity on a client device. On the client device, display of a multitask preview interface that includes one or more live previews is caused. Each live preview of the one or more live previews corresponds to an invoked state of an activity of the one or more activities. The one or more live previews includes a particular live preview that corresponds to a particular invoked state of a particular activity of the one or more activities. Selection of the particular live preview is detected. In response to detecting selection of the particular live preview, the current activity displayed in the foreground of the web application is switched to the particular state of the particular activity.

Claims (66)

1. A method comprising:

detecting a plurality of activities, wherein each activity in the plurality of activities is an activity that has been invoked in a single web application;

wherein, within the single web application, one activity of the, plurality of activities is designated a current activity and one or more other activities are designated as hidden activities;

wherein the web application is configured to render, in a foreground display area of the web application, a current state of the current activity;

wherein the web application does not render any state of any hidden activity;

causing display of a multitask preview interface comprising a plurality of live previews;

wherein each live preview of the plurality of live previews corresponds to a different activity of the plurality of activities of the single web application;

wherein each live preview of the plurality of live previews displays a current state of the activity to which the live review corresponds;

detecting selection of a particular live preview that corresponds to a particular activity of the plurality of activities; and

in response to detecting selection of the particular live preview:

designating the particular as the current activity;

designating one or more of the activities other than the particular activity as hidden activities; and

updating the foreground display area of the web application to render the current state of the particular activity;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , wherein objects corresponding to the plurality of activities, including the one or more hidden activities, are maintained in a Document Object Model (DOM) tree, the method further comprising updating a state of a hidden activity by updating an object in the DOM tree corresponding to the current state of the hidden activity.

3. The method of claim 2 , wherein the plurality of live previews is generated by applying at least one of a client-side scripting language Cascading Style Sheets (CSS) to an object in the DOM tree corresponding to a current state of each of the plurality of activities.

4. The method of claim 2 , wherein updating, the foreground display area of the web application comprises causing content to be displayed in the foreground display area based on one or more objects in the DOM tree corresponding to the current state of the particular activity.

5. The method of claim 1 , wherein the web application does not have any secondary display area for displaying a state of any activity other than the activity designated as the current activity.

6. The method of claim 1 , further comprising:

detecting invocation of a given activity of the web application during a current session;

responsive to detecting invocation of the given activity, if the given activity is a specific type of activity, then automatically adding the given activity to the plurality of activities.

7. The method of claim 6 , wherein the specific type of activity is one of: composing a first specific document, viewing a second specific document, or searching a specific term.

8. The method of claim 6 , wherein the plurality of live previews are displayed in one or more groups in the multitask preview interface based on activity type.

9. The method of claim 1 , wherein the multitask preview interface comprises user interface controls for removing at least one unwanted live preview from the multitask preview interface.

10. The method of claim 1 , further comprising:

obtaining at least one advertisement based on a current state of one of the one or more activities; and

displaying the at least one advertisement in the multitask preview interface with at least one corresponding live preview.

11. A non-transitory computer storage medium storing instructions which, when executed by one or more processors, cause performance of a method comprising:

detecting a plurality of activities, wherein each activity in the plurality of activities is an activity that has been invoked in a single web application;

wherein, within the single web application, one activity of the plurality of activities is designated a current activity and one or more other activities are designated as hidden activities;

wherein the web application is configured to render, in a foreground display area of the web application, a current state of the current activity;

wherein the web application does not render any state of any hidden activity;

causing display of a multitask preview interface comprising a plurality of live previews;

wherein each live preview of the plurality of live previews corresponds to a different activity of the plurality of activities of the single web application;

wherein each live preview of the plurality of live previews displays a current state of the activity to which the live preview corresponds;

detecting selection of a particular live preview that corresponds to a particular activity of the plurality of activities; and

in response to detecting selection of the particular live preview:

designating the particular activity as the current activity;

designating one or more of the activities other than the particular activity as hidden activities; and

updating the foreground display area of the web application to render the current state of the particular activity.

12. The non-transitory computer storage medium of claim 11 , wherein objects corresponding to the plurality of activities, including the one or more hidden activities, are maintained in a Document Object Model (DOM) tree, the method further comprising updating a state of a hidden activity by updating an object in the DOM tree corresponding to the current state of the hidden activity.

13. The non-transitory computer storage medium of claim 12 , wherein the plurality of live previews is generated by apply at least one of a client-side scripting language and Cascading Style Sheets (CSS) to an object in the DOM tree correspond to a current state of each of the plurality of activities.

14. The non-transitory computer storage medium of claim 12 , wherein updating the foreground display area of the web application comprises content to be displayed in the foreground display area based on one more objects in the DOM tree corresponding to the current state of the particular activity.

15. The non-transitory computer storage medium of claim 11 , wherein does not have any second display area for displaying a state of any activity other than the activity designated as the current activity.

16. The non-transitory computer storage medium of claim 11 , the method further comprising:

detecting invocation of a given activity of the web application during a current session;

responsive to detecting invocation of the given activity, if the given activity is a specific type of activity, then automatically adding the given activity to the plurality of activities.

17. The non-transitory computer storage medium of claim 16 , wherein the specific type of activity is one of: composing a first specific document, viewing a second specific document, or searching a specific term.

18. The non-transitory computer storage medium of claim 16 , wherein the plurality of live previews are displayed in one or more groups in the multitask preview interface based on activity type.

19. The non-transitory computer storage medium of claim 11 , wherein the multitask preview interface comprises user interface controls for removing at least one unwanted live preview from the multitask preview interface.

20. The non-transitory computer storage medium of claim 11 , the method further comprising:

obtaining at least one advertisement based on a current state of one of the one or more activities; and

displaying the at least one advertisement in the multitask preview interface with at least one corresponding live preview.

21. A system comprising a processor and one or more stored sequences of instructions which, when executed by the processor, cause the processor to perform:

detecting a plurality of activities, wherein each activity in the plurality of activities is an activity that has been invoked in a single web application;

wherein, within the single web application, one activity of the plurality of activities is designated a current activity and one or more other activities are designated as hidden activities;

wherein the web application is configured to render, in a foreground display area of the web application, a current state of the current activity;

wherein the web application does not render any state of any hidden activity;

causing display of a multitask preview interface comprising a plurality of live previews;

wherein each live preview of the plurality of live previews corresponds to a different activity of the plurality of activities of the single web application;

wherein each live preview of the plurality of live preview displays a current state of the activity to which the live preview corresponds;

detecting selection of a particular live preview that corresponds to a particular activity of the plurality of activities; and

in response to detecting selection of the particular live preview:

designating the particular activity as the current activity;

designating one or more of the activities other than the particular activity as hidden activities; and

updating the foreground display area of the web application to render the current state of the particular activity.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2014
From: MAGISTRADO, VINCE; SRIVASTAVA, UTKARSH
To: YAHOO! INC.
Reel/Frame 032183/0501 →