(Comment left on: Brett Hlavinka's Blog)
Book: The Inmates are Running the Asylum - Why High-Tech Product Drive us Crazy
and How to Restore the Sanity
Author: Alan Cooper
In his book, Alan Cooper addresses the problem of why software is difficult to use and frustrating for end users.
He calls this problem "The Dancing Bear" in which he means that people are introduced with software products that function (dance) but not very easily or elegantly (the bear is dancing). Cooper says that people are divided into two groups when they use computer software:
Apologists make excuses for bad software and tell survivors that they should be amazed that the products work and fulfill its function. They say, "Look! The bear is dancing."
Survivors on the other hand look at the ungraceful dance of the bear and feel something is wrong and are frustrated with the bear's dance. (Software could be better, easier to use, and more friendly.)
The reason "dancing bearware," that is to say bad/hard-to-use software, exists is because software is created by the ultimate apologists: Software Engineers.
Software engineers are trained to think like computers: deterministic, apathetic, literal, sequential, predictable, etc.
They think this way to be able to more easily make efficient software.
Therefore, they lose the perspective of the end user and usability of the software system is sacrificed.
Cooper also identifies the problem that companies are run by businessmen who are also introducing the constraints of time, money, and marketability which makes the software be produced hastily and with a list of features that may not be important.
Thus interface design for the end users is sacrificed.
Cooper proposes a solution to the problem by saying that companies and software development teams should have special interface designers who act as a third force to ensure product quality and usability for the potential customers of software.
I have mixed feeling reading this book.
On one hand, I feel like a survivor who's sympathetic to computer illiterate folks who get frustrated with everyday computer interaction. In that mindset, I can see what Cooper is saying about trying to make software easier to use. That's a good cause that most software engineers need to take into perspective. We're all in this business because at some level, we all enjoy to work with computers. Certainly easy to use programs are part of what brought us here.
On the other hand, I am still entrenched in the views of apologists.
Although Cooper is a programmer himself, I think he is sometimes disconnected from all the difficulties and considerations that must be taken to develop good software.
At one point, he explains that the search for file function on the computer is too confusing for users because it gives them to options to search by file name, type, and location. The user doesn't have to use all these options! They are there for people who know where and what they want to search for!
Honestly, people can learn how to more effectively use a computer, it's just that most people aren't willing to learn and understand!
With all that said, I think putting interaction designers into programming teams and companies is a good idea that is worth implementing. If we can make better software for people that way, then let's do it.
I also think feature creep and the computerization of certain products needs to be reversed. Modern day cameras can be overly complex and alarm clocks should be made simple.
Making things simple is a good cause. I just wish he wouldn't insult programmers.