Article | Walkin, B. (2009). “Managing UI Complexity.” Retrieved 22 October, 2009.
Summary | As programs become more powerful, designers (and users) are faced with evermore complex user interfaces (UI). In the war on complexity, designers must find innovative ways to simplify UI. Brandon Walkin provides a number of options – some common, some common sense – to address this important issue.
The most common approach discussed is “Progressive Disclosure” and it’s variant “Contextual Actions”. In laymen’s terms, these methods amount to creating a hierarchy of controls of which only the top layer is exposed. Users can dig into this hierarchy to discover related, but less commonly used controls. Whereas classic “Progressive disclosure” relies on the grouping of commands around a main UI element, “Contextual actions” are grouped by their relevance to a particular object on which an action or command is to be performed – the right-click menu is a common example.
Among those UI tactics that seem common sense are: Alignment, Visual Hierarchy, Visual Noise, Contrast, and Use of Icons. Though apparently obvious, Walkin correctly points out that many widely used applications do not optimize their interfaces to properly leverage best practices around these methods.
The last topic touched on is often overlooked – user’s Mental Models. In designing interfaces, and the language within, it is important to understand and design within the pre-existing mental models of users. Utilizing language and structures they are familiar with immediately lowers the perceived complexity of an interface.
User Groups | The importance of designing around existing mental models emphasizes the importance of identifying and understanding the intended user groups.
Conceptual Design | During conceptual design, it is important to ensure that the functionality defined is actually required. The addition of non-essential or non-related functionality may needlessly increase the complexity of the program and hinder its effectiveness at addressing the original function.
Interaction Design | Identifying and focusing on core interactions is key to implementing any type of “progressive disclosure” approach. Identifying the hierarch of interaction, and related interactions makes possible the grouping of commands in this method of managing UI complexity.
Interface Design | Designing of interfaces is more art than science; however, there are common methods (explained in the article) for creating a simpler UI. It is important, to remember however, that none of these methods are a panacea to the issue of complexity.
Moreover, simplicity doesn’t mean ease of use. As the author states, “Poorly considered [simplification] can achieve the opposite of the intended effect…”and make the interface harder to use. This seems a common problem as a number of companies, websites, and individual products attempt to adopt a minimalist (sometimes called “Web 2.0” or “Apple”) style for their product design.
Lastly, the potential cost (e.g., time, resources, money, screen real estate, and number of clicks per action) of employing this article’s approaches to managing complexity must always be considered.