A distributed user interface (UI) system includes a client device
configured to render a UI for a server-based application. The client
device communicates with a UI server over a network such as the Internet.
The UI server performs formatting for the UI, which preferably utilizes a
number of native UI controls that are available locally at the client
device. In this manner, the client device need only be responsible for
the actual rendering of the UI. The source data items are downloaded from
the UI server to the client device when necessary, and the client device
populates the UI with the downloaded source data items. The client device
employs a cache to store the source data items locally for easy
retrieval.