Thursday, March 27, 2008

The Not So Big ...

If you're buying or building a house, go buy this book right now: The Not So Big House by Sarah Susanka. If you're building software, I also recommend it.


To me, there are a lot of similarities between architecture and computer science. It's hard to work in software and not have heard of Design Patterns, by the "Gang of Four" (Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides), which was inspired by another architecture book: A Pattern Language by Christopher Alexander. Personally, I'm a big fan of Frank Lloyd Wright and his approach to architecture (though I wish he'd been taller).

Susanka has started a whole cottage industry after the success of The Not So Big House. She has a web site, http://www.notsobighouse.com, and a number of follow-on books, including Creating the Not So Big House, Inside the Not So Big House (about details within your home), Outside the Not So Big House (about landscaping and gardens), and Not So Big Solutions for Your Home. She also wrote The Not So Big Life, a book about philosophy and and living that has received mixed reviews. Maybe she should have stuck to architecture. But what she has to say really does resonate with software.

In short, Susanka says that you should build spaces that you actually need and will use, not with spaces that you're supposed to have. Build for the way you live, not the way other people live, or the way you're supposed to live. How many houses have you been in where the owners have rooms they never use? The formal living room with furniture nobody sits in, or the formal dining room with the elegant but uncomfortable chairs that have never seen a meal, or the large, cold foyer that people walk through, or avoid completely because they're coming in the side entrance (I remember visiting one house where the front door was covered with cobwebs, it had been so long since it had been used).

Build for comfort, not for scale. To use one example that I see all the time, a large kitchen isn't better -- it's simply bigger. When we redid our kitchen, I did the design myself and I'm proud to say that four people can comfortably work in it at the same time without bumping into each other, pretty remarkable for a kitchen that is only 160 square feet (and more than a third of that space is taken up by the cabinets and appliances). It does have an adjacent eating area of another 130 square feet, but if you include that area, you can another person or two. It is by no means what you would call a "gourmet kitchen" (no Wolf range, no Sub-Zero freezer), but we included things that made us comfortable and that we would use -- my wife's top wishes were a bay window, two sinks, and a broom closet, while mine were a pizza oven and a dedicated space for rolling out pizzas. And we left out things that we didn't want. The kitchen is not organized in the classic sink-refrigerator-stove triangle (it's more like a pentagon). We have very few overhead cabinets and there's no built-in desk, despite the fact that the saleswoman selling me the cabinets really thought that we needed them.

Even if you're not building (and most of us aren't), you still have a choice --it's in the way you organize the space. We didn't build our house, but we use every room in our house every day. If you can't say the same thing, reconsider how you're using your space.

Getting back to computers, if all this sounds like it's what we should do with software, it is.

  • Build features that are actually needed and will get used.
  • Build for the way users actually use the software, not the way we'd like them to.
  • Bigger software isn't better -- it's just bigger.
  • Organize what you do have in ways that make it all as usable as possible.
  • If it's not working, reconsider how you're using your space.

Saturday, March 22, 2008

One Thing About Logos

Update: This post has proven to be so popular that I've followed it up with another post. This post is largely about what logos should be, while Designing the Puzzazz Logo is more of a hands-on practicum that might help you design a logo.

Logos are ubiquitous in company and product names, each of them fighting for a little piece of mindshare. The best are memorable, but most are not. How do you make your logo one of the memorable ones? A friend recently asked me for advice on a logo. Here's (roughly) what I told him.

The best logos have one thing that makes them special -- not two things or three things or seventeen things. One thing. Take a look at these great logos:


If you want your logo to become iconic -- if you want your logo to be instantly recognizable and instantly associated with you -- you have to pick that one thing and make sure it stands out. In addition to the one thing, logos sometimes have something else that gives them flavor. This can be a font choice, a border, a divider, or something else like that. This second element can give your logo extra "body" but it has to be subservient to the one thing. Dole's bottom line and Goodyear's diamond shape are examples of this second element.

