IP Library Granted Patent US 10,528,359
Granted Patent B2
US 10,528,359 · App. 15/834,378 · Granted Jan 7, 2020

Application launching in a multi-display device

Inventors: Christian Klein (Duvall, WA); Robert Joseph Disano (Seattle, WA); Paula Julia Chuchro (Seattle, WA); Jerome Jean-Louis Vasseur (Bothell, WA); Jason Michael Nelson (Redmond, WA); Scott David Schenone (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/4411G06F1/1616G06F1/1641G06F1/1647G06F1/1677G06F1/1681G06F1/1694G06F3/011G06F3/017G06F3/03545G06F3/0418G06F3/04883G06F3/1446G06F9/4401G06F9/445G09G5/003G09G5/14G06F1/1643G06F3/041G06K9/00154G06K9/00416G06K9/00422G09G2320/0626G09G2320/0686G09G2340/0407G09G2354/00G09G2356/00
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,528,359
App. No.
15/834,378
Granted
Jan 7, 2020
Kind
B2
Abstract

Techniques for application launching in a multi-display device are described. In one or more implementations, an apparatus such as a mobile device includes multiple interconnected display devices. According to one or more implementations, techniques described herein enable application launching behavior to be determined based on context information. For instance, based on a determined context condition of a multi-display client device, an application launch behavior is determined and used to launch an application on the client device.

Claims (37)

1. A system comprising:

an apparatus having a first display device and a second display device physically connected to each other and hingeably moveable relative to each other about a hinge;

at least one processor; and

at least one computer-readable storage media storing instructions that are executable by the at least one processor to perform operations including:

ascertaining that an application is to be launched on the apparatus;

determining a launch behavior for the application based on an evaluation of context information indicating: a device positioning of the first display device relative to the second display device, and an application state, identifying one of a primary launch state for the application and a secondary launch state for the application, based on the device positioning; and

causing the application to launch on the apparatus according to the launch behavior.

2. A system as described in claim 1 , wherein the device positioning is determined based on a device-based gesture that comprises a change in a relative angle between the first display device and the second display device.

3. A system as described in claim 1 , wherein the device positioning is determined based on a device-based gesture that comprises an opening gesture of the first display device relative to the second display device.

4. A system as described in claim 1 , wherein the device positioning is determined based on a device-based gesture that comprises an opening gesture of the first display device relative to the second display device, and wherein the launch behavior indicates that the application is to be launched on the first display device, and a second application is to be launched on the second display device.

5. A system as described in claim 1 , wherein the context information further indicates: a functional configuration determination identifying that the first display device includes different hardware functionality from the second display device, and wherein the launch behavior indicates that the application is to be launched on the first display device based on the different hardware functionality of the first display device.

6. A system as described in claim 5 , wherein the application is configured to utilize a particular hardware functionality, the functional configuration determination indicates that one of the first display device and the second display device includes the particular hardware functionality, and wherein the launch behavior indicates that the application is to be launched using the particular hardware functionality based on the functional configuration determination.

7. A system as described in claim 5 , wherein the functional configuration determination indicates that the first display device is designated as an output primary, wherein the application state indicates that the application is an output primary application, and wherein the launch behavior indicates that the application is to launch on the first display device based on the functional configuration determination.

8. A system as described in claim 1 , wherein the functional configuration indicates that the first display device is designated as an input primary, wherein the application state indicates that the application is an input primary application, and wherein the launch behavior indicates that the application is to launch on the first display device based on the functional configuration determination.

9. A system as described in claim 1 , wherein the application state indicates that the application has a high affinity for a different application that is executing on the apparatus, and wherein the launch behavior indicates that the application is to be launched on the first display device and the different application is to be executed on the second display device.

10. A computer-implemented method, comprising:

determining that a first application is actively executing on an apparatus;

ascertaining that a second application is to be launched on the apparatus;

determining a launch behavior for the second application based on an affinity value that indicates an affinity between the first application and second application, wherein the affinity value is determined based on: a state of execution for the first application on the apparatus and display device data for one or more display devices associated with the apparatus; and

causing the first application to launch on the apparatus according to the launch behavior.

11. A method as described in claim 10 , wherein the affinity value is predefined prior to said determining the launch behavior.

12. A method as described in claim 10 , wherein the affinity value indicates a high affinity between the first application and the second application, and wherein the launch behavior indicates that the second application is to be launched and presented concurrently with the first application.

13. A method as described in claim 10 , wherein the affinity value indicates a high affinity between the first application and the second application, and wherein the launch behavior indicates that the second application is to be launched such that a graphical user interface for the first application and a graphical user interface for the second application are concurrently visible.

14. A method as described in claim 10 , wherein the affinity value indicates a high affinity between the first application and the second application, and wherein the launch behavior indicates that the second application is to be launched such that a graphical user interface for the first application is presented on a first display device of the apparatus, and a graphical user interface for the second application is to be presented on a second display device of the apparatus.

15. A method as described in claim 10 , wherein the affinity value indicates a low affinity between the first application and the second application, and wherein the launch behavior indicates that the second application is to be launched such that a graphical user interface for the first application at least partially occludes a graphical user interface for the second application.

16. A computer-implemented method, comprising:

setting an affinity value that associates a state for launch of a first application with a state for launch of a second application relative to a detected display configuration of one or more display devices connected with an apparatus;

causing an application group to be generated that includes the first application and the second application;

detecting a group launch event indicating that applications of the application group are to be launched based on detection of the display configuration of the one or more display devices and the affinity value; and

causing the first application and the second application to be launched based on the group launch event.

17. A method as described in claim 16 , wherein the state of launch of the first application and the state of launch of the second application are determined based on an indication of affinity between the first application and the second application indicating that the first application and the second application are frequently launched together in the detected device configuration.

18. A method as described in claim 16 , wherein the state of launch of the first application and the state of launch of the second application are determined based on an indication of affinity between the first application and the second application indicating that the first application and the second application are recommended to be executed together in the detected device configuration.

19. A method as described in claim 16 , wherein the state of launch of the first application and the state of launch of the second application are determined based on an indication of affinity between the first application and the second application indicating that the first application and the second application are frequently launched together in the detected device configuration.

20. A method as described in claim 16 , wherein the group launch event includes a launch request for the first application, and wherein the method further comprises:

determining that the first application is included in multiple application groups;

presenting a query that requests input to identify which application group of the multiple application groups is to be launched; and

receiving input indicating that the application group is to be launched.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2018
From: KLEIN, CHRISTIAN; DISANO, ROBERT JOSEPH; CHUCHRO, PAULA JULIA; VASSEUR, JEROME JEAN-LOUIS; NELSON, JASON MICHAEL; SCHENONE, SCOTT DAVID
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044543/0961 →
Continuity (2)
Provisional Application 62505942 · May 14, 2017
Related Publication 20180329508A1 · Nov 15, 2018