IP Library › Granted Patent US 10,341,270
Granted Patent B2
US 10,341,270 · App. 14/515,646 · Granted Jul 2, 2019

Providing enhanced application interoperability

Inventors: Priscila K. Penha (San Francisco, CA); Kelly M. Nash (San Mateo, CA); Daisuke Sakurai (San Francisco, CA); Shih-Hao Yeh (San Francisco, CA)
Assignee: Citrix Systems, Inc.
H04L51/046G06F1/1694G06F3/017G06F3/0484H04M1/72522G06F2200/1637
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 10,341,270
App. No.
14/515,646
Granted
Jul 2, 2019
Kind
B2
Abstract

Methods, systems, and computer-readable media for providing enhanced application interoperability are presented. In some embodiments, a computing device may present, on at least one display screen, a first user interface that is associated with a first application. In response to determining that the at least one display screen has been rotated from a first orientation to a second orientation, the computing device may present, on the at least one display screen, a second user interface that is associated with a second application different from the first application. In one or more embodiments, the second user interface may include at least some information that is contextually related to information included in the first user interface. In addition, a state of the first application may be preserved when the second user interface that is associated with the second application is presented.

Claims (57)

1. A method, comprising:

presenting, by a computing device, and on a display screen of the computing device, a first user interface that is associated with a first application;

detecting a physical rotation of the computing device from a first orientation to a second orientation;

switching, by the computing device and in response to the detected physical rotation of the computing device, from the first application to a second application different from the first application, wherein switching from the first application to the second application comprises:

launching, based on the detected physical rotation of the computing device and before receiving additional user inputs to the computing device, the second application;

passing, from the first application to the second application, contextual information comprising at least some information included in the first user interface of the first application;

replacing, by the computing device, and on the display screen, the first user interface associated with the first application with a second user interface that is associated with the second application to present the second user interface that is associated with the second application, the second user interface of the second application comprising at least some of the contextual information passed from the first application to the second application; and

suspending the first application, wherein an operating state of the first application prior to the suspension is preserved during the suspension when the second user interface that is associated with the second application is presented, the preserved operating state of the first application allowing the computing device to resume operation of the first application at the preserved operating state after switching from the first application to the second application;

after presenting the second user interface that is associated with the second application, determining, by the computing device, that the computing device has been rotated from the second orientation to the first orientation; and

based on determining that the computing device has been rotated from the second orientation to the first orientation, switching, by the computing device, from the second application back to the first application,

wherein switching from the second application back to the first application comprises presenting, on the display screen, the first user interface that is associated with the first application, and

wherein switching from the second application back to the first application comprises updating the first application based on second contextual information comprising at least some information included in the second user interface of the second application.

2. The method of claim 1 , wherein functionality of the second application is limited when the second user interface that is associated with the second application is presented on the display screen in the second orientation.

3. The method of claim 2 , wherein presenting the second user interface that is associated with the second application comprises reducing functionality of the second application by restricting access to content that is not related to the contextual information passed from the first application to the second application.

4. The method of claim 1 , wherein the first application is suspended in a background mode when the second user interface that is associated with the second application is presented.

5. The method of claim 1 , comprising:

after presenting the second user interface that is associated with the second application, receiving, by the computing device, user input via the second user interface; and

updating, by the computing device, the second user interface based on the user input.

6. The method of claim 1 , wherein the preserved operating state of the first application is restored when the first user interface that is associated with the first application is presented after determining that the computing device has been rotated from the second orientation to the first orientation.

7. The method of claim 1 , wherein passing the contextual information from the first application to the second application comprises passing the contextual information from the first application to the second application in accordance with one or more policies.

8. The method of claim 7 , wherein passing the contextual information from the first application to the second application in accordance with the one or more policies comprises enforcing at least one enterprise mobile device management policy that causes the second application to be opened in a managed mode.

9. The method of claim 1 , wherein the first application is a mail application and the second application is a calendar application.

10. The method of claim 1 , wherein the first application is a contacts application and the second application is a chat application.

11. The method of claim 1 , wherein the first application is a calendar application and the second application is a tasks application.

12. The method of claim 1 , wherein the first application is a calendar application and the second application is a notes application.

13. One or more non-transitory computer-readable media having computer-executable instructions stored thereon that, when executed, cause a computing device to:

