Anduin Window Manager

Steve Dunn
MIThril, a borglab production. Richard W. DeVaul, Jonathan Gips, Michael Sung, Sandy Pentland, Steve Dunn
MIThril home

MIThril FAQ

MIThril wiki

Anduin window manager

MIThril Code

MIThril
hardware design

MIThril
project overview

The MIThril vision

MIThril diagrams

MIThril people

MIThril photos

Memory Glasses

MIThril Enchantment Software

MIThril
Real-Time Contxt Engine

MIThril IAP

Wearables Home Page

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.
  • Limited screen real estate ( a 320x200 head mounted display )
  • No pointing device ( in many situations, using a pointer while engaged in other tasks is impractical.)
  • Limited attention from the user - it must be easy for the user to switch back and forth from the wearable application and other tasks in the real world
  • Need for quick access to a range of system and context information

As a result, the following design was created:

  • One main application active and visible at any given time
  • A title above the main application to remind the user which task is currently active
  • A task bar listing all the currently running applications
  • A set of applets that are visible beside the main application, providing the user with quickly recognizable status and context information
  • A message bar that provides applications a place to send informational messages to the user
  • All explicit user input is in the form of key commands
  • Configuration files that control the window manager's basic appearance, behavior and key commands
  • Hooks for controlling the window manager from an external program such as an attention manager (still under development)

Main Applications

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

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.

Task Bar

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.

Ticker Bar

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.

Configuration Files

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.

Future Directions

  • Hooks for an Attention Manager
  • Non-uniformly sized applets
  • Re-loadable config files
  • Greater control over the layout of the various Anduin windows

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