Claims
- 1. A data processing method comprising:
generating, with a client device, a user interface (UI) for a server-based application according to a UI format determined by a UI server; transmitting a number of source data items related to said server-based application from said UI server to said client device; and populating at least one native UI control used by said UI with said number of source data items.
- 2. A method according to claim 1, further comprising the step of formatting characteristics of said UI based upon a number of device capabilities for said client device.
- 3. A method according to claim 1, wherein said at least one native UI control is associated with an operating system for said client device.
- 4. A method according to claim 1, further comprising the step of executing, at said UI server, said server-based application to manipulate source data items for presentment at said client device.
- 5. A method according to claim 1, further comprising the steps of:
generating an action request in response to a manipulation of said UI by a user of said client device; and updating said UI in response to said action request.
- 6. A method according to claim 1, further comprising the steps of:
performing an offline action by said client device while said client device is disconnected from said UI server; subsequently establishing a session between said client device and said UI server; and thereafter transmitting, from said client device to said UI server, a command indicative of said offline action.
- 7. A method according to claim 6, further comprising the step of executing said command by said server-based application.
- 8. A method according to claim 6, wherein:
said offline action modifies at least one of said source data items at said client device; and said method further comprises the step of updating a corresponding number of source data items maintained by said UI server to reflect the modification of said source data items.
- 9. A method according to claim 1, further comprising the step of maintaining a shadow cache at said UI server, said shadow cache including a list of source data items transmitted from said UI server to said client device.
- 10. A method according to claim 1, further comprising the step of saving said number of source data items in a client cache resident at said client device.
- 11. A method according to claim 10, further comprising the step of removing client cache items to accommodate said number of source data items.
- 12. A method according to claim 11, wherein said removing step selectively removes said client cache items according to a hierarchical preference scheme.
- 13. A method according to claim 1, further comprising the steps of:
sending a client action command related to said server-based application from said UI server to said client device; and executing said client action command by said client device.
- 14. A method according to claim 1, wherein said number of source data items represent a portion of a larger amount of related data available at said UI server.
- 15. A method according to claim 14, wherein:
said larger amount of related data comprises a list of items; and said number of source data items represents a subset of said list of items.
- 16. A method according to claim 14, wherein:
said larger amount of related data comprises a document; and said number of source data items represents a portion of said document.
- 17. A method according to claim 14, wherein:
said larger amount of related data comprises an image; and said number of source data items represents a portion of said image.
- 18. A method according to claim 14, wherein:
said larger amount of related data comprises a body of text; and said number of source data items represents a portion of said body of text.
- 19. A data processing method comprising:
defining a user interface (UI) form in response to a number of device capabilities for a client device; storing said UI form locally at said client device; saving a number of source data items locally at said client device, said number of source data items being related to a server-based application executed by a UI server; and populating said UI form with said number of source data items.
- 20. A method according to claim 19, further comprising the step of transmitting said number of source data items from said UI server to said client device.
- 21. A method according to claim 19, wherein said defining step is performed by said UI server in response to a device identifier obtained from said client device.
- 22. A method according to claim 19, further comprising the step of executing, at said UI server, said server-based application to manipulate source data items for presentment at said client device.
- 23. A method according to claim 19, further comprising the steps of:
generating an action request in response to a manipulation of said UI form by a user of said client device; and updating said UI form in response to said action request.
- 24. A method according to claim 19, further comprising the steps of:
performing an offline action by said client device while said client device is disconnected from said UI server; subsequently establishing a session between said client device and said UI server; and thereafter transmitting, from said client device to said UI server, a command indicative of said offline action.
- 25. A method according to claim 24, further comprising the step of executing said command by said server-based application.
- 26. A method according to claim 24, wherein:
said offline action modifies at least one of said source data items at said client device; and said method further comprises the step of updating a corresponding number of source data items maintained by said UI server to reflect the modification of said source data items.
- 27. A method according to claim 19, wherein said saving step saves said number of source data items in a client cache resident at said client device.
- 28. A method according to claim 27, further comprising the step of removing client cache items to accommodate said number of source data items.
- 29. A method according to claim 28, wherein said removing step selectively removes said existing client cache items according to a hierarchical preference scheme.
- 30. A method according to claim 27, further comprising the steps of:
updating said UI form in response to a manipulation of a display control rendered by said client device; requesting an additional number of source data items from said UI server if said manipulation of said display control triggers a data request command; and replacing source data items saved in said client cache with said additional number of source data items.
- 31. A method according to claim 27, further comprising the steps of:
updating said UI form in response to a manipulation of a display control rendered by said client device; retrieving additional source data items from said client cache in response to said manipulation of said display control; and displaying said additional source data items in said UI form.
- 32. A method according to claim 19, further comprising the steps of:
sending a client action command related to said server-based application from said UI server to said client device; and executing said client action command by said client device.
- 33. A method according to claim 19, wherein said defining step defines said UI form based upon said server-based application.
- 34. A method according to claim 19, wherein said defining step defines said UI form with at least one native UI control stored locally at said client device.
- 35. A method according to claim 19, wherein:
said UI server has access to a total number of source data items associated with said UI form; and said number of source data items saved during said saving step represents a portion of said total number of source data items.
- 36. A method according to claim 35, further comprising the steps of:
said UI server receiving a request for additional source data items; and said UI server transmitting a subsequent portion of said total number of source data items to said client device in response to said request.
- 37. A method according to claim 36, wherein said UI server receives said request from said client device in response to a manipulation of said UI form.
- 38. A data processing method comprising:
executing, at a user interface (UI) server, a server-based application configured to manipulate source data items for presentment at a client device; displaying a UI form at said client device, said UI form being capable of presenting data items to a user of said client device; generating an action request in response to a manipulation of said UI form by a user of said client device; and updating said UI form in response to said action request.
- 39. A method according to claim 38, further comprising the steps of:
sending said action request from said client device to said UI server; and processing said action request by said UI server.
- 40. A method according to claim 38, further comprising the step of transmitting a number of source data items related to said server-based application from said UI server to said client device, said transmitting step being performed in response to said action request.
- 41. A method according to claim 40, wherein said number of source data items represent a portion of a larger amount of related data available at said UI server.
- 42. A method according to claim 41, further comprising the steps of:
requesting, from said UI server, said number of source data items in response to an initial manipulation of said UI form; and subsequently requesting, from said UI server, an additional number of source data items in response to a further manipulation of said UI form; wherein said additional number of source data items represent a second portion of said larger amount of related data.
- 43. A method according to claim 38, further comprising the steps of:
said UI server receiving information representing new, deleted, or modified data items; and said UI server transmitting, to said client device, push data representing said new, deleted, or modified source data items.
- 44. A method according to claim 43, further comprising the step of said UI server sending, to said client device, a push notification corresponding to said push data.
- 45. A data processing method comprising:
generating a user interface (UI) form definition for a server-based application based upon a number of device capabilities for a client device; instructing said client device to render a UI form corresponding to said UI form definition; rendering said UI form with at least one native UI control associated with an operating system for said client device; transmitting a number of data items from a UI server to said client device, said number of data items being related to said server-based application; and displaying said number of data items in said at least one native UI control.
- 46. A method according to claim 45, further comprising the step of specifying a command script corresponding to a manipulation of a UI control contained in said UI form, said command script being configured for execution by said client device.
- 47. A method according to claim 46, further comprising the step of executing, by said client device, said command script in response to the manipulation of said UI control at said client device.
- 48. A method according to claim 45, further comprising the step of saving said number of data items in a client cache resident at said client device.
- 49. A method according to claim 48, further comprising the step of retrieving said number of data items from said client cache prior to said displaying step.
- 50. A method according to claim 45, further comprising the step of requesting, from said UI server, said number of data items in response to a manipulation of said at least one native UI control.
- 51. A method according to claim 45, wherein said number of data items represent a portion of a larger amount of related data available at said UI server.
- 52. A method according to claim 51, further comprising the steps of:
requesting, from said UI server, said number of data items in response to an initial manipulation of said at least one native UI control; and subsequently requesting, from said UI server, an additional number of data items in response to a further manipulation of said at least one native UI control; wherein said additional number of data items represent a second portion of said larger amount of related data.
- 53. A distributed user interface (UI) architecture comprising:
a client device architecture comprising a UI module configured to generate a UI for a server-based application according to a UI form definition, and to populate at least one native UI control used by said UI with source data items; and a UI server architecture comprising a server send module configured to transmit, to said client device architecture, a number of source data items related to said server-based application; wherein said UI module populates said UI control with said number of source data items.
- 54. A distributed UI architecture according to claim 53, wherein said UI server architecture further comprises a UI formatting module that generates said UI form definition based upon a number of device capabilities for a client device that includes said client device architecture.
- 55. A distributed UI architecture according to claim 53, wherein said client device architecture further comprises a client cache configured to store said number of source data items.
- 56. A distributed UI architecture according to claim 55, wherein said UI server architecture further comprises a shadow cache configured to store data representing the contents of said client cache.
- 57. A distributed UI architecture according to claim 55, wherein said client cache is further configured to store said UI form definition.
- 58. A distributed UI architecture according to claim 53, wherein said number of source data items represent a portion of a larger amount of related data available to said UI server architecture.
- 59. A distributed user interface (UI) system comprising:
a client device having a client processing architecture and a client communication element configured to communicate with a compatible communication element; and a UI server having a server processing architecture and a server communication element configured to communicate with said client communication element; said client processing architecture being configured to:
transmit a device identifier to said UI server; generate a UI form in accordance with a UI form definition; and populate at least one native UI control with a number of source data items associated with a server-based application; said server processing architecture being configured to:
receive said device identifier from said client device; identify said UI form definition in response to said device identifier; and send said number of source data items to said client device for rendering with said UI form.
- 60. A system according to claim 59, wherein:
said client device includes a number of device capabilities related to UI characteristics; and said server processing architecture is further configured to generate said UI form definition based upon said number of device capabilities.
- 61. A system according to claim 59, wherein said client device further comprises a client cache configured to store said number of source data items.
- 62. A system according to claim 59, wherein said client device further comprises a client cache configured to store said UI form definition.
- 63. A system according to claim 59, wherein said number of source data items represent a portion of a larger amount of related data available at said UI server.
- 64. A system according to claim 63, wherein:
said client processing architecture is further configured to request, from said UI server, said number of source data items in response to an initial manipulation of said UI form; said client processing architecture is further configured to subsequently request, from said UI server, an additional number of source data items in response to a further manipulation of said UI form; and said additional number of data items represent a second portion of said larger amount of related data.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. ______, titled “Platform-Independent Distributed User Interface Server Architecture,” filed ______, and to U.S. patent application Ser. No. ______, titled “Platform-Independent Distributed User Interface Client Architecture,” filed ______.