US2011296322A1PendingUtilityA1
Markup Based Extensibility for User Interfaces
Est. expiryAug 30, 2025(expired)· nominal 20-yr term from priority
Inventors:Savraj Singh DhanjalAlex MogilevskyDavid A. MortonPreethi RamaniDien Trang LuuEric FallerAndrew FomichevAndy Chung-An Chang
G06F 40/154G06F 9/451G06F 3/14G06F 17/00
41
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Methods, systems, and computer products are provided for exposing the programming of an application user interface to allow modification of the associated user interface to include adding, removing, disabling, enabling and repurposing new or existing user interface components.
Claims
exact text as granted — not AI-modified1 . A method for modifying a graphical user interface, comprising:
displaying, by a computing device, a user interface for a host software application, the user interface containing a ribbon-shaped graphical user interface, the ribbon-shaped graphical user interface comprising a first tab, the first tab comprising one or more selectable controls for selecting one or more functionalities of the host software application; providing an Extensible Markup Language (XML) representation of the ribbon-shaped graphical user interface; receiving a modification to the XML representation, the modification adding an add-in XML element to the XML representation, the add-in XML element corresponding to an add-in control; after receiving the modification to the XML representation, receiving, from a user, a selection of an object in a document displayed in the user interface; and exposing, by the computing device, the add-in control in the ribbon-shaped graphical user interface in response to receiving the selection of the object.
2 . The method of claim 1 , further comprising:
receiving an add-in application at the computing device, the add-in application providing one or more additional functionalities to the host software application; receiving a selection of the add-in control after exposing the add-in control; and invoking a given functionality in response to receiving the selection of the add-in control, the given functionality being among the one or more additional functionalities provided by the add-in application.
3 . The method of claim 2 , wherein the given functionality provides a formatting property to the object.
4 . The method of claim 2 , further comprising:
determining that a user-controlled pointer is hovering over the add-in control; and presenting a tool tip in response to determining that the user-controlled pointer is hovering over the add-in control, the tool tip providing information that identifies the add-in application as responsible for the add-in control.
5 . The method of claim 1 , further comprising:
receiving a selection of the add-in control after exposing the add-in control; and invoking a given functionality in response to receiving the selection of the add-in control, the given functionality being among the one or more functionalities of the host software application.
6 . The method of claim 1 ,
wherein the method further comprises: prior to receiving the modification, generating the user interface for the host software application by rendering an initial version of the XML representation, the initial version of the XML representation including a tab XML element and one or more control XML elements, the tab XML element corresponding to the first tab, the one or more control XML elements corresponding to the one or more selectable controls; wherein providing the XML representation comprises: providing a start-from-scratch version of the XML representation to a developer, the start-from-scratch version of the XML representation not including the tab XML element or the one or more control XML elements; and wherein receiving the modification to the XML representation comprises: receiving a modified version of the XML representation, the modified version of the XML representation containing the add-in XML element, the tab XML element, and the one or more control XML elements.
7 . The method of claim 1 ,
wherein prior to receiving the modification, the XML representation comprises a tab XML element, the tab XML element corresponding to the first tab; wherein the modification adds the add-in XML element as a child element of the tab XML element; and wherein exposing the add-in control comprises exposing the add-in control in the first tab.
8 . The method of claim 7 ,
wherein prior to receiving the modification, the XML representation comprises a first group XML element and a second group XML element, the first group XML element corresponding to a first group of controls in the first tab, the second group XML element corresponding to a second group of controls in the first tab, the first group XML element and the second group XML element being child elements of the tab XML element, the add-in XML element being a child element of the first group XML element; and wherein exposing the add-in control in the first tab comprises exposing the add-in control in the first group of controls in the first tab and not in the second group of controls.
9 . The method of claim 1 ,
wherein prior to receiving the modification, the XML representation comprises a first tab XML element, the first tab XML element corresponding to the first tab; wherein the modification adds a second tab XML element to the XML representation, the second tab XML element corresponding to a second tab, the add-in control being in the second tab; and wherein the method comprises exposing the second tab in the ribbon-shaped graphical user interface in response to receiving the selection of the object, thereby exposing the add-in control in the ribbon-shaped graphical user interface in response to receiving the selection of the object.
10 . The method of claim 1 ,
wherein the XML representation includes a control XML element, the control XML element corresponding to a given control, the given control being among the one or more selectable controls, the given control being for selecting a given functionality, the given functionality being among the one or more functionalities of the host software application; and wherein the modification modifies the control XML element to disable the given control without removing the given control from the ribbon-shaped graphical user interface.
11 . A computing device comprising:
one or more computer storage media that store:
instructions; and
an Extensible Markup Language (XML) representation of a ribbon-shaped graphical user interface, the ribbon-shaped graphical user interface comprising a first tab, the first tab comprising one or more selectable controls for selecting one or more functionalities of a host software application; and
a processing unit that reads the instructions from the one or more computer storage media and executes the instructions, execution of the instructions by the processing unit causing the computing device to:
display a user interface for the host software application, the user interface containing the ribbon-shaped graphical user interface; and
after receiving a modification to the XML representation:
display a document in the user interface for the host software application, the document containing an object; and
expose an add-in control in the ribbon-shaped graphical user interface in response to receiving a selection of the object, the modification adding an add-in XML element to the XML representation, the add-in XML element corresponding to the add-in control.
12 . The computing device of claim 11 , wherein execution of the instructions by the processing unit causes the computing device to invoke a functionality provided by the host software application in response to receiving a selection of the add-in control.
13 . The computing device of claim 11 , wherein execution of the instructions by the processing unit causes the computing device to invoke a given functionality in response to receiving a selection of the add-in control, the given functionality provided by an add-in application that adds functionality to the host software application.
14 . The computing device of claim 11 , wherein the add-in XML element specifies that the add-in control is located after one of the selectable controls.
15 . The computing device of claim 11 , wherein execution of the instructions by the processing unit causes the computing device to:
integrate an amended XML file with an overall XML file, the amended XML file containing the modification to the XML representation, the overall XML file containing the XML representation; and render an amended user interface for the host software application after integrating the amended XML file with the overall XML file.
16 . The computing device of claim 15 ,
wherein the amended XML file is associated with an add-in application that adds functionality to the host software application; and wherein execution of the instructions by the processing unit causes the computing device to:
uninstall the add-in application; and
parse the amended XML file and disable changes to the user interface such that the changes to the user interface are not rendered in the user interface after the add-in application is uninstalled.
17 . The computing device of claim 15 , wherein the amended XML file is attached as a resource to a component object model (COM) add-in for providing functionality of an add-in application.
18 . The computing device of claim 11 , wherein execution of the instructions by the processing unit causes the computing device to prevent a third-party application add-in from modifying user interface components in the ribbon-shaped graphical user interface that are supplied by or modified by a second third-party application add-in.
19 . A computer storage medium that stores instructions, execution of the instructions by a processing unit of a computing device configuring the computing device such that the computing device:
renders a ribbon-shaped graphical user interface from an Extensible Markup Language (XML) representation of the ribbon-shaped graphical user interface, the ribbon-shaped graphical user interface comprising a first tab, the first tab comprising one or more selectable controls for selecting one or more functionalities of a host software application; displays a user interface for the host software application, the user interface including the ribbon-shaped graphical user interface; integrates an amended XML file with an overall XML file, the amended XML file containing a modification to the XML representation, the modification to the XML representation including an add-in XML element, the add-in XML element representing an add-in control; displays, in the user interface for the host software application, a document that includes an object; after integrating the amended XML file with the overall XML file, exposes the add-in control in the ribbon-shaped graphical user interface when the object is selected, the add-in control not being in the ribbon-shaped graphical user interface prior to receiving the modification to the XML representation.
20 . The computer storage medium of claim 19 ,
wherein the XML representation includes a control XML element, the control XML element corresponding to a given control, the given control being among the selectable controls in the ribbon-shaped graphical user interface, the control XML element including an attribute that specifies a first functionality of the host software application; and wherein execution of the instructions configures the computing device such that after integrating the amended XML file with the overall XML file, the computing device performs a second functionality in response to receiving a selection of the given control.Join the waitlist — get patent alerts
Track US2011296322A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.