One of the most important areas of consideration for making a program more marketable is to make it more usable. A key aspect of making a program more usable is the inclusion of online help and a user’s guide.

The JavaHelp System may be used to create a very good, easy to use, user’s guide for your program that will run on any operating system. If the program you are creating the help system for is a Java program, you may also integrate your help documents into your program.

The JavaHelp System

The JavaHelp System is an open source help system framework that is highly customizable and easy to integrate into Java programs. The JavaHelp System comes with a toolbar, content pane, and navigation pane, and supports a table of contents with an unlimited number of content levels, a searchable index, and full-text search database.

You may download the JavaHelp System from

Creating Your Help Documents

To create the most basic JavaHelp System:

  • Create a simple HTML file for each topic of your help documentation.
  • Create an XML file that defines the tree structure and text to be used in your table of contents.
  • Create an XML file that maps each topic of the table of contents to the appropriate help files.

Here is a screen shot of a basic JavaHelp System using the default view configuration. This help system was created for my sample Hello World application with help topics of Who, What, When, Why, and How. Each topic has a separate help page. When a topic is selected in the left pane, its corresponding help page is displayed in the right pane.

JavaHelp System Screen ShotAll the window layout, navigation controls, and toolbar options are provided by the JavaHelp System. All I needed to provide were the HTML help files and two XML files.

Integrating the JavaHelp System into Your Program

The JavaHelp System has a complete API interface, made to be accessed from your Java programs. Using standard Java ActionListeners, you can program any button, menu item, or other Java component of your program to launch the JavaHelp System. Each ActionListener can be programmed to open directly to its own topic. This allows you to provide context sensitive help to your program.

User’s Guide

When creating online help for my programs, I like to create an additional separate program which does nothing more than open the same JavaHelp System to its main page. Users then have access to all my help documentation without needing to first open the program for which it provides the help. This second program is my User’s Guide which my program’s installer adds to the user’s Windows Start Menu.

Integrating the Help Documents into Your Website

Because the help pages of the JavaHelp System are simply HTML files, it is easy to include any or all of the help pages that you created for your program, directly into your website. This allows your website visitor to learn more about your program before he decides to download or buy your program.

Advanced Features

The basic help system is probably sufficient for a fairly small program. However, if the program is large and needs a lot of help documentation, it might be worth adding an index, a glossary, a favorites list, and maybe even search capability. These capabilities too are all available through the JavaHelp System.


When I was trying to get my first program ready for market, I considered other alternatives for my online help documentation. However, I did not like the effort that would be required to program all my own pop-up windows for help within my program. I did not like the expense required to create a PDF help system with table of contents capability. And I thought creating a basic set of HTML help pages lacked many ease of use features that I thought were needed.

I was thrilled when I discovered the JavaHelp System. The JavaHelp System made it easy for me to provide a full functioning help system to my programs with a minimal of effort. And best of all, it is available for free!

Related posts:

  1. What is Software Deployment?
  2. Create Your Own Icons
  3. What’s The Easiest Way to Quickly Resize Photos?

About the Author

Comments are closed.

More Do-It-Yourself Java Games

More Do-It-Yourself Java Games: An Introduction to Java Graphics and Event-Driven Programming is the second book of the Do-It-Yourself Java Games series. You'll learn to create windows and dialogs, to add buttons and input fields, to use images and drawings, and to respond to keyboard input and mouse clicks and drags. You'll create 10 more games including several puzzles, a dice game, a word game, and a card game.

This book assumes you either have an understanding of basic Java programming or you have read the first book, Do-It-Yourself Java Games: An Introduction to Java Computer Programming. Read more.

Do-It-Yourself Java Games

Do-It-Yourself Java Games: An Introduction to Java Computer Programming uses a unique "discovery learning" approach to teach computer programming: learn Java programming techniques more by doing Java programming than by reading about them.

Through extensive use of fill-in blanks, with easy one-click access to answers, you will be guided to write complete programs yourself, starting with the first lesson. You'll create puzzle and game programs like Choose An Adventure, Secret Code, Hangman, Crazy Eights, and many more, and discover how, when, and why Java programs are written the way they are. Read more

Step-by-Step Tutorial

Many of the tips, techniques, and tools discussed in this blog are demonstrated in a detailed step-by-step tutorial in the book, This Little Program Went to Market, by Annette Godtland.

The book takes a computer program through the entire process of creating, deploying and distributing a program, then selling and marketing it (or any other product) on the Internet. Read more.