The Pictographer's Shop
The Pictographer's ShopSM
Dynamic Graphics Programming and User Interface Design

Interaction Design Portfolio

Most of my work has involved interaction design in one way or another, ranging from web development to multimodal interfaces to Artificial Intelligence.

Desktop Interfaces

User interface building technology is a primary interest of mine. The projects below made use of interface builders, constraint systems, and several other unusual techniques for rapidly constructing high quality user interfaces.

Wyse Technology, Inc. hired me to design, implement and oversee the interface for their new embedded Linux product line. Wyse wanted their users to have a Desktop experience similar to Windows XP yet with a small memory footprint. We achieved this using the Qvwm window manager and the GTK+ user interface toolkit. We selected GTK+ because it offered us several key advantages: localization support, concise user interface description files, and a user interface editor.
As a founder of Lights On Software, I enjoyed several rolls: knowledge engineer, product designer, algorithm developer, graphic artist, and user interface designer. This image shows a lighting plan for a bedroom. The user has entered the walls, doors, furniture, and artwork. The program automatically generated the lighting design and dimensions.

Multimodal Interfaces Using Speech Recognition

People I talk to often express surprise at how good speech recognizers have gotten for constrained vocabulary tasks such as voice menu navigation. At BravoBrava! LLC I collaborated on several projects integrating speech recognition and other unconventional input technologies as well.

Screenshot from a talking refridgerator technology demonstration. I created all the graphics except the recipe photograph and programmed the interaction.
Created a tool to collect speech data from children reading. One challenging part of the design was cleaning the sample text and breaking it into sentences. There isn't a simple rule for recognizing sentence boundaries in English text. Abbreviations and quotations need to be handled specially.
[Image links to BravoBrava!'s website.] I created the layout, background art, icons and wrote some of the code for a brilliantly conceived reading tutor for children called ReadIt!. I also created the MacroMedia Flash presentation at BravoBrava's

Information Design and Web Development

Homepage design proposal for a small online business.
All to often people create charts and graphs without adequate consideration of color, type, and line weight. I created this palette to help me create attractive and easy to read diagrams.
Created this map for a small engineering firm. My aim was to give them a carefully crafted and understated design.
Sometimes what appears on the screen is not as important as the ideas inside. We knew the window design would change, but needed a graphic for a marketing document. Callouts to the rescue!

Simulation and Visualization

My favorite software design pattern is the interpreter pattern. For Muse, I created a small interpreter that enabled an artist and a producer to rescue a project that was failing for lack of art direction and and project direction. The people responsible for the interaction design didn't come up with anything acceptable to the client. While they were struggling, I created a language that would enable the to react quickly once a design was created. My language was used successfully to manage the multimedia assets and to define the interactions in the 3D environment pictured here.
For GeneEd, I developed time-based and state-based simulations. The application pictured here comes from a Flash tutorial for biopharmaceuticals workers. It enables them to experiment with protocols for cleaning a reactor vessel and guides them to develop a protocol that work. The user selects various automated washing steps. In response they are presented with a particle simulation of the washing process and the resulting tank state. Aside from the particles, the graphics are not mine. I collaborated on the interaction design and coding.