The Stanifesto

Apple's Human Interface Guidelines

I spent all morning poring over Apple's Human Interface Guidelines. One might imagine that they are quite spectacular. If you're not a developer of Apple software (which, strictly statistically, you probably aren't), you can still find plenty of value in "Part I: Application Design Fundamentals". In fact, I printed out pages 23 through 52 and they now sit on my bookshelf.

Thinking that I could provide some sort of public service by summarizing the document here, I began to do so—but gave up quickly when I realized I was quoting almost every other page. It's really just tremendous. From mental models to making software with forgiveness, all the bases are covered. Instead of drooling over it in a public place, I'll just take my favorite bit and dive in a little deeper (and drool on my own time).

Near the end of Chapter 1, "The Design Process", almost offhandedly, it mentions the "80 Percent Solution":

During the design process, if you discover problems with your product design, you might consider applying the 80 percent solution—that is, designing your software to meet the needs of at least 80 percent of your users. This type of design typically favors simpler, more elegant approaches to problems.
This is a big idea contained in a tiny paragraph. I heard Eris Stassi refer to this rule with near fanatic devotion at last year's South by Southwest. If nothing else, it soothes the designer's headache brought on from wondering, "but what if someone wants to be able to do X?"

Have you ever used a hammer to do things other than pound nails? Open paint cans? Pull out drywall? Can you imagine a hammer that was designed to do all those things? Do you think it could still pound nails as well with all that extraneous crap?

Beyond that, the 80 Percent Solution forces you to identify who you're designing this for. "Everyone" is not really an answer (unless you're making water or oxygen or, possibly, love). Who are these people? Why are they using your product? What do they really need? I should note that it's important to consider this along vectors of desire and not of ability; accessibility is still paramount and the 80 Percent Solution should not be an excuse for failing to provide usability for disabled visitors.

Finally, you must make important decisions about how you're providing solutions to the users' needs. New features are all the same until you start implenting them. If you consider a jar as a model of your user's attention, each rock you put into the jar takes up a proportionally larger amount of the remaining space. You want to make sure the important rocks are in the jar early, especially since you don't really have any idea how big the jar is (my dad's jar is pretty tiny).

It should be noted that the 80 Percent Solution is not entirely different than the 80/20 Rule (aka the Pareto Principle). It is conceivable that most demanding 20% of users do account for 80% of the struggle to get the damn thing to work.