IP Library Granted Patent US 10,572,213
Granted Patent B2
US 10,572,213 · App. 15/090,393 · Granted Feb 25, 2020

Universal application pinning

Inventor: William John Pardi (Edgewood, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F3/1454G06F3/0482G06F3/04842G06F9/44G09G5/12G09G2370/02H04M1/72586
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,572,213
App. No.
15/090,393
Granted
Feb 25, 2020
Kind
B2
Abstract

Examples of the disclosure provide a system and method for universal application pinning. Application representations are pinned to a same location of a user interface across multiple selected user devices from a selectable device list generated based off the application type and compatible device types. In this way, a single pinning selection received at one device may be applied to multiple selected devices.

Claims (75)

1. A method for universal application pinning, the method comprising:

receiving an application selection at a pinning module implemented on a processor, the application selection directed to pinning an application representation to a location of a user interface associated with a device;

identifying the device associated with the user interface corresponding to the received application selection;

determining one or more other devices related to the identified device corresponding to the received application selection to generate a user device list;

determining one or more device types that the application representation is designed to run on to generate a device type list;

identifying an application associated with the received application selection;

obtaining application data associated with the identified application;

determining one or more compatible devices for the identified application based on the one or more determined device types;

determining one or more application experiences based on the determined one or more compatible devices and the obtained application data, wherein the application experiences include application functionality;

generating a selectable device list based on the determined one or more compatible devices and the determined one or more application experiences; and

outputting the selectable device list to the user interface associated with the device to provide for selection of at least one other device to pin the application representation to a substantially similar location of a user interface associated with the at least one other device, wherein the selectable device list includes information associated with the determined application experience of the at least one other device.

2. The method of claim 1 , further comprising:

receiving a device selection from the selectable device list output to the user interface, the device selection including an identification of one or more devices to pin the application representation to the substantially similar location of the user interface for the identified one or more devices; and

pinning the application representation to the substantially similar location of the user interface associated with the device and the user interface for the identified one or more devices of the received device selection.

3. The method of claim 2 , further comprising:

determining whether the identified one or more devices of the device selection are accessible via a communications network; and

responsive to at least one device of the identified one or more devices being inaccessible via the communications network, queuing the application representation to pin to the at least one device responsive to the at least one device connecting to the communications network.

4. The method of claim 2 , further comprising:

providing a selectable installation component for the selectable device list, the selectable installation component providing for an install selection between installing an application associated with the application selection on the identified one or more devices upon pinning the application representation to the location of the user interface for the identified one or more devices, or installing the application on the identified one or more devices upon user invocation of the application representation via user interaction with the application representation at the pinned location of the user interface for the identified one or more devices.

5. The method of claim 1 , wherein the selection of the application is received via user interaction with the user interface of the device communicatively coupled to the pinning module via a communications network.

6. The method of claim 1 , further comprising:

identifying a device experience for the application representation corresponding to an individual device type of the one or more device types that the application representation is designed to run on.

7. The method of claim 6 , further comprising:

receiving a request to unpin the application representation from the location of the user interface associated with the device;

outputting the selectable device list to the user interface associated with the device;

receiving another device selection based on the selectable device list output to the user interface, the other device selection including another identification of one or more devices associated with a common user identifier, the other device selection directed to unpinning the application representation from the location of the user interface for the identified one or more devices of the other device selection; and

unpinning the application representation from the location of the user interface associated with the device and the user interface for the identified one or more devices of the received other device selection.

8. A system for universal application pinning, the system comprising:

a processor communicatively coupled to a communications network;

a pinning module, implemented on the processor, that receives an application selection via the communications network from a device, the application selection directed to pinning an application representation to a location of a user interface associated with the device;

a device module, implemented on the processor, that identifies the device associated with the user interface corresponding to the received application selection, identifies one or more other devices related to the identified device corresponding to the received application selection, and generates a user device list of the identified one or more other devices related to the identified device to the pinning module; and

an application module, implemented on the processor, that obtains the generated user device list and the received application selection, identifies an application based on the received application selection, obtains application data associated with the identified application, determines one or more compatible device types that an application representation associated with the identified application is designed to run on, determines one or more application experiences based on the determined one or more compatible device types and the obtained application data, and generates a device type list based on the determined one or more compatible device types, wherein the application experiences include application functionality,

wherein the pinning module obtains the user device list and the device type list, generates a selectable device list based on the user device list and the device type list, and outputs the generated selectable device list to the device via the communications network, and wherein the selectable device list includes information associated with the determined application experience of the or more other devices.

9. The system of claim 8 , wherein the selection of the application is received via user interaction with a graphical user interface of the device communicatively coupled to the pinning module via the communications network.

10. The system of claim 8 , wherein the pinning module further:

automatically generates a device selection based on the selectable device list and one or more criteria, the device selection including an identification of one or more devices; and

pins the application representation to a location of the user interface associated with the device and a location of the user interface for the identified one or more devices of the device selection.

11. The system of claim 10 , wherein the one or more criteria include at least one of user preference data, machine learning data, or telemetry data.

12. The system of claim 10 , further comprising:

a connectivity module, implemented on the processor and coupled to the pinning module, that determines whether the identified one or more devices of the device selection are accessible via the communications network; and

responsive to at least one device of the identified one or more devices being inaccessible via the communications network, the pinning module queues the application representation to pin to the at least one device responsive to the at least one device connecting to the communications network.

13. The system of claim 10 further comprising:

an installation selection module, implemented on the processor, wherein the installation selection module provides a selectable installation feature for the selectable device list, the selectable installation feature providing for a selection between installing the application on the identified one or more devices upon pinning the application representation to the location of the user interface for the identified one or more devices, or installing the application on the identified one or more devices upon user invocation of the application representation via user interaction with the application representation at the pinned location of the user interface for the identified one or more devices.

14. The system of claim 8 , wherein the pinning module further:

receives a request to unpin the application representation from the location of the user interface associated with the device;

generates a selectable device list for unpinning;

automatically generates another device selection based on the selectable device list for unpinning, the other device selection including another identification of one or more devices; and

unpins the application representation from the location of the user interface associated with the device and the user interface for the identified one or more devices of the other device selection.

15. One or more computer storage devices having computer-executable instructions stored thereon for generating an application, which, on execution by a computer, cause the computer to perform operations comprising:

receiving an application selection, the application selection directed to pinning an application representation to a location of a user interface associated with a first device;

identifying the first device associated with the user interface corresponding to the received application selection;

determining one or more other devices related to the identified device corresponding to the received application selection;

generating a selectable device list based on the determined one or more other devices;

identifying the selected application;

obtaining application data associated with the identified application;

determining one or more device types that the identified application is designed to run on;

determining one or more application experiences based on the determined one or more device types and the obtained application data, wherein the application experiences include application functionality;

generating a selectable device list based on the determined one or more device types and the determined one or more application experiences; and

outputting the selectable device list to provide for selection of at least one other device to pin the application representation to a substantially similar location of a user interface associated with the at least one other device, wherein the selectable device list includes information associated with the determined application experience of the at least one other device.

16. The one or more computer storage devices of claim 15 , further comprising:

a pinning module, implemented on a processor, that:

receives a device selection based on the selectable device list output to the user interface, the device selection including an identification of one or more devices, the device selection directed to pinning the application representation to the location of the user interface for the identified one or more devices of the device selection; and

pins the application representation to a same location of the user interface associated with the device and the user interface for the identified one or more devices of the received device selection.

17. The one or more computer storage devices of claim 15 , further comprising:

a connectivity module, implemented on a processor, that determines whether the identified one or more devices of the device selection are accessible via a communications network; and

responsive to at least one device of the identified one or more devices being inaccessible via the communications network, a pinning module that queues the application representation to pin to the at least one device responsive to the at least one device connecting to the communications network.

18. The one or more computer storage devices of claim 15 , further comprising:

an installation selection module, implemented on a processor, that provides a selectable installation feature for the selectable device list, the selectable installation feature providing for a selection between installing the application on the identified one or more devices upon pinning the application representation to the location of the user interface for the identified one or more devices, or installing the application on the identified one or more devices upon user invocation of the application representation via user interaction with the application representation at the pinned location of the user interface for the identified one or more devices.

19. The one or more computer storage devices of claim 18 , further comprising:

a pinning module, implemented on a processor, that:

receives a request to unpin the application representation from the location of the user interface associated with the device;

outputs the selectable device list to the user interface associated with the device;

receives another device selection based on the selectable device list output to the user interface, the other device selection including another identification of one or more devices, the other device selection directed to unpinning the application representation from the location of the user interface for the identified one or more devices of the device selection; and

unpins the application representation from the same location of the user interface associated with the device and the user interface for the identified one or more devices of the received other device selection.

20. The method of claim 1 , wherein the information associated with the determined application experience of the at least one other device indicates an amount of application functionality offered.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: PARDI, WILLIAM JOHN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 038187/0824 →
Continuity (1)
Related Publication 20170286046A1 · Oct 5, 2017