Before you give into that urge to happy slap me (or worse!), take a moment to read on. I’m definitely not suggesting that you do away help entirely. The real question is do we need to have an external help system?
Why not embed help right into the application? Admittedly, this has been done before. Usually with tool tips and field-level help. These give you a short explanation of what an element on the screen/window is for, or what information you can enter into a field.
Why not take this a step or two further? Instead of having a separate help system, integrate more useful, more robust, and context-sensitive help into the user interface. Doing something like that is definitely more work up front, but it benefits the user in many ways. How? One way is that it removes the need for the user to flip between the application and the help window. The help is right there.
A couple of examples
Something like this works better with a Web-based application where there’s a little more unused real estate in the interface. A good example of this is Writeboard, a simple but useful collaborative writing tool. The text entry mode of Writeboard is a simple text editor — imagine typing text in Windows Notepad. You can add basic formatting using a lightweight markup language called Textile. Of course, not everyone knows Textile. Many people use it only occasionally and may need a refresher. In a Writeboard, you click a link to get a guide that illustrates the supported formatting markup. It doesn’t open in a new window; it unfurls from the top of the Writeboard window.
Admittedly, Writeboard is a very simple application. It’s possible to this with a more complex one. And you can make that help context sensitive by hooking in the topic or topics relevant to the tasks that users want to carry out in a particular window.
Another example: a former employer of mine called uptime software. uptime develops a Web-based server monitoring tool. They integrated an interesting feature that, among other things, added an RSS feed which linked to the latest articles in the company’s knowledge base. That feature also gives users quick access to tutorials and the support forums on the uptime Web site. There’s also search engine that enables users to find content in the forums and in the company’s knowledge base.
Doing something like this is easier (relatively speaking) in a Web-based program than on the desktop. A lot of GUI toolkits don’t support the kinds of effects as well as popular Web development frameworks like AJAX or Ruby on Rails.
How much information?
That’s always the question. The amount of available space will vary depending on the application. You might have enough space for a procedure, or just a one sentence explanation. Sometimes, one or both won’t be enough.
Hyperlinking comes in handy in those situations. You can include a link to more detailed information — on a wiki, a blog, or elsewhere.
But is this a solution that applies to all applications? As you’ve probably guessed, the answer is no. It is worth thinking about, though.
Thoughts? Experiences? Flames? Feel free to leave a comment.