While I've been working hard to keep the WinForms application I'm working on simple and easy to learn, the functional domain I'm working in (finance) is pretty rich, and I feel I should help the user figure out what to do next once the program is launched.
I must add that in the software I'm working on, there's often "something to do next" (ie validating something, answering a message, etc.)
I've been thinking on this quite a lot in the last days, and I feel a lot of things have already been tried in that field :
Clippy (R.I.P.).
The ? button on the upper right corner (a.k.a. "what's this" button), which users have learned to ignore as clicking on "retro-transponder amplitude" with ? will probably bring a helpful "the retro-transponder amplitude" tooltip, which is not worth the mouse trip to the upper right corner.
There are a few variations to the ? button, including a contextual help zone in the status bar (which refers to the thing the mouse currently hovers), which solve the problem of having to click on "?", but still don't let the user grasp a whole interface at a glance. Edit : Joe's suggestion of a contextual help window is another example of this.
Help files are helpful (provided they're well written), but they lack the "immediate feedback" thing - precisely the problem Clippy was trying to address
"Tip of the day" are usually shot on sight (usually so fast than some users don't even have the time to spot the "Show tip of the day at start-up" ticked checkbox)
Something I'm considering is using an overlay help screen, ie hitting "F1" would popup a lot of overlay tooltips on the screen explaining what everything does, with possibly a red tooltip (instead of yellow) for the recommended next action. Releasing F1 (or possibly hitting it another time) would hide all the help clutter
This would address the problems with the four approach I mentioned :
help is only popup on demand (vs clippy)
you don't have to click ? then every single label on the screen (vs ? button)
you don't have to spend time searching the relevant information in the help file. The documentation is right at your fingertips (vs .chm help file)
useful tips are displayed at a relevant time (ie you get tips regarding dialog foo when it's displayed, not at program startup - a time when you probably have no idea what the foo dialog looks like)
As this already been tried in some software? Do you think it's a good idea? do you have other ideas in mind to address my problem ?
Disclaimer : please don't answer "you should address your real problem, which is that you UI is too complex". Please assume everything has been done to keep the UI simple.
Think of an airliner cockpit. Ton of effort has gone into the UI, but it's still extremely complex. Now imagine ordinary users should be able to use it : how would you address the issue? That's exactly my problem.