Luke Wroblewski at Functioning Form discusses the most common and prevalent dilemma in software design – tension between consistency and content. Luke gives apt examples to show that same user interface can underperform when difference has to be illustrated to the user. However, consistency is something that is tightly integrated to usability, it is something that makes the application easier to use. That is why the system should be consistently different. Lets define consistency before we can elaborate on this.
What Is Consistency?
Consistency is the ability of an application to hold its interface and response across time. Consistency comes out of transforming discovery into expectations by the user, and if it complies the user’s effort to use the application reduces. A popular example is if you find the search box on the top right corner of a web page, you will start expecting that the search box will be on the top right corner on all pages across the website. Do you expect that F1 will bring up help for a desktop application on Windows? Another scale is where for branding consistency has to be maintained across websites of a single company – the same logo at the same place, the same resolution, the same primary colors, etc., etc., etc.
However, what was missing out of this definition was that consistency can be for an atomic element or a composite element. Consistency across different atomic elements that form a composite element can result in consistency for the composite element. Lets look at a smaller scope for the discussion, left click on a URL link takes us to a different page and left click on a mailto link will open our default email program. This difference in response is accepted if this happens across the entire website. In fact now we expect this on all the web sites. If the response for these left clicks is consistent, the website can be consistent.
In other words, definition of consistency of the website included treating different elements differently. Which is what I call being consistenly different. However, it is very easy to go overboard with this and cross the delicate line between being consistently different and inconsistency. To design consistency it is of prime importance to identify the different content types. As part of the requirements analysis, the common behavior can be identified and the specific behavior can be differentiated. Whether two content types should be called different or not should completely depend on whether the user is required to see them differently. This can result in consistency across all content types and specificity for each of them. An example is, the HR reports and financial reports that a CEO reads can be different but both of them can export a PDF version. The PDF version is consistent across all reports, however the financial report can allow some complex financial calculations that the HR report will not.
The design should also include standards. Standards are a way of being consistent across an entire domain.
Consistency for a software application is a result of consistency across all the elements and consistenly treating the different content types differently.
Copyright Abhijit Nadgouda.