Claims
- 1. A method for dynamically determining an appropriate user interface to be presented to a user of a computing device based on a current context, the method comprising:
for each of multiple predefined user interfaces, characterizing multiple properties of the predefined user interface; dynamically determining one or more current needs for a user interface to be presented to the user; and selecting for presentation to the user one of the predefined user interfaces whose characterized properties correspond to the dynamically determined current needs.
- 2. The method of claim 1 including presenting the selected predefined user interface to the user.
- 3. The method of claim 1 wherein the computing device is a wearable personal computer.
- 4. The method of claim 1 wherein the current context is represented by a plurality of context attributes that each model an aspect of the context.
- 5. The method of claim 1 wherein the current context is a context of the user.
- 6. The method of claim 1 wherein the selecting is performed at execution time.
- 7. The method of claim 1 wherein the dynamic determining and the selecting are performed repeatedly so that the user interface that is presented to the user is appropriate to the current needs.
- 8. The method of claim 1 wherein the dynamic determining and the selecting are performed repeatedly so that the user interface that is presented to the user is optimal with respect to the current needs.
- 9. The method of claim 1 wherein the determining of the current needs includes at least one of characterizing UI needs corresponding to a current task being performed, characterizing UI needs corresponding to a current situation of the user, and characterizing UI needs corresponding to current I/O devices that are available.
- 10. The method of claim 1 wherein the determining of the current needs includes characterizing UI needs corresponding to a current task being performed, characterizing UI needs corresponding to a current situation of the user, and characterizing UI needs corresponding to current I/O devices that are available.
- 11. The method of claim 1 wherein the determining of the current needs includes characterizing a current cognitive availability of the user and identifying the current needs based at least in part on the characterized current cognitive availability.
- 12 The method of claim 1 wherein the determining and the selecting are performed without user intervention.
- 13. The method of claim 1 wherein the selected user interface includes information to be presented to the user and interaction controls that can be manipulated by the user.
- 14. The method of claim 1 including monitoring the user and/or a surrounding environment of the user in order to produce information about the current context.
- 15. The method of claim 1 wherein the determined current needs are based at least in part on the current context.
- 16. The method of claim 1 including customizing the selected user interface based on the user before presenting of the customized user interface to the user.
- 17. The method of claim 1 including adapting the selected user interface to a type of the computing device before presenting of the adapted user interface to the user.
- 18. The method of claim 1 including adapting the selected user interface to a current activity of the user before presenting of the adapted user interface to the user.
- 19. The method of claim 1 wherein the determining of the current needs is based at least in part on the user being mobile.
- 20. A computer-readable medium whose contents cause a computing device to dynamically determine an appropriate user interface to be presented to a user of a computing device, by performing a method comprising:
for each of multiple predefined user interfaces, characterizing properties of the predefined user interface; dynamically determining one or more current needs for a user interface to be presented to the user; selecting for presentation to the user one of the predefined user interfaces whose characterized properties correspond to the dynamically determined current needs; and presenting the selected user interface to the user.
- 21. The computer-readable medium of claim 20 wherein the computer-readable medium is a memory of a computing device.
- 22. The computer-readable medium of claim 20 wherein the computer-readable medium is a data transmission medium transmitting a generated data signal containing the contents.
- 23. The computer-readable medium of claim 20 wherein the contents are instructions that when executed cause the computing device to perform the method.
- 24. A computing device for dynamically determining an appropriate user interface to be presented to a user of a computing device, comprising:
a first component capable of, for each of multiple defined user interfaces, characterizing properties of the defined user interface; a second component capable of determining during execution one or more current needs for a user interface to be presented to the user; and a third component capable of selecting during execution one of the defined user interfaces whose characterized properties correspond to the dynamically determined current needs, the selected user interface for presentation to the user.
- 25. The computing device of claim 24 wherein the first, second and third components are executing in memory of the computing device.
- 26. A computer system for dynamically determining an appropriate user interface to be presented to a user of a computing device, comprising:
means for, for each of multiple defined user interfaces, characterizing properties of the defined user interface; means for determining during execution one or more current needs for a user interface to be presented to the user; and means for selecting during execution one of the defined user interfaces whose characterized properties correspond to the dynamically determined current needs, the selected user interface for presentation to the user.
- 27. A method for dynamically determining an appropriate user interface to be presented to a user of a computing device based on a current context, the method comprising:
determining multiple user interface elements that are available for presentation on the computing device; characterizing properties of the determined user interface elements; dynamically determining one or more current needs for a user interface to be presented to the user; and generating a user interface for presentation to the user, the generated user interface having user interface elements whose characterized properties correspond to the dynamically determined current needs.
- 28. The method of claim 27 including presenting the generated user interface to the user.
- 29. The method of claim 27 wherein the dynamic determining and the generating are performed repeatedly so that the user interface that is presented to the user is optimal with respect to the current needs.
- 30. The method of claim 27 wherein the determining and the generating are performed without user intervention.
- 31. The method of claim 27 including retrieving one or more definitions for combining available user interface elements in an appropriate manner so as to satisfy current needs, and wherein the generating of the user interface uses at least one of the retrieved definitions to combine the user interface elements of the generated user interface in a manner that is appropriate to the determined current needs.
- 32. The method of claim 27 including retrieving one or more definitions for adapting available user interface elements to a type of computing device, and wherein the generating of the user interface uses at least one of the retrieved definitions to combine the user interface elements of the generated user interface in a manner specific to the type of the computing device.
- 33. A method for dynamically presenting an appropriate user interface to a user of a computing device based on a current context, the method comprising:
presenting a first user interface to the user; without user intervention, determining that the current context has changed in such a manner that the first user interface is not appropriate for the user; selecting a second user interface that is appropriate for the user based at least in part on the current context; and presenting the second user interface to the user.
- 34. The method of claim 33 wherein the determining that the current context has changed in such a manner that the first user interface is not appropriate for the user includes automatically detecting the changes.
- 35. The method of claim 33 wherein the selecting of the second user interface is performed without user intervention.
- 36. The method of claim 33 wherein the second user interface is one of multiple predefined user interfaces.
- 37. The method of claim 33 wherein the second user interface is dynamically generated after the determining of the changes in the current context.
- 38. The method of claim 33 wherein the second user interface is a modification of the first user interface.
- 39. The method of claim 38 wherein the modifying of the first user interface (“UI”) includes modifying prominence of one or more UI elements of the first user interface, modifying associations between the UI elements, modifying a metaphor associated with the first user interface, modifying a sensory analogy associated with the first user interface, modifying a degree of background awareness associated with the first user interface, modifying a degree of invitation associated with the first user interface, and/or modifying a degree of safety of the user based on one or more indications presented as part of the second user interface that were not part of the first user interface.
- 40. A method for characterizing predefined user interfaces to allow a user interface that is currently appropriate to be presented to a user of a computing device to be dynamically selected, the method comprising:
for each of multiple predefined user interfaces, characterizing the user interface by, determining an intended use of the predefined user interface; determining one or more user tasks with which the predefined user interface is compatible; and determining one or more computing device configurations with which the predefined user interface is compatible, so that one of the predefined user interfaces can be dynamically selected for presentation to a user based on the selected user interface being currently appropriate.
- 41. The method of claim 40 including determining information about a current context and selecting one of the predefined user interfaces that is appropriate for the current context.
- 42. The method of claim 40 wherein the characterizing of each of the predefined user interfaces includes at least one of characterizing content of the user interface, characterizing a cost of using the user interface, characterizing a relevant date for the user interface, characterizing a design of elements of the user interface, characterizing functions of the elements of the user interface, characterizing hardware affinity of the user interface, characterizing an identification of the user interface, characterizing an importance of the user interface, characterizing input and output devices that are compatible with the user interface, characterizing languages to which the user interface corresponds, characterizing a learning profile of the user interface, characterizing task lengths for which the user interface is compatible, characterizing a name of the user interface, characterizing physical availability of the user interface, characterizing a power supply of the user interface, characterizing a priority of the user interface, characterizing privacy supported by the user interface, characterizing processing capabilities used for the user interface, characterizing safety capabilities of the user interface, characterizing security capabilities of the user interface, characterizing a source of the user interface, characterizing storage capabilities used for the user interface, characterizing audio capabilities of the user interface, characterizing task complexities compatible with the user interface, characterizing themes corresponding to the user interface, characterizing an urgency level for the user interface, characterizing a user attention level for the user interface, characterizing user characteristics compatible with the user interface, characterizing user expertise levels compatible with the user interface, characterizing user preference accommodation capabilities of the user interface, characterizing a version of the user interface, and characterizing video capabilities of the user interface.
- 43. The method of claim 40 wherein the characterizing of each of the predefined user interfaces is performed without user intervention.
- 44. A method for dynamically determining requirements for a user interface that is currently appropriate to be presented to a user of a computing device based on a current context, the method comprising:
dynamically determining one or more current characteristics of a user interface that is currently appropriate to be presented to the user, the determining based at least in part on the current context; and identifying at least some of the determined characteristics as requirements for a user interface that is currently appropriate to be presented to the user.
- 45. The method of claim 44 including determining a user interface that satisfies the determined requirements and presenting the determined user interface to the user.
- 46. The method of claim 44 wherein the determining of the current characteristics includes determining characteristics corresponding to a current task being performed, determining characteristics corresponding to a current situation of the user, and/or determining characteristics corresponding to current I/O devices that are available.
- 47. The method of claim 44 wherein the determining of the current characteristics is performed without user intervention.
- 48. A method for dynamically determining requirements for a user interface that is currently appropriate to be presented to a user of a computing device, the method comprising:
dynamically determining one or more current characteristics of a user interface that is currently appropriate to be presented to the user, the determining based at least in part on a current task being performed by the user; and identifying at least some of the determined characteristics as requirements for a user interface that is currently appropriate to be presented to the user.
- 49. The method of claim 48 including determining a user interface that satisfies the determined requirements and presenting the determined user interface to the user.
- 50. The method of claim 48 wherein the determining of the current characteristics is performed without user intervention.
- 51. A method for dynamically determining requirements for a user interface that is currently appropriate to be presented to a user of a computing device, the method comprising:
dynamically determining one or more current characteristics of a user interface that is currently appropriate to be presented to the user, the determining based at least in part on a current I/O devices that are available to the computing device; and identifying at least some of the determined characteristics as requirements for a user interface that is currently appropriate to be presented to the user.
- 52. The method of claim 51 including determining a user interface that satisfies the determined requirements and presenting the determined user interface to the user.
- 53. The method of claim 51 wherein the determining of the current characteristics is performed without user intervention.
- 54. A method for dynamically determining requirements for a user interface that is currently appropriate to be presented to a user of a computing device, the method comprising:
dynamically determining one or more current characteristics of a user interface that is currently appropriate to be presented to the user, the determining based at least in part on a current context of the user; and identifying at least some of the determined characteristics as requirements for a user interface that is currently appropriate to be presented to the user.
- 55. The method of claim 54 including determining a user interface that satisfies the determined requirements and presenting the determined user interface to the user.
- 56. The method of claim 54 wherein the determining of the current characteristics is performed without user intervention.
- 57. A method for dynamically determining characteristics of a user interface that is currently appropriate to be presented to a user of a computing device, the method comprising:
dynamically determining a level of attention which the user can currently give to the user interface; and dynamically determining one or more current characteristics of a user interface that is currently appropriate to be presented to the user based at least in part on the determined level of attention.
- 58. The method of claim 57 including determining a user interface that includes the determined characteristics and presenting the determined user interface to the user.
- 59. The method of claim 57 wherein the determined level of attention is based on a determined current cognitive load of the user.
- 60. The method of claim 57 wherein the determining of the current characteristics is performed without user intervention.
- 61. The method of claim 57 wherein the determining of the level of attention is performed without user intervention.
- 62. A method for determining techniques for dynamically generating an appropriate user interface to be presented to a user of a computing device, the method comprising:
retrieving one or more definitions for dynamically combining available user interface elements in an appropriate manner so as to satisfy current needs; and selecting one of the retrieved definitions based on current conditions so that available user interface elements can be combined in an appropriate manner to generate a user interface that is appropriate to be presented to the user.
- 63. The method of claim 62 including using the selected definition to generate a user interface that is appropriate to be presented to the user and presenting the generated user interface to the user.
- 64. The method of claim 62 wherein the selecting of the retrieved definition is performed without user intervention.
- 65. A method for determining techniques for dynamically generating an appropriate user interface to be presented to a user of a computing device, the method comprising:
retrieving one or more definitions for dynamically adapting available user interface elements to a type of computing device; and selecting one of the retrieved definitions based on current conditions so that available user interface elements can be adapted to the type of the computing device so as to generate a user interface that is appropriate to be presented to the user.
- 66. The method of claim 65 including using the selected definition to generate a user interface that is appropriate to be presented to the user and presenting the generated user interface to the user.
- 67. The method of claim 65 wherein the selecting of the retrieved definition is performed without user intervention.
- 68. A method for dynamically determining an appropriate user interface to be presented to a user of a computing device based on a current context, the method comprising:
determining multiple user interface elements that are available for presentation on the computing device; and characterizing properties of the determined user interface elements, so that available user interface elements whose characterized properties are appropriate for a current context can be selected and combined in an appropriate manner to generate a user interface that is appropriate to be presented to the user
- 69. The method of claim 68 including combining available user interface elements whose characterized properties are appropriate for a current context in order to generate a user interface that is appropriate to be presented to the user and presenting the generated user interface to the user.
- 70. The method of claim 68 wherein the characterizing of the properties is performed without user intervention.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/240,671 (Attorney Docket Nos. TG1003 and 294438006US00), filed Oct. 16, 2000; of U.S. Provisional Application No. 60/240,682 (Attorney Docket Nos. TG1004 and 294438006US01), filed Oct. 16, 2000; of U.S. Provisional Application No. 60/240,687 (Attorney Docket Nos. TG1005 and 294438006US02), filed Oct. 16, 2000; of U.S. Provisional Application No. 60/240,689 (Attorney Docket Nos. TG1001 and 294438006US03), filed Oct. 16, 2000; of U.S. Provisional Application No. 60/240,694 (Attorney Docket Nos. TG1013 and 294438006US04), filed Oct. 16, 2000; of U.S. Provisional Application No. 60/311,181 (Attorney Docket Nos. 145 and 294438006US06), filed Aug. 9, 2001; of U.S. Provisional Application No. 60/311,148 (Attorney Docket Nos. 146 and 294438006US07), filed Aug. 9, 2001; of U.S. Provisional Application No. 60/311,151 (Attorney Docket Nos. 147 and 294438006US08), filed Aug. 9, 2001; of U.S. Provisional Application No. 60/311,190 (Attorney Docket Nos. 149 and 294438006US09), filed Aug. 9, 2001; of U.S. Provisional Application No. 60/311,236 (Attorney Docket Nos. 150 and 294438006US10), filed Aug. 9, 2001; and of U.S. Provisional Application No. 60/323,032 (Attorney Docket Nos. 135 and 294438006US05), filed Sep. 14, 2001, each of which are hereby incorporated by reference in their entirety.
Provisional Applications (11)
|
Number |
Date |
Country |
|
60240671 |
Oct 2000 |
US |
|
60240682 |
Oct 2000 |
US |
|
60240687 |
Oct 2000 |
US |
|
60240689 |
Oct 2000 |
US |
|
60240694 |
Oct 2000 |
US |
|
60311181 |
Aug 2001 |
US |
|
60311148 |
Aug 2001 |
US |
|
60311151 |
Aug 2001 |
US |
|
60311190 |
Aug 2001 |
US |
|
60311236 |
Aug 2001 |
US |
|
60323032 |
Sep 2001 |
US |