CS231: Human Factors and User Interface Design
H-hour (9-10:20 TTh), CIT 506
Steven P. Reiss
This year's topic will be
Next-Generation Application User Interfaces
Motif is over ten years old. MFC and the Macintosh toolbox are as well. AWT is poorly designed and Swing isn't all that much better. Writing code for and interacting with any of these packages is often an unpleasant (and sometimes painful) experience. Yet we continue to write applications for personal computers and workstations. What will the user interface look like and how will it be implemented on such applications in the next 5-15 years?
This is the theme of the course. In particular, the course will explore various alternatives to these existing packages and attempt to develop a prototype of what the interface package should be.
Directions to Consider
There are several possibilities that we might want to consider (by no means inclusive):
Remote access where the application is run on the workstation but is displayed on an arbitrary device. This could be done, for example, by using the web browser as the user interface.
Using handheld or portable devices as pen-based and flexible interval to workstation applications.
Cooperative environments where working together is a common theme but where cooperation is not necessarily built into the application.
Additional input and output methods such as speech and gestures.
Intelligent input managers which do sophisticated input/output processing and formatting outside the application. These could include the use of AI, planning techniques, user awareness, and input analysis.
Viewing programs and their user interfaces as Java-style interfaces where things can be built to plug and play. This could be extended with various other facilities to tie together various services instead of writing single applications.
The class will break into teams and each team will be responsible for exploring one or more of these or other alternatives. This exploration will include readings, presentations, and the development of a prototype user interface package along with one or more sample applications that demonstrate the new technology.