In an embodiment, a computer peripheral device driver comprises logic
operable to perform sending, from a computer to a peripheral device, a
request for a user interface of the peripheral device; receiving from the
peripheral device a description of the user interface that the peripheral
device has created in at a time of the request and based upon
then-current capabilities of the peripheral device; creating one or more
graphical user interface (GUI) elements based upon the description of the
user interface and causing displaying the GUI elements; receiving user
input representing one or more selections of the GUI elements; creating a
user interface ticket that describes the GUI elements that were selected
as represented in the user input; sending the user interface ticket to
the peripheral device.