Anduin is a Window Manager designed for the MIThril Wearable Computing platform. The capabilities and constraints are based on the Enchantment white paper written by Ed Keyes. As specified in the white paper, the wearable interface differs from the common desktop interface in several important ways.
As a result, the following design was created:
Main Applications are defined as the applications that the user interacts with. This means that main applications can receive keystrokes from the user. They also occupy the majority of the screen real estate. It was decided that due to display size limitations only one main application would be visible at a time to maximize the viewing area. All of the running main applications are shown on the task bar. Using key commands, the currently selected main application can be set. It is possible to turn a main application into an applet. This moves the main application to the applet bar and resizes it. The currently active main application's title is displayed on the title bar above the main application space. This title is determined by the title attribute set by the application itself. New windows are automatically brought to the forefront of the main application window and set to the currently active window.
Applets are informational programs that are displayed in the applet window. While a program has applet status it is visible, but cannot receive any direct user input. All applets are set to the same size and tiled in a column on the right hand side of the screen. Typical examples of applets are things like battery status, time, system load and current number of unread email messages. Applets can be converted into main applications. When this happens, the applet is removed from the applet window and moved to the main application area as the currently selected main application.
The Task Bar lists the currently running main applications. The currently active main application is listed as the first application in the list. Main applications are ordered from left to right. By using key commands, the main applications can be cycled through. As each new main application is brought to the top of the list, previously selected applications are shifted to the right. As the number of main applications running increases, the amount of text listed for each application in the task bar is reduced to make room for more applications. When the titles for all the various applications become too small, additional applications to the right are pushed off the list and become visible again when space becomes available.
The ticker bar is located at the bottom of the screen and provides a place for programs to send informational text messages to the user. Based of the number of lines allocated to the ticker, messages are visible until more recent messages displace them. The most recent messages are displayed at the bottom and move up as new messages come in. Since messages may be scrolled off the screen while the user's attention is elsewhere, system critical messages should be delivered to the user in other ways, such as a new window in the main application space.
Anduin's appearance and behavior can be modified by a set of configuration files. A main configuration file controls the layout and default behavior and a keyfile specifies the key command bindings. The specific command and variable options are listed in a file named "CONFIGURATION" located in the anduin directory.
Download Anduin Tarball
This code was written for the MIT Media Lab and they retain the copyright. This code is licensed under the GNU Public License.
Anduin can be integrated with the Enchantment Whiteboard Server written by Jonathan Gips for the MIT Media Lab