These five UserInterfacePatterns
are often described by WardAndKent
though they never (yet) wrote them down. They were
first applied by the SemiconductorTestSystemsGroup
I have seen a lot of patterns about the low level aspects of user interface programming, and I have seen patterns on how to approach designing for the user. Last year, I co-authored a pattern language that tried to address what I felt fell through the cracks: Patterns that address the whole user's experience with a piece of software. I wanted to bridge the gap between SoftwareDesign
(where some user interface experts call their home) and SoftwareEngineering
(where most programmers live).
It didn't make the cut for the PLoP96 book, but some people have found it useful and I got positive feedback at the conference. If you get a chance, check out http://www.maplefish.com/todd/papers/experiences/Experiences.html
and let me know what you think.
It is interesting that so few user interface patterns have been written.
I guess that just validates the stereotypes about programmers.
An interesting subarea of UserInterfacePatterns
In 1995, I was consulting for a client who was a psychologist. The team I was on tried every graphical user interface structure for database applications that was popular at that point in the industry--single document interface, multiple document interface, VB 1.x style interface. However the client didn't like any of these designs. Finally, we decided to try an interface style based on the look and feel of the Web (we were programming in Delphi), where TheDataIsTheUserInterface
. The toolbar became a list of StartingPoints
into data browsing and editing screens, and from there on, the data was presented in the natural hyperlinked graph that represented its underlying structure. The client was finally pleased with the results.
In 1998, I had a second consulting assignment where I decided to try the same technique again. This time we were rewriting a Clipper application for Windows. To my astonishment, the client--who was also the original Clipper programmer--had written a similar interface based on TheDataIsTheUserInterface
for his Clipper application. So we easily rewrote the application for Windows, and gave it some Web functionality in the process.
I have since written a completely web-based presentation program using TheDataIsTheUserInterface
, and this has been extremely successful.
I'm not sure if TheDataIsTheUserInterface
is specific enough to be a pattern, but thought that bringing it up here might spur some discussion about what might be.
- What common web interface designs reflect patterns?
- What interface designs tend to be unique to web applications?
covers some of these issues
There are a number of excellent UI Patterns, with clear and detailed explanations at http://www.welie.com/
. Each pattern is described with the problem that it solves, the rationale behind its solution, as well as examples and places where you'd be likely to use it.
A pattern language for (the user interface of) business intelligence applications is available from http://docs.felixkaiser.com/go/a-pattern-language-for-business-intelligence
See also GuiGuidelines