Features vs. usability - and how to have both
My father once called me in a bit of a panic because all the messages in his email inbox had suddenly disappeared. The first thing he did was to check the trash folder, and then the other folders, but they weren’t there either.
I figured it out. He’d accidentally activated the “Show Only Unread Messages” option.
Another time he clicked somewhere on the screen and suddenly everything in the window was topsy-turvy. It turned out that he’d clicked on a spot that changed the sort order, or something like that.
Now, these features can be very helpful. But if you don’t want them, they’re just potential trouble.
So does the product developer have to make a choice between a product that’s powerful and one that’s newbie-friendly?
No. Here’s my solution. I’ver never seen or heard it anywhere, though I doubt that I’m the first person to think of it (even though I did so quite a few years ago). Plus it wouldn’t surprise me if one or more of you submits a comment saying “but such-and-such product has used that approach since 1985”.
Many computer games will start you at novice level, or Level 1, or some similar name. If you do well there, you get moved up a level. And this process continues. Furthermore, if you start the game and you know you’re already good at it, you can set your starting level to a higher one so you don’t have to go through the levels that pose no challenge to you.
Now imagine that Microsoft Word had a setting for user level. Out of the box you could not use most of the 17,395,703 features, because they’d be disabled as inappropriate for a Level 1 user. But if you weren’t a rank beginner, you could change your level to Level 2, or Level 3, or whatever.
To avoid an excessive mental load on users, I would suggest having only a few levels, e.g. 1 = novice, 2 = comfortable with the basics and ready for more complex things, 3 = all functionality enabled. Where needed you could extend this at both ends, e.g. 0 = demo mode only and 4 = administrator.
OK, now let’s make this a little more Web 2.0. A popular pricing model these days is to make available a basic version of your product for free, with a premium version available at a price. So make level 1 (the default) of your product always available, with higher levels available only if the premium version is paid for. Or you could have level 1 = free, level 2 = a certain price, and level 3 = a higher price, so that the more power your user needs, the more s/he pays.