This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
So I got my results today (July 14th, took the test on June 18) and got the dreaded auto-failure. The comments were: "When I started your app in non-networked mode, I got a frame with 3 menus: Database, Search, and Help. The Database->Connect... menu item was disabled, so I couldn't continue. "
My GUI has a menu bar with 3 items on it:
Connect - Sub items are: connect, disconnect, exit. Search - No sub items, click it and a search frame pops up. Help - Sub items are: "General Help" and "Help on Current Screen"
In non-networked mode the connect, and disconnect items are disabled by design but the search item is fully functional. So what I think happened is that they clicked on Connect, saw that they couldn't do anything there and then ran their mouse over "search" expecting to get a sub-menu of search items. But instead it appeared to be an empty menu under search so they never clicked it (The thing to understand here is that once you click a menu to activate the pull down, all of the other menus automatically pull down as you run the mouse over them until you click again to turn that feature off).
So how could I avoided this? Better documentation! I put 99% of my documentation on-line. I think I could have avoided this if I wrote some offline documentation that EXPLICITLY said, click-here, expect this, click-here, expect this, click here, expect this, etc.
So to all of those wondering what to document... tell them exactly what you want them to do or you might be unpleasantly surprised! Now excuse me while I go beg for them to re-evaluate.
A better solution than to document this non-standard behavior (a menu with no entries) would be to change it so that users will know how to use it. (Nobody likes to read documentation anyway.)
Add a menu entry to the search menu, even if it's called "Search", too. Then people will know that there's something there. You need to have EXTREMELY good reasons for introducing non-standard UI elements. Don't take my word for it; JakobNielsen says so, too. :-) [ July 14, 2008: Message edited by: Ulf Dittmer ]