Hello,
Let me take your questions in order:
Q. How should one approach giving users a built-in "Help" system?
A. Here's one approach I have used:
a). Give all front panel controls and indicators a description so that the context help will show information for those front panel objects, and also for relevant front panel objects a tip - this will pop-up when the user hovers over the object, and can be annoying if it's used excessively, but nice if used where appropriate.
b). Create html files, one for each "Page" of your user interface, and place a Help button on your user interface which will launch the corresponding document for that "Page." I'm not sure what your UI is like, but basically if there are multiple front panels the user will see, a page describing each object on that panel, and the panel's purpose is nice. If you're using a tab control in any of those panels, then a page for each tab is nice as well.
A variation of b). is to use a so-called compiled help file - a .chm file. These are only relevant for Windows machines, so if you plan to deploy across multiple OSs, then this is out. The reason documentation suggests you need a third party tool is because those .chm files basically collect a set of html files together into a nice document, with the usual search, index, browse etc. capabilites and we don't have a product which does this. The LabVIEW Help on Windows is a nice example of a .chm file. You can do something SIMILAR with just HTML and javascript, creating at least a contents page which has organized links to the rest of the pages (which themselves can contain links back to the contents page), and even include the ability to search keywords etc. You'll find various free examples of such html and javascript on the web.
Once you have your html or compile help file, you can use the LabVIEW Help VIs to launch them. For chm files you can open the file and direct to a particular page of the chm file, and for html files all you really need to do is launch the relevant html file in the browser of your choice.
Q. In reference to descriptions and tips for controls/indicators: "Are these typically the only help features built into a distributed application?"
A. No, the html or chm idea is a nice touch, and can add a professional feel to the application.
Q. In reference to html or chm files: "Is this a typical approach for doing a nice job of providing help?"
A. Yes, it is used internally as a standard - chm for windows and html for linux and MAC.
Q. "Or is there some other way to create a Help system that works like the existing LabVIEW help but has content we create?"
A. One ideas is that you could implement your help entirely in LabVIEW if you'd like. Basically you would be launching your own VI or VIs which would show whatever documentation you wanted/created. You could use a tree structure or something to provide some convenient navigation by topic, and even a search - you would be coding this, and although I haven't done it, it seems like it would be pretty easy to do.
I hope this helps, and happy LabVIEW programming!
Best Regards,
JLS
Message Edited by JLS on 08-30-2006 01:57 PM