Being exposed to the idea of User Experience and design has been a very eye opening experience for me. It may sound rather obvious to take into account user expectations and perspectives, but it’s generally not emphasized in college level Computer Science classes, or in education at large. After all, when you’re working on a project, be it a script, program, document, or website, you’re the producer and thus you focus on the production, and not necessarily the consumption. So to take into account the opposite perspective of “how do I create the best product for others” involves an inversion of the default ordering.
Working on my website has been a very interesting case study on this topic. This is the first site that I’ve created that actually looks somewhat pleasant, as opposed to utilitarian at best, and downright ugly at worst. Since I have no art or design background, it took a lot of reading and research to figure out how one actually builds an attractive site. Design is an entire domain of knowledge that I’ve previously been ignorant of, but now that I understand it, it’s hard to understate the importance of it.
Why design matters
For someone with a CS/sysadmin/coder background, design, and specifically graphical design can appear as merely dressing because so little time is actually spent on user facing components. For instance, if you’re trying to provide a service, and if people can consume that service, you’re done right?
Well, not really.
These days, when you visit a page, at some level you’re going to form opinions about the quality and veracity of the content based on the design. A simple example of this is comparing the Ruby Application Archive to rubygems.org. If you’re trying to find bindings for MPI, for instance, if you stumbled across both sites, I’m guessing you would go with rubygems.org. RAA looks old, stale, and rather dead (which might not be far off the mark). How about lwn.net? It has some of the latest developments in the free software world and has excellent articles, and it looks ameteurish at best. A quick glance at the stylings really seem to indicate that someone picked a few tones of tan and grey at random and called it good. If you stumbled upon this site, would you consider it credible?
Like it or not, the design and layout of your websites matter. If you’ve put time into making sure that your site is easy to navigate, displays important information prominently, is intuitive to use and in general ensures people have a good experience with your site, it will earn more credibility and have more impact, hands down. Of course you still need the content there to be consumed, but in an age of unending informational overload, presenting your material in a clear, easy to consume matter is of increasing importance.
This principle of design extends beyond visual design. If you’re writing a library or command line tool, user experience still matters. If you write a command that doesn’t accept –help or provides little to no documentation, is unforgiving of errors, isn’t flexible or requires complex or unnatural usage, it’s going to get less review or usage - and then nobody wins. People come off with bad experiences, and you’ve wasted the time you put into your code.
Design in the information age
The increasing importance of design, user experience, and the systems that deliver content are byproducts of the onslaught of information that is rushing over us at increasing volume. Content delivery time and cost has dropped massively, content discovery is now trivial, and barring some sort of apocalyptic event the global economy will be increasingly focused in information consumption and production. These are all obvious at this point, but it’s easy to forget that we’re squishy meat humans trying to scale our minds to deal with this onrushing of information.
In the 90’s when the Internet was significantly smaller, there was simply less media to consume, so poorly designed sites were of much less concern. Now, when you have sites like Reddit aggregating overwhelming quantities of information and solving problems involves sifting through pages of search results and related pages, the readability of these pages matters much, much more. And since readability is one aspect of design, here we are - at the position where we directly need good design to help us function. It’s not window dressing, it’s a necessity to keep us running.
Design as Literacy
Computer literacy has become an increasingly important skill, for education and the workforce alike. Things like knowing how to use a search engine effectively, send email, touch type, and the like are hardly necessary to put on a job description - they’re must have skills for so many roles today. Many of these skills are required for the consumption of knowledge, which is obviously a very big part of the picture. However, since we’re focusing so heavily on information now, the production of information should also take on new importance, which leads straight into design.
It doesn’t seem that far fetched to think that we need to emphasize the importance of conveying information. In essence this is just emphasizing an aspect of communication - something that could easily define basic literacy. It doesn’t strike me as unreasonable for people to try to understand the basics of how we think and learn and try to convey information in a manner that best aids this. And think about the benefits of this - think of all the times where you’ve had to wade through some horribly designed site or some atrociously formatted document - all that effort saved. Current trends show no signs of stopping so design literacy will become more and more important as time progresses.