|
D
EVELOPING
J
AVA-
B
ASED
H
ELP
B Y
T O D D S N A R R
Because of the growing popularity of Java as a programming language, your company develops a new platform-independent, Java-based product. The product manager asks you to design a help system for the application. This help system must be platform independent and should not require a proprietary browser, such as Internet Explorer or Navigator. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Sound familiar? For many help authors, Java has added a new twist to developing help files.
During the past year, there's been a lot of talk about the topic. Common questions surfacing on TECHWR-
L and WINHLP-L include "How do you hook help into a Java application?" "What tools are available and
which should I use?" "Is now the time to move to HTML-based help?" "What about context-sensitive
help?" In response to these needs, new help delivery systems are emerging that attach RTF or HTML-based
help into Java applications, applets, and components.
In her article "HTML-Based Help: Is It Ready for Prime Time Yet?" (1998) Cheryl Lockett Zubak reviews the status of five help systems currently available. These systems, or "help engines" as she calls them, include HTML Help, JavaHelp, Oracle Help, NetHelp, and standard HTML. This article adds to Zubak's work by discussing another Java-based solution worth considering--CreativeSoft's Jelp--and compares this solution to other Java-based solutions currently available. For those of you who are new to Java and Java-based help systems, this article also provides the steps involved with developing a typical Jelp system. This way, you can get an idea of what to expect, particularly when it comes to bugs and limitations. In sum, if you have to develop help for a Java application, but you're not quite ready to move to HTML-based help (or can no longer wait on JavaHelp), Jelp provides a good interim solution. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| What is a Java-Based Help System? |
Oracle Help, JavaHelp, and Jelp are Java-based help systems, meaning that they are written in 100 percent Java. To run any of these help systems, as I explain later in this article, you will need to install the Java Development Kit (JDK). The JDK is the software needed to compile, debug, and run Java applications and applets. The JDK software and documentation is free, which you can download off Sun's Web site http://www.javasoft.com. A key component of the JDK, which you may have heard about, is the Java Runtime Environment (JRE). The JRE consists of the Java Virtual Machine (JVM), core classes, and other supporting files. The JRE is the actual runtime that lets users run Java applications on their computers. Because Oracle Help, JavaHelp, and Jelp are based on Java, they all have cross-platform development as a primary focus. As such, they should run on any platform that has the Java JRE installed. In addition to portability, these Java-based systems offer standard navigational controls (including a collapsing table of contents, an index, and full text search), window sizing and positioning, and an application programming interface (API) for integrating context-sensitive help. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| What's the Difference About Jelp? |
The main difference between Jelp and the other two Java-based systems is that the actual content for a Jelp system is Java that is converted from source information developed in Rich Text Format (RTF). Jelp consists of two components: JelpPublisher and JelpViewer. With Jelp, you create your help files in RTF, using a help authoring tool, and then use JelpPublisher to convert that information into Java, or what CreativeSoft calls a "booklet." For Oracle Help and JavaHelp the content is HTML-based, meaning you will create your help information with Hypertext Markup Language (HTML). In this case, if you haven't already done so, you will have to get a more recent version of your help authoring tool--a version that support HTML. CreativeSoft has plans to provide an HTML to Jelp conversion in a future release.
For a side-by-side comparison of Jelp, JavaHelp, and Oracle Help features, refer to Table 1. The
features evaluated in this table and the information shown for JavaHelp and Oracle Help are from the
previously mentioned article by Zubak (1998).
Table 1. Comparison of Java-Based Help Systems.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Where Do I Start? |
This was the question I first asked myself last year when my employer, Auto-Soft Corporation, asked me to develop a help system for iMaven--an applications suite that pre-integrates equipment control, material handling, and automatic identification systems for semiconductor fab automation. Written in Java, iMaven is touted as being portable to any operating system, including Windows NT and 95, Solaris, HP- UX, Digital UNIX, IBM AIX and any other platform with a Java Virtual Machine (JVM). To date, iMaven has been tested on the Windows and Solaris platforms. Based on this requirement, I immediately thought it was time to move to HTML-based help. But when looking more fully at the options, two issues quickly surfaced--browser independence and cross platform support. To render HTML, users need a browser, and iMaven users may or may not be connected to the Web. Why have all the computers on a shop floor in a semiconductor environment connected to the Web? And the iMaven product manager was turned off by the idea of having to ship a browser just to display help. Internet Explorer 4.0 takes about 30 MB of disk space, and speed was already an issue with iMaven. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Why Jelp? |
The decision to go with Jelp was an easy one. At the time, it was the only browser and platform independent help system available that offered context-sensitive and navigational support. The problem with Oracle Help was that it took me several attempts to get their system installed. And after finally getting it installed, I really couldn't see a noticeable difference between the navigational features of the JelpViewer and the Oracle browser. Actually, the dual-pane feature provided with Jelp 2.0 was better. With no compelling reason to begin developing HTML-based help, I simply decided to stick with the familiar world of RTF and RoboHELP. As for JavaHelp, they simply haven't responded quickly enough. While CreativeSoft engineers were frantically fixing 1.0 bugs and moving toward their 2.0 release, JavaHelp was still in its "specification" stage. And JavaHelp has only just recently moved into "early release." |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| What Can I Expect When Using Jelp? |
To give you an idea of what to expect when creating a Java-based help system, this section explains the steps involved with developing a typical Jelp system. If you've already created RTF files for a WinHelp system, then creating a Jelp system will be old hat. The challenge is getting used to the quirks associated with the conversion process. For now, you will need to simplify or "massage" your RTF files in such a way that the conversion goes as smoothly as possible. To develop a typical Jelp information system, you'll need to do the following: The preceding hyperlinks lead you through each of these steps. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Conclusion |
Even though it's a young product, Jelp provides a good solution to delivering Java-based help. The look and feel of the product has changed dramatically since its early 1.0 release, now providing a dual-pane viewer and support for tables, popups, secondary windows, and indexing. The Jelp API clearly explains the methods that you can use to link specific topics to elements in your application and provides several different options for sizing and arranging windows. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Resources |
Zubak, Cheryl Lockett. 1998. "HTML-Based Help: Is It Ready for Prime Time Yet?" Intercom (July/August): 21-28. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||