1460772098-aa99ba4d-cb40-42ea-95da-3ab09b44d11d

1. 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.
2. The method of claim 1,
wherein, after the computing device receives the modification to XML representation, the ribbon-shaped graphical user interface comprises a second tab, the second tab including one or more additional selectable controls associated with the one or more additional functionalities provided by the add-in application.
3. The method of claim 1, wherein after receiving the modification to the XML representation, the XML representation specifies a change to a behavior of a selectable control contained in the ribbon-shaped graphical user interface.
4. The method of claim 1,
wherein a given selectable control contained in the ribbon-shaped graphical user interface is enabled; and
wherein after receiving the modification to the XML representation, the given selectable control is disabled in the ribbon-shaped graphical user interface.
5. The method of claim 1, further comprising: after receiving the modification to the XML representation and upon receiving a focus on a selectable control contained in the ribbon-shaped graphical user interface, displaying an identification of the add-in application.
6. The method of claim 1, wherein a XML schema restricts a given selectable control contained in the ribbon-shaped graphical user interface from modification.
7. The method of claim 1,
wherein the ribbon-shaped graphical user interface includes a contextual user interface for displaying a third set of one or more selectable controls, the third set of selectable controls applicable to the selected object; and
wherein after receiving the modification to the XML representation, the ribbon-shaped graphical user interface comprises one or more additional selectable controls in the contextual user interface.
8. The method of claim 1, further comprising: after un-installation of the add-in application from the host software application, rendering the ribbon-shaped graphical user interface as the ribbon-shaped graphical user interface appeared prior to receiving the modification to the XML representation.
9. The method of claim 1, further comprising after receiving the modification to the XML representation, automatically scaling any user interface components added in the ribbon-shaped graphical user interface such that the any user interface components added in the ribbon-shaped graphical user interface are scaled to fit a display space in which the ribbon-shaped graphical user interface is displayed.
10. The method of claim 1,
wherein after receiving the modification to the XML representation, the ribbon-shaped graphical user interface includes a selectable control that was not in the ribbon-shaped graphical user interface prior to receiving the modification to the XML representation, the selectable control associated with one of the additional functionalities provided by the add-in application, wherein the selectable control is associated with a first data; and
upon receiving a change to the first data, refreshing the modified ribbon-shaped graphical user interface to automatically update the selectable control.
11. A computer storage medium containing computer executable instructions, which when executed by a computer, cause the computer to:
receive an add-in application for providing one or more additional functionalities to a host software application on the computer, wherein an initial XML file represents an initial version of a ribbon-shaped graphical user interface in a graphical user interface of the host software application, the initial version of the ribbon-shaped graphical user interface including a first tab, the first tab comprising a gallery containing a first set of 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;
receive an amended XML file, the amended XML file being an amended version of the initial XML file, the amended XML file representing a modified version of the ribbon-shaped graphical user interface, wherein in addition to the controls in the gallery in the initial version of the ribbon-shaped graphical user interface, the gallery in the modified version of the ribbon-shaped graphical user interface includes a contextual control;
after receiving the amended XML file, receive, from a user, a selection of an object in a document displayed in the graphical user interface; and
expose the contextual control in the gallery in the modified version of the ribbon-shaped graphical user interface in response to receiving the selection of the selected object, the contextual control comprising an image that represents a given functionality to be applied to the selected object if the contextual 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.
12. The computer storage medium of claim 11, further comprising: upon receiving a focus on the contextual control, displaying in the modified version of the ribbon-shaped graphical user interface identification information about modifications to the initial version of the ribbon-shaped graphical user interface.
13. The computer storage medium of claim 11,
wherein the initial version of the ribbon-shaped graphical user interface includes a contextual user interface for displaying a second set of one or more selectable controls applicable to the selected object; and
wherein the contextual control is in the contextual user interface.
14. The computer storage medium of claim 11,
wherein prior to receiving the amended XML file, the gallery in the initial version of the ribbon-shaped graphical user interface provides a second set of one or more selectable controls for providing one or more functionalities to the selected object.
15. A method for modifying a graphical user interface, the method comprising:
displaying, by a computing device, a user interface for a host software application, the user interface including an initial version of a ribbon-shaped graphical user interface;
receiving, at the computing device, an add-in application that provides one or more additional functionalities to the host software application,
wherein an initial XML file represents the initial version of the ribbon-shaped graphical user interface, the initial version of the ribbon-shaped graphical user interface including a gallery that provides a first 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,

