About a year and a half ago, we published (internally) a set of 88 UI patterns to help direct design on our various product teams. (The patterns were inspired by and extended from Designing Interfaces by Jenifer Tidwell). Since then, we have based our expert reviews on the patterns, providing both quantitative scoring for comparison and tracking and qualitative feedback like any good heuristic review. After completing many reviews, a small subset of the patterns emerged as problem areas: almost every design failed to meet the guidelines and intent of these patterns.
What surprised me was how basic this subset of patterns is. They don’t deal with any of the complex interactive elements, nor the deep domain-specific issues we encounter. The problems are primarily in screen and data layout, user support, and error handling. In the big consumer software products and high-volume web sites, I feel like these areas have been mastered, or at least they’ve settled into a moderately usable set of common expectations. In vertical software markets (like ours in industrial automation), it seems that there is still a long way to go before these basics are commonly practiced.
Here’s a quick synopsis of the most problematic patterns:
Western Reader: Left align labels and text, align controls, and left-to-right, top-to-bottom flow through a screen.
Wizard: Step by step execution of a user task with way-finding and context.
Watermelon Table: Display of large data sets in tables with multiple columns, including left aligned data and alternate-row shading.
Progress Indicator: Show progress for time-consuming operations with the option to bail out.
Error Prevention: Prevent mistakes in data entry.
Titled Sections: Visually separated sections with titles.
User Assistance: Multiple levels of assistance in the UI for a user to complete their work.
We see these same problems in our competitive analysis work, both within our industry and others with an engineering tool focus. I’ll bet that in much of your own work, you see them too. Anyone else have experience applying UI design patterns and seeing these meta-patterns of problem areas?