11. A portable media player compatible with a peripheral device, the portable media player comprising: a microprocessor for executing a UI presentation program; a memory storing instructions for the UI presentation program, the instructions comprising steps for: generating a user interface (UI) based on a UI document received from the peripheral device, the UI document defining layout and functionality of the UI for the peripheral device, the UI document identifying a widget and an update rate for the widget; displaying the UI for the peripheral device on a display of the portable media player; periodically requesting information from the peripheral device at the update rate in the UI document; and in response to the information, updating the UI in a manner described by the UI document.
11. A portable media player compatible with a peripheral device, the portable media player comprising: a microprocessor for executing a UI presentation program; a memory storing instructions for the UI presentation program, the instructions comprising steps for: generating a user interface (UI) based on a UI document received from the peripheral device, the UI document defining layout and functionality of the UI for the peripheral device, the UI document identifying a widget and an update rate for the widget; displaying the UI for the peripheral device on a display of the portable media player; periodically requesting information from the peripheral device at the update rate in the UI document; and in response to the information, updating the UI in a manner described by the UI document. 16. The portable media player of claim 11 , wherein the steps of the instructions for the UI presentation program further comprises: receiving an input from a user through the UI; in response to the input, (1) updating the UI in a manner described by the UI document and (2) transmitting an output to the peripheral device in a manner described by the UI document.