User Experience and Software Design

Cybernetics is, at its core, a science of purpose. It enables the formal modeling of human goals in complex situations, including conversations, decision making, and computer-mediated collaboration. The columns below provide both approaches to and examples of software implementationsbased on a cybernetic framework. There are also articles, coursedescription, and design proposals that show how cyberneticsis an effective tool for harnessing the trilogy of computation, communication, and conversation, all in service of human goals.

Cybernetic models are powerful tools for understanding the design process. They form a rigorous basis for teaching interaction design practices: see conversations for design.

Conversation itself is a foundational construct for supporting effective processes of interaction. Fortunately there is a cybernetic theory of conversations, used as the basis for articles on the topic: see design for conversation.

Abstract (look for reference to 1/23/01 class) and slides of a talk to Human-Centered Computing class at Berkeley which characterizes end-users as fundamentally engaged in prototyping activity, so every UI needs to be designed to facilitate end-users' designing, trying, iterating, and refining their products as well as their goals.

A conceptual talk about the value in putting goals into user interfaces. Presented at BayCHI, San Francisco Bay Area ACM Special Interest Group in Human-Computer Interaction, March 2000.

A paper from 1982 published from the Harvard Graphics Conference, about personalizing user interfaces and measuring their effectiveness.

Software Implementations

THOUGHTSHUFFLER, a new approach to reading, searching, and blogging, on desktop or handheld.

Help system for commercial search engine toolbar, the first of its kind, distributed on the web in 1996. HTML is auto-generated from a proprietary software tool that automatically converts metadata plus application documentation into a web-based HELP system.

Web-based tutorial for commercial, enterprise knowledge-management system released in 1997. HTML and Javascript is auto-generated to produce a user experience that would be impractical to hand-code or create from existing web production tools.

Screenshots of a prototype from early 1997. Focused on functions rather than visual design (which was addressed when moved to Java from LISP), this tool greatly improved the experience of web searches by capturing a personal, dynamic ontology. The tool contains features still not available commercially.

History of an adaptive hypermedia system called THOUGHTSTICKER. Built in the mid-1980s, the system responded to each click based on the history of interaction with that individual. The result was extremely efficient and pleasing for the user, who was treated as a unique individual. Written for a festschrift, the early sections of the paper that describe personal history can be skipped.

Application of THOUGHTSTICKER to nuclear power plant emergency operations. This $1.2M development project, completed in 1992, was also documented in an IEEE paper.

EOM, a graphically scripted, simulation-based animation system (PDF file, 200K). Built in 1977 at MIT, this system used 2-dimensional scripts to define arbitrary simulations that resulted in color animations. The system was a complete, generalized programming environment that was graphical and based on data-flow, rather than linear code. One user interface innovation was the use of the locations of the elements on the 2-d script as starting conditions for the animation, making revision and evolution extremely fast. EOM was used to create animation sequences for the WGBH-TV "NOVA" program on Linus Pauling. See also a published article (also available as a PDF) from Creative Computing in 1980 for a less formal description of the same system.)