A method and system for adapting a computing device in response to changes
in an environment surrounding the computing device, or in response to the
user's stated preferences. The computing device includes one or more
sensors that sense the environment. A changed characteristic of the
environment is detected. A determination is made as to one or more
settings to change in response to the changed characteristic. Then one or
more of the settings are changed to cause the computing device to
interact with the user in a different mode. A mode may include which
inputs, outputs, and/or processes are used to communicate with the user.
A mode may also include how an application formats output or receives
input.