Patent ID: 8239882

Claim:
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 a first logical group of controls, the first logical group of controls comprising a first set of one or more selectable controls for selecting one or more functionalities of the host software application, the ribbon-shaped graphical user interface including a gallery that provides a second set of one or more selectable controls, each of the selectable controls in the gallery comprising an image that represents a functionality that is applied if the selectable control is selected; providing an Extensible Markup Language (XML) representation of the ribbon-shaped graphical user interface, the XML representation including a first XML element and a second XML element, the first XML element corresponding to the first tab of the ribbon-shaped graphical user interface, the second XML element corresponding to the first logical group of controls; 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 modification to the XML representation, the modification adding a first add-in XML element to the XML representation, the first 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 gallery in response to receiving the selection of the object, the add-in control comprising an image that represents a given functionality to be applied to the selected object if the add-in control is selected, the given functionality being one of the additional functionalities provided by the add-in application; and after closing a document-based solution that modified the ribbon-shaped graphical user interface, rendering the ribbon-shaped graphical user interface as the ribbon-shaped graphical user interface appeared prior to receiving the modification to the XML representation.