IP Library › Granted Patent US 8,792,934
Granted Patent B2
US 8,792,934 · App. 12/859,097 · Granted Jul 29, 2014

Selective update of core mobile device user interface through application marketplace

Inventors: Shiraz Cupala (Seattle, WA); Lan Ye (Redmond, WA); Neeraj Garg (Redmond, WA)
Assignee: Microsoft Corporation
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 8,792,934
App. No.
12/859,097
Granted
Jul 29, 2014
Kind
B2
Abstract

Systems and methods for selectively updating or extending built in functionality on a mobile device are disclosed. The updates may be provided to selective portions of software such that the entire software does not need to be replaced. The update may be provided through an application marketplace that provides third party software applications for mobile devices. The software that the mobile device is shipped with may include a number of “entry points,” which provide functionality that may be extended through the selective updates. When the entry point is triggered by user selection, a determination may be made whether code for the functionality is already available on the mobile device. If not, the mobile device may contact the application marketplace to determine if code is available to provide or extend the requested functionality.

Claims (37)

1. A machine-implemented method comprising:

providing a user interface in a mobile device for selecting a plurality of functionalities associated with a plurality of entry points for launching the plurality of functionalities, each of the entry points includes an identifier that is associated with the code that provides the functionality for the entry point

receiving a user request for a first functionality of the plurality of functionalities associated with a first of the entry points;

determining that code that provides the first functionality is not available on the mobile device;

sending a request for the code to an application marketplace in response to determining that the code is not available on the mobile device, the application marketplace serves third party applications for mobile devices;

installing the code on the mobile device in response to the request for the code being granted, the installed code is also for providing a second of the functionalities associated with a second of the entry points; and

sending a parameter to the installed code that indicates that the first entry point was selected.

2. The machine-implemented method of claim 1 , wherein the code is for a discrete piece of core user interface functionality of the mobile device.

3. The method claim 1 , further comprising performing a failover operation that includes accessing a web page to provide a third functionality of the plurality of functionalities.

4. The method of claim 3 , wherein the performing a failover operation further includes a server hosting the web page determining that a download of code for the third functionality from the application marketplace should be performed and re-directing the mobile device to the application marketplace.

5. The method claim 1 , further comprising determining whether the code is available from the application marketplace at a later point in time if the code is not available from the application marketplace when the user requests the first functionality.

6. The method claim 1 , further comprising automatically determining whether updates are available for the code that provides the first functionality.

7. The machine-implemented method of claim 1 , wherein sending the request includes sending the identifier to the application marketplace.

8. The machine-implemented method of claim 1 , wherein the application marketplace is a service that allows users to browse and download third party software applications.

9. The machine-implemented method of claim 1 , further comprising the mobile device sending information to the application marketplace to purchase the code that provides the first functionality.

10. A mobile device, comprising:

one or more processors;

a network interface for exchanging information over one or more networks; and

one or more storage devices in communication with the network interface and the one or more processors, the one or more storage devices store instructions, the one or more processors execute the instructions to:

provide a user interface for selecting a plurality of functionalities associated with a plurality of entry points for launching the functionalities, each of the entry points includes an identifier;

receive a user selection of a first of the functionalities associated with a first of the entry points;

determine that software code for providing the first functionality is not available on the mobile device;

send a request to an application marketplace that serves third party applications for the mobile device in response to determining the code for providing the first functionality is not already available on the mobile device, the request includes the identifier included in the first entry point;

install code for providing the first functionality on the mobile device in response to the request being satisfied, the installed code is also for providing a second of the functionalities associated with a second of the entry points; and

send a parameter to the installed code that indicates that the first entry point was selected.

11. The mobile device of claim 10 , further comprising instructions to perform a failover operation to access a web page to provide a third functionality of the plurality of functionalities.

12. The mobile device of claim 10 , wherein the instructions further cause the processor to determine whether the code is available at the application marketplace at a later point in time if the code is not available at the application marketplace when the user requests the first functionality.

13. The mobile device of claim 10 , wherein the instructions further cause the processor to automatically determine whether updates are available for the code for the first functionality.

14. The mobile device of claim 13 , wherein the instructions that cause the processor to provide a user interface further include instructions that cause the processor to display a message that an update is available for the first functionality, the message is displayed within an application that provides the first functionality.

15. A computer readable storage device having stored thereon processor executable code which when executed on a processor causes the processor to:

provide a user interface in a mobile device for selecting a plurality of functionalities associated with a plurality of entry points for launching the plurality of functionalities, each of the entry points includes an identifier that is associated with the code that provides the functionality for the entry point

receive a user request for a first functionality of the plurality of functionalities associated with a first of the entry points;

determine that code that provides the first functionality is not available on the mobile device;

send a request for the code that provides the first functionality to an application marketplace in response to determining that the code is not available on the mobile device, the application marketplace serves third party applications for mobile devices;

install the code on the mobile device in response to the request for the code being granted, the installed code is also for providing a second of the functionalities associated with a second of the entry points; and

send a parameter to the installed code that indicates that the first entry point was selected.

16. The computer readable storage device of claim 15 , wherein the instructions that cause the processor to send the request cause the processor to send the identifier.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2010
From: CUPALA, SHIRAZ J.; YE, LAN; GARG, NEERAJ
To: MICROSOFT CORPORATION
Reel/Frame 024863/0349 →
Continuity (1)
Related Publication 20120046069A1 · Feb 23, 2012