present, on a display screen of the computing device, a first user interface that is associated with a first application;

detect a physical rotation of the computing device from a first orientation to a second orientation;

switch, in response to the detected physical rotation of the computing device, from the first application to a second application different from the first application, wherein switching from the first application to the second application comprises:

launching, based on the detected physical rotation of the computing device and before receiving additional user inputs to the computing device, the second application;

passing, from the first application to the second application, contextual information comprising at least some information included in the first user interface of the first application;

replacing, on the display screen, the first user interface associated with the first application with a second user interface that is associated with the second application to present the second user interface that is associated with the second application, the second user interface of the second application comprising at least some of the contextual information passed from the first application to the second application; and

suspending the first application, wherein an operating state of the first application prior to the suspension is preserved during the suspension when the second user interface that is associated with the second application is presented, the preserved operating state of the first application allowing the computing device to resume operation of the first application at the preserved operating state after switching from the first application to the second application;

after presenting the second user interface that is associated with the second application, determine that the computing device has been rotated from the second orientation to the first orientation; and

based on determining that the computing device has been rotated from the second orientation to the first orientation, switch from the second application back to the first application,

wherein switching from the second application back to the first application comprises presenting, on the display screen, the first user interface that is associated with the first application, and

wherein switching from the second application back to the first application comprises updating the first application based on second contextual information comprising at least some information included in the second user interface of the second application.

14. The one or more non-transitory computer-readable media of claim 13 , wherein functionality of the second application is limited when the second user interface that is associated with the second application is presented on the display screen in the second orientation.

15. The one or more non-transitory computer-readable media of claim 13 , wherein passing the contextual information from the first application to the second application comprises passing the contextual information from the first application to the second application in accordance with one or more policies.

16. A computing device, comprising:

at least one processor; and

memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing device to:

present, on a display screen of the computing device, a first user interface that is associated with a first application;

detect a physical rotation of the computing device from a first orientation to a second orientation;

switch, in response to the detected physical rotation of the computing device, from the first application to a second application different from the first application, wherein switching from the first application to the second application comprises:

launching, based on the detected physical rotation of the computing device and before receiving additional user inputs to the computing device, the second application;

passing, from the first application to the second application, contextual information comprising at least some information included in the first user interface of the first application;

replacing, on the display screen, the first user interface associated with the first application with a second user interface that is associated with the second application to present the second user interface that is associated with the second application, the second user interface of the second application comprising at least some of the contextual information passed from the first application to the second application; and

suspending the first application, wherein an operating state of the first application prior to the suspension is preserved when the second user interface that is associated with the second application is presented, the preserved operating state of the first application allowing the computing device to resume operation of the first application at the preserved operating state after switching from the first application to the second application;

after presenting the second user interface that is associated with the second application, determine that the computing device has been rotated from the second orientation to the first orientation; and

based on determining that the computing device has been rotated from the second orientation to the first orientation, switch from the second application back to the first application,

wherein switching from the second application back to the first application comprises presenting, on the display screen, the first user interface that is associated with the first application, and

wherein switching from the second application back to the first application comprises updating the first application based on second contextual information comprising at least some information included in the second user interface of the second application.

17. The computing device of claim 16 , wherein functionality of the second application is limited when the second user interface that is associated with the second application is presented on the display screen in the second orientation.

18. The computing device of claim 17 , wherein presenting the second user interface that is associated with the second application comprises reducing functionality of the second application by restricting access to content that is not related to the contextual information passed from the first application to the second application.

19. The computing device of claim 16 , wherein passing the contextual information from the first application to the second application comprises passing the contextual information from the first application to the second application in accordance with one or more policies.

20. The computing device of claim 19 , wherein passing the contextual information from the first application to the second application in accordance with the one or more policies comprises enforcing at least one enterprise mobile device management policy that causes the second application to be opened in a managed mode.

Assignments (7)
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2014
From: NASH, KELLY M.; SAKURAI, DAISUKE; PENHA, PRISCILA K.; YEH, SHIH-HAO
To: CITRIX SYSTEMS, INC.
Reel/Frame 034017/0897 →
Continuity (2)
Provisional Application 61893006 · Oct 18, 2013
Related Publication 20150113446A1 · Apr 23, 2015