A system for controlling presentation of information to a user based on
the user's current condition. In particular, the system monitors the user
and the user's environment, and creates and maintains an updated model of
the current condition of the user. The user condition can include a
variety of condition variables, including abstract concepts such as the
user's current cognitive load, desired level of privacy for output
information, and desired scope of audience for output information. Upon
receiving output information to be presented to the user (e.g., from an
application program), the system determines an appropriate output device
and an appropriate format with which to present the information to the
user, and then presents the output information. The system can also
receive description information about the output information that
describes relevant factors for determining when and how to present the
output information (e.g., the importance and urgency of the output
information, the consequences of the user not receiving or ignoring the
output information, etc.). Some versions of the system execute on a
wearable computer having a variety of available output display devices.