|
A task is scheduled with the
iCalendar application. The time, task, script to run, and context
are specified. We use the iCalendar to schedule our seminars and
meetings. |
|
The iCalendar has different
presentations for year and monthly views. |
|
The views of the iCalendar are
synchronized with the model through the application framework. |
|
Application components are fully
distributed. |
|
Users login to the system via
the authentication service through different means. |
|
The authentication service
supports fingerprint detection, USB devices, and smart watches. |
|
|
|
Once a user has been
authenticated, an event is sent to the system. The tickertape
listens to these events to provide feedback as to when a user has been
logged in or logs out of the system. The tickertape wraps around the
room, moving between displays. |
|
The attendance application also
listens to the login events to record who is present during a scheduled
task. The file system associates the attendance information with the
current context. The attendance application can be used - unchanged
- for different tasks (e.g., different seminars) and the file system will
return the correct attendance data. |
|
When users log into the system,
their personal data gets added to the system. They are allocated a
temporary directory in the room namespace. This allows users to move
and have their data move with them to become available to local
applications. Users and applications can tag information so that the
data is better organized or available only in a certain context. |
|
The MP3 player application loads
all music files that are made available to the system for the current
context. The file system determines which files should be displayed. |
|
Applications in an Active Space
may be launched on one or more of the available displays. When
launching an application (either from the application or a data file), a
configuration may be selected. User-defined configurations may also
be imported into a space. |
|
Launching an application
consists of instantiating the four main components - model, presentation,
controller, and coordinator. Multiple presentation may be attached
to the model. In addition, views may be added after the application
has already started. |
|
All devices, services,
applications, and users are registered in the space. |
|
A handheld can be registered in
the space by first obtaining a handle to the space via IR beacon. |
|
Once the beacon is received, the
handheld can interact with the services in the space. The handheld
becomes another execution node in the space and can run application
components. Optionally, references to personal data can be merged
into the room file system namespace. |
|
The handheld is now registered
as another device in the room. |
|
Application components
(controllers, presentations) can be moved and duplicated to different
devices. The list of available devices are queried from the Space
Repository. |
|
For example, the controller can
be moved to the registered handheld device. |
|
Similarly, a Smartphone can
interact with Gaia over GPRS or Bluetooth. |
|
The application coordinator
keeps track of the application components and bindings. Terminating
an application removes all application components from the system. |
|
Webcams can be controlled by
Gaia and can be used to track users based on their locations |
|
All this creates a seamless
environment that can be programmed to support different activities. |