Documentation Sucks, Video Games Rule!

One thing that's great about a lot of video games is that you don't have to read any documentation in order to start playing them. I tend to play games on the Wii with my wife, and those games tend to teach you what you need as you go along.

I think the same thing applies to user interfaces. Having to read documentation kind of sucks. Being able to learn as you go along is much nicer. A user interface that is easy to get started with is great, and one that teaches you on the fly how to become a power user is even better. For instance, I think that menus are a great way to enable users to discover new features. Menus that also show you the relevant shortcut keys are great because you become a power user by gradually memorizing frequently used commands. A user interface that does useful things automatically (assist and suggest) is the best of all (for instance, code assist).

Another thing I feel strongly about is that a piece of software doesn't have to be hard to use in order to be powerful. Compared to raw SQL, spreadsheets are very easy to use. However, they're also very powerful.

I continue to be a fan of Vim. However, when I first tried TextMate, I was amazed at how well its menus were organized. It even had a system for organizing the actions provided by plugins. This permits you to learn the advanced features (even of plugins) as you go. In fact, I was able to do stuff in TextMate that I still don't know how to do in Vim. I'm sure that Vim doesn't lack such features; it's just that it was a lot easier for me to discover how to use them in TextMate.

These days, I've been using Sublime Text 2. One thing that it can do that I really like is automatically suggest word completions as I type. The visual feedback is very discoverable. The Chrome location bar does the same thing.