IP Library Granted Patent US 9,760,255
Granted Patent B2
US 9,760,255 · App. 14/266,436 · Granted Sep 12, 2017

Propagating theming information from host applications to host extensions

Inventors: Juan Gabriel Balmori Labra (Redmond, WA); Rajanikanth Naduppalayam Thandavan (Bothell, WA); Jiajun Hua (Redmond, WA); Daniel Mark Saunders (Bellevue, WA); Amit Mohindra (San Francisco, CA); Andrew Salamatov (Seattle, WA); Humberto Lezama Guadarrama (Redmond, WA); Runzhen Huang (San Jose, CA); Rennan Garrett Broussard (Palo Alto, CA); Peter Gene Wu (Cupertino, CA); Gabriel Royer (Redmond, WA); Michael J. Saunders (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F3/0484G06F9/4443H04L67/025
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,760,255
App. No.
14/266,436
Granted
Sep 12, 2017
Kind
B2
Abstract

Mechanisms are described herein for propagating a theme definition from a host application to a host extension so that the host application and the host extension are visually consistent. A theme definition may be updated after a theme change event occurs as a result of a user interacting with the host application. The theme definition may then be utilized by the host extension to update one or more UI elements presented by the host extension to enable visual consistency.

Claims (44)

1. A computer-implemented method for propagating theme change events from a host application to a host extension, the method comprising:

providing a theme definition from the host application to the host extension, whereby the host extension utilizes the theme definition to update one or more user interface (UI) elements presented by the host extension;

determining a theme change event associated with the host application has occurred, the theme change event including a user interaction with the host application;

in response to determining the theme change event has occurred,

updating the theme definition based upon the theme change event to create an updated theme definition,

providing a notification of the theme change event from the host application to the host extension, and

providing access to the updated theme definition from the host application to the host extension; and

utilizing, by the host extension, the updated theme definition to update the one or more UI elements presented by the host extension.

2. The computer-implemented method of claim 1 , wherein the theme definition comprises an application level theme defining a theme for one or more UI elements provided by the host application.

3. The computer-implemented method of claim 2 , wherein the one or more UI elements presented by the host extension comprise UI elements presented by the host extension in the host application.

4. The computer-implemented method of claim 1 , wherein the theme definition comprises a document level theme defining a theme for one or more UI elements defined by document content provided by a document from the host application.

5. The computer-implemented method of claim 4 , wherein the one or more UI elements presented by the host extension comprise UI elements defined by the document content.

6. The computer-implemented method of claim 1 , wherein the theme definition is defined utilizing metadata.

7. The computer-implemented method of claim 1 , wherein the notification of the theme change event and the theme definition is provided to the host extension by way of an application programming interface (API).

8. The computer-implemented method of claim 1 , wherein the theme change event comprises one or more of an undo command, a slide change operation, and receiving a selection of a new theme.

9. The computer-implemented method of claim 1 , wherein the host application comprises one of a word processing program, a spreadsheet program, an email client program, a personal information manager (PIM) program, and a presentation program.

10. The computer-implemented method of claim 1 , wherein the host application comprises a web-based document management and collaboration application.

11. A computer-readable storage medium, having computer-executable instructions stored thereupon which, when executed cause a computer to:

provide a theme definition from a host application to a host extension, whereby the host extension utilizes the theme definition to update one or more user interface (UI) elements presented by the host extension;

subscribe the host extension to receive a notification as a result of a theme change event;

determine the theme change event associated with the host application has occurred;

in response to determining the theme change event has occurred,

update the theme definition based upon the theme change event to create an updated theme definition, and

provide the notification of the theme change event from the host application to the host extension; and

utilize, by the host extension, the updated theme definition to update the one or more UI elements presented by the host extension.

12. The computer-readable storage medium of claim 11 , wherein the theme definition comprises an application level theme defining a theme for a plurality of UI elements provided by the host application.

13. The computer-readable storage medium of claim 12 , wherein the one or more UI elements presented by the host extension comprise UI elements in a UI presented by the host application.

14. The computer-readable storage medium of claim 12 , wherein the theme definition further comprises a document level theme defining a theme for one or more UI elements provided by document content.

15. The computer-readable storage medium of claim 14 , wherein the one or more UI elements presented by the host extension comprise UI elements defined by the document content.

16. The computer-readable storage medium of claim 11 , wherein the theme change event comprises one or more of an undo command, a slide change operation, and receiving a selection of a new theme.

17. The computer-readable storage medium of claim 11 , wherein the host application comprises one of a word processing program, a spreadsheet program, an email client program, a PIM program, and a presentation program.

18. An apparatus for propagating theme change events from a host application to a host extension, the apparatus comprising:

a processor;

a memory communicatively coupled to the processor; and

a host application which executes in the processor from the memory and which, when executed by the processor, causes the apparatus to:

provide a theme definition comprising an application level theme defining a theme for a plurality of user interface (UI) elements provided by the host application and a document level theme defining a theme for a plurality of UI elements provided by a document from the host application to the host extension whereby the host extension utilizes the theme definition to update one or more UI elements presented by the host extension to make the one or more UI elements presented by the host extension look consistent with the host application and the document;

determine a theme change event associated with the host application has occurred, the theme change event including a user interaction with the host application;

in response to determining the theme change event has occurred,

update the theme definition based upon the theme change event to create an updated theme definition,

provide a notification of the theme change event from the host application to the host extension, and

provide access to the updated theme definition from the host application to the host extension and

utilize, by the host extension, the updated theme definition to update the one or more UI elements presented by the host extension to make the one or more UI elements presented by the host extension look consistent with the host application and the document.

19. The apparatus of claim 18 , wherein the one or more UI elements presented by the host extension comprise UI elements in the host application.

20. The apparatus of claim 18 , wherein the one or more UI elements presented by the host extension comprise UI elements in the document.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2014
From: BALMORI LABRA, JUAN GABRIEL; THANDAVAN, RAJANIKANTH NADUPPALAYAM; HUA, JIAJUN; SAUNDERS, DANIEL MARK; MOHINDRA, AMIT; SALAMATOV, ANDREW; GUADARRAMA, HUMBERTO LEZAMA; HUANG, RUNZHEN; BROUSSARD, RENNAN GARRETT; WU, PETER GENE; ROYER, GABRIEL; SAUNDERS, MICHAEL J.
To: MICROSOFT CORPORATION
Reel/Frame 032810/0306 →
Continuity (2)
Provisional Application 61943927 · Feb 24, 2014
Related Publication 20150242080A1 · Aug 27, 2015