Note: The regular programming of this website has been interrupted due to a need to finish the Open Source Writing book. It will resume once I have sent a draft off to my editor/publisher. They have been very patient and I have been irresponsible. Though a month of hard work has left me in better shape than I thought I would be in at this time.
While I am supposed to be working on the Open Source Writing book, I read a very interesting piece on ZdNet this morning that I wanted to respond. Entitled, “The new reality: Technology must be self-evident,” the piece caused two simultaneous reactions.
First, I agreed with the spirit of the message. For new technology products to be successful, they must be “self-evident”, which means they must be intuitive. You must be able to understand their fundamentals by sitting down and starting to explore.
But even though I understand and appreciate the big message, I couldn’t disagree more with the way that Jason Hiner (the piece’s author) says we need to get there:
The new way of building tech products is about less rather than more. It’s about removing (or never implementing) rarely-used features rather than piling on as many as you can cram into a product. It’s about not being hyper-reactive to a handful of user requests that may not reflect the larger user base. Most of all, it’s about discipline — the discipline to stick to a product’s core functionality and avoid the temptation of product creep.
The end game of this disciplined approach is building products that have a user experience (UX) that is almost completely self-evident. That’s why products with stripped-down GUIs and feature sets like the iPad, Android, Gmail, and Salesforce.com have become meteoric success stories.
and then he offers a few concrete examples of “poorly designed products”:
Let’s pick on Microsoft Word as an example of the old way. Although it is far from alone in this phenomenon, it is one of the most popular software applications of all time. The product started out great. It was one of the first word processors to offer WYSIWYG and introduce a toolbar. It quickly conquered text-based Word Perfect by the mid-1990s.
But, then lots of different Windows and Mac users told Microsoft all of the things they wished the product could do or ways that they wished it would work and Microsoft took the best suggestions and kept adding on .more and more features and options to the point that today’s Word is so bloated, over-complicated, and bogged down with options that it’s often difficult to figure out how to do basic tasks. In fact, it often requires a bunch of documentation and training to figure out how to use it.
Simplicity is the Realm of the Stupid
I’m sorry, but this where I have to start “kicking against the pricks”. Less is not more. Usually, it’s just less.
It may be tempting to say that hammers/nails and screwdrivers/screws accomplish the same purpose (fastening materials together), and for that reason we should eliminate one of the options. We may say to ourselves “Let’s get rid of screwdrivers/screws, since they are more complicated. It will result in a cleaner and more productive workspace.”
But before doing that, let’s step back and ask an important question: What purpose does this action serve?
Yes, we free up space in the workshop and reduce confusion. It’s no longer necessary to teach people how to twist screws. A cleaner workspace is a bonus. But we take the action at the expense of a well-designed and elegant option. Because of their larger surface area and manner of installation, screws can be used in instances where nails are less useful. They result in a better join. Thus, trying to get rid of a well-designed option in the name of “simplicity” or “choice abundance” is actually harmful. It results in the proliferation of an inferior option because the superior choice is “more complex” or might require that we seek out a bit of training and learn when to use one tool over the other..
But the insanity doesn’t stop there. In an attempt to simplify, a product designer invariably indulges in the stupidity of Average Joe User. She attempts to craft a generic human being that is meant to stand in for you, your mom and anyone else who will make use of the product. She then meets Average Joe’s needs, or what she thinks are average Joe’s needs.
But of course, there’s just one problem. There is no such thing as Average Joe User. He. Does. Not. Exist. I don’t use a computer in the same way as my mom. Or my grandparents. There is no average of our activities that will somehow make all of us happy. This is why people submit feature requests and lobby for new options.
Yet, Microsoft Word does an admirable job of meeting our respective needs because people like me, my mom and my grandfather have requested certain capabilities. My mom (who is a school teacher) can sit down and write a lesson plan, my grandfather (who is a businessman) can write a letter, and I can use it to write a scientific report. If some product manager tried to start removing arbitrary features that my mom (who probably best reflects Average Joe) doesn’t need, it would negatively affect both my grandfather and I.
Rather than improve the quality of the product, it would castrate it into uselessness. All in the name of simplicity and “confusion avoidance.”
Aim for Elegance
Which really brings me to my main point. In software engineering, what we are aiming for isn’t simplicity. Rather, it’s the intersection of good engineering and smart design, which I’ll refer to as “elegance.” Edward Tufte has a quote that sums it up my feelings nicely [paraphrased]:
Confusion isn’t the result of complexity, but of poor design.
An elegant product is self-evident and clear, but still retains its power and functionality. And it’s infinitely preferable to a “simple product.” As an example, let’s return to analyzing Microsoft Word.
If Word is so confusing or undesirable, I’d really like to know, where is the Word processor or document writing system that challenges its hegemony? Who is advocating that we drop Word in favor of other tools? Where is the simple piece of software software that accomplishes everything we “need” and nothing we don’t?
Can it be found in Google Docs or OpenOffice (which is just as complicated as Word, if not more so)? What about an alternative system like LaTeX or a LaTeX front-end like LyX (my own personal choice)?
While the alternatives are compelling and work tremendously well, they haven’t stolen any significant market share from Word. Microsoft Word enjoys dominance because it is a capable Word processor for most people. Full stop. All of the other products taken together probably don’t even amount to more than 5% of Word’s user base. This is because Word is an elegant tool. It’s not often the best tool for the job, but it is usually adequate and often good. Nor would I call it “complex” or alienating. As I said earlier, it works for the majority of people most of the time.
Or perhaps someone could show me the army of ignorance that struggles to do simple things in Word?
Yes, people often struggle to do hard things (mail merge, query databases, build interactive forms, etc). But they this is true of hard things in other programs as well and in simple programs, the options aren’t available. Which is like comparing a duck to a cow.
From within Word to do simple things is straightforward. You open the program and start typing. You click on the bold button, or on an appropriate style. It’s all self-evident and available. The UI is clear. There is no significant learning curve. I’m not sure that there is a learning curve at all for basic tasks. You simply start writing and place one word after another. Billions of people are able to do this without any significant difficulty, including people with physical disabilities. While I might like to knock it, Microsoft Word is a piece of Very Good Software.
So what does stripping features accomplish? It doesn’t make the use of basic features more obvious. Nor does it enable the use of advanced options (since they are simply removed). For that matter, it might not even influence the speed of the program (the so-called bloat), since that is more of a question of program optimization than number of raw features.
In the case of Word, simplicity isn’t a virtue. But elegance is. Instead of removing the features, the goal should be to integrate them into the program in a better manner and to make their function more obvious. It is, in effect, a design challenge. Word 2010 is a better program than Word 2003 because it allows you to both do more and makes the tools more available.
Sometimes Complexity Is Important
Which raises another relevant point. Sometimes a tool needs to be sophisticated and specialized. For example, where is the serious contender to Photoshop?
Maybe someone can point me at a few consumer level photo tools that are meeting the needs of mom and dad, but there is no “simple” piece of software that is threatening Adobe’s flagship product. Nor do the alternatives address a wider variety of needs. Photoshop is used by graphic designers, illustrators, artists, scientists and engineers. Yes, it’s complicated and requires instruction, but after you’ve mounted the learning curve, the UI and palette design is also highly logical, consistent and useful. In this case, sophisticated is better than simple.
And it’s obvious. If you look at the world of digital art, Photoshop (and other specialized tools) are the choice for content creation. Certainly, some stuff has come off of “simple” tools, like the iPad, but these these are akin to a symphony played on a collection of iPhones. They are novelties, and interesting for that reason. iPad is simply not the equal of a computer + Photoshop + Wacom. I would even go so far as to say that the “simplicity” is a handicap, as It is much harder to create something of quality.
(Please no videos of sketch artists using iPad. I’ve seen them, they’re utterly inferior. Wacom can interpret pitch, pressure and different types of point. It comes very close to the subtlety of real artistic tools. It’s like comparing 5 year old soccer to the world cup. There is no comparison and anyone who seriously advocates such an option is simply not worth my time. Go spend some time around working artists, or better yet, take a few classes and try and use an iPad. Then we can talk.)
iPad is an interesting machine, and Salesforce.com is tremendously cool. But they both serve niche markets and since they are so targeted, they don’t really fall into the inanities of “Average Joe.” In fact, I would even go so far as to say that their success has little to do with “simplicity” and much more to do with elegance. They meet specific needs very well.
The iPad is a companion device optimized for consumption: reading, email, websurfing. These are major activities for many users, and for that reason, it’s enjoyed success. Salesforce.com also nicely meets a very specific targeted need. It helps find contacts and push products/services. Again, a very narrow niche that is targeted well. But even there, it has hardly replaced Outlook. It’s much more a complement than a “simple replacement.” A case of “More is more.”
So while I agree with the Hiner’s tagline, “Technology must be self-evident”, I disagree with the prescription on how to get there. Rather than aim for simplicity, tech needs to aim for elegance. In the physical sciences, we use Maxwell’s equations because they elegantly summarize many phenomenon, not because they are simple.
Ditto for good software. If the features are present and elegantly incorporated into the UI, they will be discoverable and that brings value to a product. Which is why people stay with Word and MS Office. Yes, they could switch to “simpler” alternatives, but in many cases those options are the bad “simple”. They’re crippled, which makes them worthless.
Give me elegance any day. An elegant product meets the needs of its users. It incorporates features, good engineering and smart design. It makes hard things easy and enables the impossible. It is, simply, superior in every way.