As the sheer amount and complexity of information grows, we as developers are now often faced with the question of how to best organize and display that information to the end-user. Even with a well-thought out user interface, there is the possibility that we will overlook the internal and external relationships between sets of data. When the consumer of information is a human as opposed to a machine or program, there exists the opportunity to leverage the innate pattern recognition that all human beings possess. Humans are capable of consuming and assimilating a great amount of information as long as it is provided in the proper format, and in computer mediated experiences this is visual and to a lesser extent auditory in nature. Not only are humans able to quickly understand information presented in a visual manner, they can often easily recognize complex relationships that are difficult to program a computer to recognize.
A. Pay no attention to the XML behind the curtain
Even in the case where information is stored in a relatively human-friendly format such as XML, the transformation of this information to representation that is not strictly textual can be of great benefit. Take this very simple RSS feed as an example:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Do computers grok XML better than humans?</title>
<description></description>
<link>http://localhost</link>
<item>
<title>While human readable, XML is best left to the machines.</title>
<description>
Even simple data formats like an RSS feed can be greatly enhanced by representing them visually.
The transformation of XML to HTML that is then rendered as a visual input is a simple example of this.
</description>
<link>http://localhost/items.aspx?id=1234</link>
<pubDate>Tue, 17 Jul 2007 22:10:10 GMT</pubDate>
<dc:creator>Brian Kuhn</dc:creator>
</item>
</channel>
</rss>
Now, granted if you are familiar with the RSS specification, questions like "Who is the author of the first channel item?" and "How old is the channel item?" are easy to answer. But with the typical transformation to HTML that most modern browsers perform against common syndication formats like RSS, anyone can answer these types of questions. Here is the same RSS feed as it is rendered in Internet Explorer 7:
As you can see, Internet Explorer is extracting common information like the publication date, author, and item title and presenting them in a way that is familiar to a reader.
B. There is no spoon
Humans are naturally adept at the substitution of a visual input for a mental construct, and so we should take advantage of this when presenting even basic information. Just as many of us have been conditioned to substitute green for go and red for stop, you can increase productivity by differentiating information using visual cues. Take the following file system directory, the first undifferentiated, the second differentiated using custom folder icons:
versus
At this point, you may be saying "big deal". But I have found that differentiating information using visual cues (custom folder icons) provides a means of reducing the number of thought cycles a person must perform when making a decision. Instead of having to engage in the process of reading the name of the directory, a person will eventually begin to substitute the visual cue for the directory's textual identity.
C. It's all relative
Data visualization is becoming more popular in the Web 2.0 world. I think part of it is just the geek factor, where having a slick visual user interface is done just to have a slick user interface. But when you are dealing with rich and complex sets of data, efficiently representing the relationships between discrete data elements becomes important. Visualizing the data not only allows consumers to more quickly understand the data, but provides a means of looking at data in different contexts. In the last few years we have seen an increasing number of alternative ways to interact with information that prior was exposed in the typical textually centric manner. Social networks can be explored using tools like Fidg't, relations between web sites can be discovered using walk2web, and user generated content like that on digg can be visualized as a stack or as a swarm.
One of the more useful data visualization tools I have found is WikiMindMap. A mind map is a diagram that represents semantic or other connections between portions of information. Here is the mind map that describes some of the connections around RSS on Wikipedia:
Conclusion
As you can see, the way complex or dense information is presented to human consumers can have a big impact on productivity and ease of use as well as exposing connections between data elements in an intuitive manner. Designing user interfaces that leverage the built-in pattern recognition of end-users can reduce the machine/human friction of traditional interfaces.