December 01, 2006

Lessons from our Usability Study: Part I

The most educational part of the original Graphing Calculator 1.0 development process was sitting behind a two-way mirror for five days watching first-time users, students and teachers, trying to use our software. It was a humbling and enlightening experience. Anyone doing any aspect of software development: engineering, design, support, documentation, as well as user interface folks, should be subjected to the experience. Though the our study was done with version 1.0 way back in 1993 many of the lessons we learned were timeless.

Two recent blog posts bring one particular lesson to mind. Coding Horror warns This Is What Happens When You Let Developers Create UI and Arno Gourdol discusses The Design of the Mac OS X Shutdown Feature:

It is the job of the software designer to make choices on behalf of the user. That's what designing is all about.

Continue reading "Lessons from our Usability Study: Part I" »

November 05, 2006


After finishing the implementation phase of threading GC, I took a week off to rest from a cold. I expect some interesting debugging sessions, and look forward to benchmarking, profiling, and optimizing GC on multicore systems, but for now I'm moving on to other issues on my todo list.

I started this blog intending to write mostly about user interface design and the evolution of GC. Diving into threading occupied my full attention for several months, but now that that is done, it fades into the background. From the users perspective, it changes nothing in the interface. Some things are faster on newer machines, but new machines get faster all the time. That is expected. Eventually, I will be able to explore new kinds of visualization which would not have previously been possible without the speed benefits of parallel machines, enabling new functionality. But for now, the threading is just an implementation detail, transparent to the user.

Today, I'm looking at adding an option to the preferences dialog for GC4. In homage to A Short History of DragThing....

Graphing Calculator 1.0 (1993)

Continue reading "Preferences" »

August 16, 2006

User Interface Perfection

Macintosh Calculator 1.0 Consider the Calculator Desk Accessory on the original 1984 Macintosh System 1.0. It is easy to use and easy to learn. The interface is self-revealing: it requires no documentation and no instruction. It is obvious at a single glance both what it is capable of doing and how to do it. Equally importantly, its limitations are as obvious as its functionality. No one will waste any time trying to coax it to do anything which it was not designed to do. Every designer should strive towards these qualities.

Continue reading "User Interface Perfection" »