Software development guru Joel Spolsky delivered the first keynote address to a packed crowd at EclipseCon 2006 this morning. Joel was introduced by Eclipse director Mike Milinkovich who thanked the conference organizers and sponsors. "If you haven't read [Joel's] blog, you should" said Mike as he turned the mic over.
Let's start with the obsession we have with celebrities like Brad Pitt and Angelina Jolie. Compare Brad with lesser known actors like Ian Sumerhalder who are equally (or more) talented. Ian is kind of an off-brand Brad. Like the Creative Zen Nomad Xtra compared to the iPod.
Once you get past the level of meeting people's needs, there's another level you get into, the "blue chip" level.
The blue chip product often surprises people. For example when the Aeron chair came out, people thought it looked like a bug. Eventually people started associating it with "comfort". Even though clones were made, for much cheaper, but nobody wants them.
Take the 1970's band Looking Glass, vs. Leonard Skynard. Despite the fact "Sweet Home Alabama" has its problems, like it's impossible to sing along to, it rocks so people love it.
My Formula for Blue Chip-ness: Make people happy, think about emotions, obsess over aesthetics.
(at this point, to describe how to make people happy, Joel ran a hilarious slideshow that simulated the Windows boot process. First he had trouble logging in, then he had to make updates, reboots, and all kind of problems and wiseacre error messages. Totally funny, everybody was rolling in the aisles.)
It's no wonder people hate their computers (and vice-versa). There's a real theory on this, "Learned Helplessness" (see book by Peterson, Maier, and Seligman). What they recommend you do to overcome this is try small tasks that you can be successful at and start to learn that *something* is under control. That's why I like programming, the computer will actually do what you tell it to.
Let's go into some actual software here. At the Abercrombie and Fitch web site, you must follow 4 steps in a certain order so you can check out. So you're a little less in control than, say, at the Amazon web site. There, you can do things in whatever order you want, it's a small thing but it's a matter of putting people in control instead of dragging them along helplessly.
Another example is a Logitech Bluetooth mouse. I like these better because it works better than the infrared ones that often fail. When you press the button, I have confidence it worked, but with the infrared ones you might have to press it again and again.
On the A&F site, when you add something to your cart it gives you instantaneous feedback, making you happy and feeling like you're in control. Even control at the micro-level, zero response time, doing not what they intended but actually what they did.
On Emotions, let me take a poll, how many people think the Camry or the Ford Explorer is safer for the passengers? (Most people picked the SUV.) The actual statistics show passenger deaths per million cars were 88 in the Explorer and 41 in the Camry, due to the height, safety requirements, etc.. But why do so many feel safer in the SUV?
At the "cortex level" you know you're safer in the lower vehicle, but at the "reptilian level" you want to be higher up, surrounded by round cushy things. Just like Windows XP with it's round corners. So Windows is has safety designed in. :)
Next, Aesthetics. This is a ridiculously important component of making something "blue chip". The iPod is $399, the Creative Zen is $249. The Creative Zen is arguably a superior device at a lower price. The iPod comes in lots of pretty colors, and there's no way to change the battery. I think they didn't give you a way to change the battery because it would involve adding a lot of protuberances and blemishes on the perfect surface of the iPod. This is style over comfort, or "fashion".
Apartment buildings in New York have fire escapes, but ones in Paris don't. If there's a fire, you burn to a crisp, but you'll look fabulous while you're doing it. So the iPod is successful because Steve Jobs is actually French. :)
Regular human beings just see what they see. They're not thinking about all the stuff inside.
When I first started my company Fog Creek, we were just 3 guys with laptops. We found a company that hired us, a dot com startup, and rather than hiring programmers they outsourced to a gigantic global consulting mainframe manufacturer, and spent all $12mil that the company had raised. The dotcom was worried and they hired us and asked them to come in and build everything in 3 weeks. They found a shortcut and built it in 2.5 weeks, and they had 2 days left, gathered everyone together, and they were really unhappy. Why?
The CEO started looking around, and the project manager said "It just doesn't look slick". The CEO jumped in and agreed. After that everybody around the table said there should definitely be some slickification and graphic designers were called in. Luckily I found on my hard drive the original screen. Before, was just a plain 2-color bar chart, and After was the same bar chart with a gradient. The moral: people are superficial.
When you show somebody a powerpoint, they'll react to what they see first. The world is enormously superficial. The proof: Keanu Reeves is still acting. For software developers this is very frustrating.
Programmers don't want to address this, saying we're not artists. So one technique they use is "skins" and let the "community" supply the beautiful graphics. Beautiful design vs. honest design. Architects invented the concept in the 30's, for example the Centre Pompidou in Paris. There's a tendency to say "function is honest". What do we need fake drop shadows, pretend brushed aluminum, etc.. Architects have discovered we're sick of this but we're not there yet with software. We haven't had hundreds of years of unnecessary gargoyles to rebel against.
So, you're trying to make excellent blue chip products. It has less to do with technology and more to do with making happy comfortable pretty people. If I could summarize in word word it would be: "misattribution". For example you go see a movie, get a bucket of coke, and at the end of the movie your friends ask you if you enjoyed the movie. There are two possibilities, one: you spent the whole time not being able to go to the bathroom, and you say you hate the movie. Two: you got a caffeine high and when you come out you say you loved the movie.
You need that initial positive reaction to your software. After that they'll overlook the bad things.
Say you have to give a speech. You could concentrate on your content, or you could tell jokes and show pictures of Angelina Jolie. At the end, people will say "That's the best speech I ever heard".