Some other key things you might want to think about:

  • Your logo should reflect who you are -- this doesn't mean it should reflect every aspect of your identity, but it should match it, not contrast with it.
  • Your logo must look good in black and white, for the laser printer, newspaper, faxes, etc. Color is great, but you can't rely on it. Don't use a gradient unless the same element looks good in a solid color.
  • Avoid tiny detail that won't look when the logo is shrunk to 1/8", like perhaps on a business card.
I don't know how many times I've seen logos where they took half a dozen good ideas and glommed them all together to create something atrocious. Or they just make it overly complex. It's like the designers didn't know when to stop. They think "if this is good as it is, adding more will make it even better."

Here are some logos that I think don't work:

Note that these are all successful companies and the logos aren't complete failures (for example, you probably recognize the Wendy's logo on sight). That brings up another important thing about logos -- they can't make or break your company. It may be easier to build an image with a good logo, but it's not the logo that does it.

I'm tempted to show you some really bad logos and tear them apart, but I'll leave that as an exercise for the reader. All you have to do is search for one of the many companies on the web offering $199 or $299 cookie cutter logos. Browse through their gallery and you'll find plenty of overworked examples. Then, when you need a logo of your own, you'll know what to avoid. And you can find the one thing that makes your logo right.

Finally, two bonus logos. These are the original logos of two famous companies. If you start with a dud, you can always change it.

Saturday, March 15, 2008

Please Ask

In my last post, I said we should stop asking users so many questions, but sometimes we don't have information we really need to do what users want.

Case in point: I love voice dialing on my BlackBerry. I can make phone calls without looking at the screen. Voice dialing is one reason why I won't get an iPhone anytime soon. But, several times, my BlackBerry has called the wrong person. It's called Andrew and Andrea instead of Audrey, Dale instead of Neil, and Bernie instead of Roberta. In each case, the last names were different but began with the same syllable, so maybe that points to a flaw in their voice recognition algorithm.

But, you know what? I don't care about that -- I just want it to work. And I actually know why it fails. I have almost 400 people in my address book and the voice recognition is optimized for a far smaller number, with much less overlap between possible names. I don't want to take people out of my address book just to make the voice recognition work better -- I have people I email regularly but never call and vice versa. I don't call my kids' teachers and I almost never email my mom. I want them all in my address book and I don't want to have to omit information either.

I'm a technical guy, so I fixed it in a technical way -- I marked all the people I actually might want to call and I programmatically fixed all of the other people so that their phone numbers are in the Notes field instead of the Phone fields. Now, I can't call them by mistake, but I still have their phone numbers if I need them. But, yesterday, somebody who I hadn't talked to in a year called and, instead of their name, I just saw a ten-digit number. And the voice recognition can still get it wrong and then tell me there's no number for the person I wasn't planning to call anyway. That's not what I want either.

Until (and unless) the voice recognition gets a lot better, there ought to be a better solution. Let me mark the people that I might want to call (or not call). Or let me have two address books. Or take frequency into account. I've called my wife like a zillion times and I call her soundalikes rarely if ever. You'd think it would know that.

As I said, we shouldn't ask users questions that we know the answers to. Or that we have a better idea of what the right answer is than they do. Or that we can figure out based on watching their actions.