receiving, at the computing device, an amended XML file, the amended XML file being an amended version of the initial XML file, the amended XML file representing a modified version of the ribbon-shaped graphical user interface, the amended XML file including a first add-in XML element, the first add-in XML element corresponding to a contextual control, wherein in addition to the selectable controls in the gallery in the initial version of the ribbon-shaped graphical user interface, the gallery in the modified version of the ribbon-shaped graphical user interface includes the contextual control;
after receiving the amended XML file, receiving, from a user, a selection of an object in a document in the user interface; and
exposing, by the computing device, the contextual control in the gallery in response to receiving the selection of the object, the contextual control comprising an image that represents a given functionality that is applied to the selected object if the contextual control is selected, the given functionality being one of the additional functionalities provided by the add-in application; and
in response to closing a document-based solution that modified the initial version of the ribbon-shaped graphical user interface, rendering the initial version of the ribbon-shaped graphical user interface instead of the modified version of the ribbon-shaped graphical user interface.
16. The method of claim 15, further comprising: receiving, at the computing device, a selection of the gallery.
17. The method of claim 15, further comprising:
disabling a second set of one or more selectable controls in the modified version of the ribbon-shaped graphical user interface.
18. A method for modifying a graphical user interface, the method 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;
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 for 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 an object in a document displayed in the user interface;
exposing, by the computing device, the add-in control in the ribbon-shaped graphical user interface in response to receiving the selection of the selected object;
applying a given functionality to the selected object in response to selection by the user of the add-in control, the given functionality being one of the additional functionalities provided by the add-in application; and
after un-installation of the add-in application from the host software application, rendering the ribbon-shaped graphical user interface as the ribbon-shaped graphical user interface appeared prior to receiving the modification to the XML representation; 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 before opening the document-based solution.
19. The method of claim 18,
wherein after receiving the modification, the ribbon-shaped graphical user interface comprises a second tab, the second tab containing one or more additional selectable controls associated with the one or more additional functionalities provided by the add-in application.
20. The method of claim 18, further comprising: after receiving the modification to the XML representation, upon receiving a focus on a selectable control contained in the ribbon-shaped graphical user interface, displaying an identification of the add-in application.
21. The method of claim 18,
wherein the ribbon-shaped graphical user interface includes a gallery providing a second set of one or more selectable controls for providing one or more functionalities to the selected object; and
wherein after receiving the modification, the gallery comprises one or more additional selectable controls in addition to the second set of selectable controls.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A transaction device for receiving a user input, the transaction device comprising:
a user-interfaceable surface, coupled to at least one source of electrical potential so as to generate an x-axis signal and a y-axis signal as a function of the at least one source of electrical potential and a location of the user input;
a signal generating unit generating a random signal; and
an arithmetic unit generating an encrypted output signal by adding the random signal to at least one of the x-axis signal and the y-axis signal, wherein the adding comprises at least one of (i) combining the random signal with the at least one source of electrical potential and (ii) combining the random signal with the at least one signal, and wherein the signal generating unit comprises:
a random digital signal generator; and
a digital-to-analog converter coupled to receive output from the random digital signal generator, wherein an output from the digital-to-analog converter is the random signal.
2. The transaction device of claim 1, wherein the signal generating unit and the arithmetic unit comprise electronic components housed within the transaction device.
3. The transaction device of claim 1, further including:
a processor;
a screen controller coupled to the processor and to the user-interfaceable surface;
wherein the processor reproduces the x-axis signal and the y-axis signal by decrypting the encrypted output signal using the random signal.
4. The transaction device of claim 3, further including:
an encryption unit encrypting the x-axis signal and the y-axis signal after the processor performs the decryption; and
a communication interface outputting the encrypted x-axis signal and the encrypted y-axis signal.
5. The transaction device of claim 1, wherein the arithmetic unit directly sums the random signal with the at least one of the x-axis signal and the y-axis signal.
6. The transaction device of claim 1, wherein the arithmetic unit supplements the at least one source of electrical potential by injecting the random signal.
7. The transaction device of claim 1, wherein the user-interfaceable surface is a display-input screen that can output information from the transaction device and can respond to the user input.
8. The transaction device of claim 1, wherein the user-interfaceable surface comprises a material responsive to a change in pressure exerted against the user-interfaceable surface.
9. The transaction device of claim 1, wherein the user-interfaceable surface is responsive to heat transferred to the user-interfaceable surface.
10. The transaction device of claim 1, wherein the user-interfaceable surface is responsive to changes in light incident upon the user-interfaceable surface.
11. The transaction device of claim 1, wherein the user-interfaceable surface is responsive to infrared energy incident upon the user-interfaceable surface.
12. A method of encrypting signals corresponding to locations on a user-interfaceable surface of a transaction device, the method comprising:
receiving an x-axis signal and a y-axis signal generated as a function of a location of a user input on the user-interfaceable surface;
generating a random signal; and
generating an encrypted output signal by adding the random signal to at least one of the x-axis signal and the y-axis signal, wherein the adding comprises at least one of(i) combining the random signal with a source of electrical potential from which the x-axis and y-axis signals are generated and (ii) combining the random signal with the at least one signal, wherein generating the random signal comprises:
generating a random number; and
converting the random number to an analog signal used as the random signal.
13. The method of claim 12, wherein the user-interfaceable surface is a display-input screen that can output information from the transaction device and can respond to the user input.
14. The method of claim 12, wherein the method is carried out by electronics disposed within a housing of the transaction device.
15. The method of claim 12, further comprising:
disposing within a housing of the transaction device electronics carrying out the method;
the electronics including at least a screen controller and a processor;
the processor coupled to the screen controller, and the screen controller coupled to the user-interfaceable surface; and
coupling the encrypted output signal to the processor;
wherein the processor can decrypt the encrypted output signal.