But, if certain information about the user can make a big difference in the quality of what we provide them (and we can't get it in other ways, such as observation), we should ask.

Wednesday, March 12, 2008

Don't Ask!

We need to stop asking users so many questions. To put it simply, every question that we ask users is a question that we couldn't answer during development. Every option in the Preferences dialog box is a question that we couldn't answer. When we ask a user a question that they don't understand or that they don't know how to answer, it's an opportunity for them to leave. At a minimum, they'll be frustrated.

In general, the fewer questions we ask users, the better off they are.

The problem is quantity.

Have you ever looked at the Options dialog in Microsoft Outlook? (I'm using Outlook 2003). In the Options dialog and in the numerous subdialogs reachable from it, there are well over 200 different options that you can set. They have 80 icons! Do they seriously think that anybody is going to look through and set all of those options?

It's not like Outlook is alone. The Options dialog in Microsoft Word 2003 has even more (though they managed to do it with just 3 icons).

Exercise for the reader: Check out the Options/Settings/Preferences dialog in your favorite applications. Give yourself bonus points for every application with more than 100 options. Double bonus points for applications with more than 200 options.

No, the problem is quality.

The problem isn't just quantity -- there are so many inexplicable options it's hard to pick which examples I want to use. We have the ones that don't explain what they actually mean, like Word's "Allow fast saves" option (nah, I like my word processor slow), those that use terms that have no meaning, like Outlook's "Read all standard mail in plain text" (gee, I thought all my mail was standard, except for the spam, of course).

I have friends who won't order in a restaurant until they find a mistake on the menu. They've never been unable to order. If you made a rule that you couldn't use an application until you found one option that you didn't understand, I daresay there wouldn't be a single application you'd have to avoid.

Do the right thing.

I'm not trying to say that we shouldn't ask any questions and that we shouldn't have any user preferences. But, whenever we're tempted to put something in preferences, we should really ask ourselves if we can figure out what the right thing is. If we can, we should just do it. And if the item really is a matter of taste -- a personal preference that the user might have for how we do something -- then, and only then, we should ask the user.

Sunday, March 9, 2008

It Just Takes One Good Way

Can't decide which way is the right way to provide access to a feature? Just support them all! We know that users have a hard time figuring some things out. It must be their fault. We also know that users, in general, don't read documentation. Obviously, that's their fault. But, if we support a lot of different ways to access the feature, surely one of them will work for users.

Take this example. How do you edit the blog post in this user interface?

Let's see. You can click on the pencil icon for the blog post ...

... or you can right-click on the blog post and choose Edit from the context menu ...


... or you could click on the blog post to select it and then click on the pencil icon on the toolbar.


Two of those three methods have an unlabeled icon for a non-standard operation (Edit), so it's just as well that there are three different methods. Oh, wait, I forgot. You can also double-click the line.

One Good Way

Instead of providing multiple not-so-great ways of editing the blog entry, why not just provide one good way?

If you provide a method which is clear and consistent, you don't need to provide alternatives. Notice I'm so confident you can find it, that I didn't even bother highlighting it like I did in the earlier examples.

Then why do we still support double-click?

Good question. We probably won't document double-click, but double-click happens to be a near-universal standard for editing. If a user does double-click the row, what would they expect to happen? Our choices are: something else, nothing, Edit. Let's take this point-by-point:

  • something else - this is pretty unlikely. Double-click almost always means Edit.
  • nothing - the user double-clicked. What is the chance that they did it just for fun?
  • Edit - this is almost certainly what the user expects. Whenever possible, we should do what they expect.
But isn't it a good idea to provide multiple access points?

Sure, but that doesn't mean multiple ways at the same location. It means that there may be completely different places in your user interface where access to a feature makes sense. While changing this, we did add another access point -- at the blog entry itself. If you view the blog and you have permission to edit an entry, then an edit icon appears next to the title of the entry.

Notice that it's a larger icon than the ones used earlier, so as to make it stand out better. You won't see this icon on other blogs, so that helps too. If you move the mouse over it, it highlights and a tooltip appears that reads "Click to Edit this Blog Entry."

In Summary ...

The principles are simple:
  • When providing access to a feature, provide a single, clear method in any given location.
  • If users expect to get access to the feature in multiple locations in your user interface, then there's a good chance you should be meeting their expectations.
  • If users expect a standard mechanism (like double-click) to work for accessing a feature, then you should probably make it work -- but don't rely on this for making the feature discoverable.

Wednesday, March 5, 2008

Fix the Front Door and Ignore the Back

A friend of mine is thinking of selling his house and asked if I have some advice. You bet I do! It's a great opportunity to learn from my mistakes. And, while I'm at it, the lessons apply to software development too.

When we moved from California to Washington in 1998, we made a few huge mistakes in selling our house. We made enough mistakes that I could write a whole series of posts about it. But, I'm going to concentrate on one particularly expensive mistake here.

Our Realtor told us that we absolutely had to do a number of things to fix up the house to sell it. We believed her. We spent many thousands of dollars doing the work that she told us was essential. There was also a less obvious cost -- the opportunity cost. We were ready to sell and there were people who were interested in seeing the house. We delayed putting the house on the market for six weeks while we did the work. In six weeks, a market can change, and it did. Our house was no longer the only house on the market in our neighborhood. And other people (with less desirable houses) were priced lower. Some of those houses sold before we were even on the market!

So, what should we have done? I've developed a very simple rule of thumb:

  • If the front doorknob falls off, fix it.
  • If the back doorknob falls off, leave it.
  • Whatever you do, do it as quickly and cheaply as you can.
First impressions matter. When someone arrives to see your house, their first impression is your front door. If the doorknob falls off in their hands, they may turn around and walk away. But, by the time they get to the back door, they've already decided if they like the house. If they even notice the back doorknob, it becomes a point of negotiation. Suppose it would have cost you $100 to replace the doorknob. The most they can negotiate out of you is that $100. Everything else is upside for you.

Of course, it's important to not conceal any problems, but the only problems that you should do anything about are the ones that will make a difference in the decision to buy. This includes items that aren't fixes at all -- like removing clutter. I don't regret repainting our front door and the eaves above it, or fixing the handle of a sliding glass door to our atrium, or moving lots of clutter to boxes in the garage. I do regret having the fireplace cleaned, refinishing the bathtub, and lots of other things.

But what about software?

In the software world, we face the same issue every day. Right now, we're in ship mode and we have to decide what to fix and what to skip. Of course, we want to fix everything. But, there is an opportunity cost to delaying. Just like the housing market, things can change quickly and new competitors can crop up overnight. Those competitors may not be as good, but getting to market first makes a difference. So, every single day, we discuss priorities.

The top priorities are those things that make first impressions -- things that will make potential customers turn around and go elsewhere. A lot of our fixes right now go in the "fit & finish" category, so that does make our decisions easier. Below that, everything's a negotiation. Will it affect us being able to keep a customer? Will it affect customer satisfaction, which affects growth by word of mouth? And, what will it cost in comparison with other things we want to do? If we don't fix it today, how soon can we fix it?

Saturday, March 1, 2008

The Epiphenomon of Amazon

Every single thing on every Amazon page is valuable. They've proved it with empirical testing. Everything you see increases their sales.

Every single thing on Amazon is clutter. Over the years, Amazon pages have gotten more and more cluttered, making Amazon harder and harder to use and hurting their sales.

Which is it?

Amazon has an amazing testing system. It's really quite clever. Whenever they want to add a new feature, or they're trying to figure out which of two different ways of doing something are better, they run an A/B test. The A/B test splits their users in half, at random, and gives each half a different experience. It doesn't take a lot of users run through the system to see whether the A group or the B group has more success in finding things and (this is what they really care about) spends more money. They take the feature whose users spent more money and -- voila! -- they've increased their sales. Repeat this over and over again and you've got a clear recipe for success.

Or do you?

There's no denying that Amazon is a very successful company and I'm not going to say otherwise. I'm an Amazon Prime member myself. But how much more successful could they be?

They're certainly trying hard. On the Amazon home page I see:

  • Shopping departments
  • Check This Out
  • Features & Services
  • A9 Web Search
  • Roy's Amazon.com
  • Today's Deals
  • Gifts & Wish Lists
  • Gift Cards
  • Search Amazon.com
  • Your Account
  • Your Cart
  • Your Lists
  • Introducing Kindle
  • What Do Customers Buy After Viewing This Item?
  • More to Explore
  • New For You
  • Customers with Similar Searches Purchased
  • Get Yourself a Little Something
  • Capture Picture-Perfect Memories
  • SCRABBLE Crosswords
  • Amazon Daily Blog
  • Treat Yourself
  • Amazon Unbox
  • Add to Your Collection
  • Check Out This New Release
  • Top Sellers in Video Games
  • Save with the Amazon.com Visa card
  • (an ad for Personalized m&m's)
  • Shop These Stores at Amazon.com
  • Where's My Stuff?
  • Shipping & Returns
  • Need Help?
I'm leaving some trivial stuff out, but, hopefully, you get the gist. I just refreshed and I see a lot of different things:
  • Shopping departments
  • Check This Out
  • Features & Services
  • A9 Web Search
  • Roy's Amazon.com
  • Today's Deals
  • Gifts & Wish Lists
  • Gift Cards
  • Search Amazon.com
  • Your Account
  • Your Cart
  • Your Lists
  • Introducing Kindle
  • Smooth New 120Hz 1080p LCD HDTVs
  • Whodunnit?! Browse Bestsellers in Mystery
  • Browse Bestselling Books in History
  • Buy Three Place Settings, Get a Fourth Free
  • Customer Favorites in Nonfiction Books
  • Cross Party Lines with Bestselling Political Books
  • Learn About the Networked Home
  • Amazon Daily Blog
  • Treat Yourself
  • Amazon MP3
  • This Year File with Ease
  • RailsSpace: Building a Social...
  • Bestsellers in Magazines: Parenting & Family
  • Save with the Amazon.com Visa card
  • (an ad for Personalized m&m's)
  • Shop These Stores at Amazon.com
  • Where's My Stuff?
  • Shipping & Returns
  • Need Help?
Wow! That is a lot of stuff. We could repeat that forever and I don't even know how many different things will turn up. Let's look at an item page for a well-known book:
  • The book info & pricing, links to Used & New copies, etc.
  • Special Offers and Product Promotions
  • Better Together
  • Customers Who Bought This Item Also Bought
  • Editorial Reviews
  • Product Details
  • Look Inside This Book
  • Customers viewing this page may be interested in these Sponsored Links
  • What Do Customers Ultimately Buy After Viewing This Item?
  • Looking for "book name here" products?
  • Tags Customers Associate with Similar Products
  • Are you the publisher or author? Learn how Amazon can help you make this book an eBook.
  • Rate This Item to Improve Your Recommendations
  • Customer Discussions
  • Product Information from the Amapedia Community
  • Listmania!
  • So You'd Like To...
  • Look for Similar Items by Category
  • Look for Similar Items by Subject
  • Harry Potter Store
  • Never Misplace Your Readers Again
  • Buy Three Books, Get a Fourth Free
  • Editors' Faves in Books
  • Another ad for personalized m&m's
  • Feedback
  • Where's my Stuff
  • Shipping & Returns
  • Need Help
  • Your Recent History
  • plus lots of other stuff at the top, bottom, and right
The one I find the most interesting is "Are you the publisher or author? Learn how Amazon can help you make this book an eBook." Of all the millions of people who visit pages on Amazon, the vast majority of them, something like 99.99999% of them, are not the publisher or author of the item on the page they're visiting. Yet I've had Amazon show me this section on books by well-known authors, as well as on things that can't possibly be made into eBooks (this one, for example).

If I'm not the author, I can provide feedback in lots of ways. I can review it, discuss it, or write about it on Amapedia (what's the difference between those options?). I can also tag it or rate it. Or, I can create a Listmania! list or a Guide that comments on it (what's the difference between those two anyway?) and Amazon helpfully shows me links to other people who have done just that. Gee, only seven ways to provide feedback.

The vast quantity of information presented to me by Amazon is truly daunting. Not only am I inundated with information but, if I see something interesting, I may not even be able to find it again because it all changes dynamically. While Amazon's A/B test results may well be completely correct for each of the individual features, users do not use the site as a set of individual features. They see everything all at once. They see the clutter of all of the pieces.

I realize that Amazon's not hurting for sales right now. But how much better could they do if they took a holistic approach to their entire user interface? Is there anybody or any group at Amazon who is responsible for the entire customer experience?