I do contract work for a living, which could include writing a program such as this. However, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project any way you please.
You might even implement this with a simple flat file list of glossary entry names in alphabetical order, and a list of corresponding URLs where you can find them.
You use a Java program to browse the glossary. When you are reading an entry, in the background, it tries to guess what you will read next and reads links, and also the alphabetically previous and next entries. The Applet just hands the HTML record off to the browser to render.
If all goes well you should be able to browse almost as fast as if the entire database were already downloaded in RAM.
A simpler implementation would take "See xxx,yyy" entries in the glossary and verify/build/rebuild HTML links for them, generating plausible, unique NAME targets. You also want a tool to let the author build a cross link to some indexed word just clicking on it in the text. You also want the authoring tool to find ever instance of a word for potential including as a cross link. You might even say, what the heck and cross, link every instance of the word, appropriate or not.
Your local Java viewer might gradually cache the entire glossary. Each entry would have a timestamp, so that it would not redownload an entry unless it had changed. It would thereafter take only a few minutes to download the most recent entries into the cache for off-line browsing.
You might consider exporting the glossary in WinHelp or JavaHelp format, or of adding WinHelp-like features to your viewer. It might contain a Java code presenter. The problem then is keeping the client’s copies of the giant jar files up-to-date without having to redownload them every half hour. See Automatic Update Project.
Sun has written a simple
. It does not have embedded links, but it has scrolling of both terms and definitions.A simpler tool would be an Applet index that runs in a browser. All it does is help you find links and feed the ones you want to the browser. The browser does all the fetching, rendering and cross link chasing. You could scroll through an alphabetical list of all possible glossary entries in the Applet with thumbtabs for the A B C D etc entries, and within that the Aa Ab Ac Ad etc. entries to help you rapidly navigate to the word you wanted. When you found an interesting word, you would click it and your browser would load that HTML page where that entry was and take you to the proper page on the page.
You could also navigate by keyboard, typing the first few letters of a word to let you navigate to any place in the list, with backspace support to back up one char, or Esc to start over.
Communicating with the browser is fairly easy. You just pass it a URL to jump to and render like this:
java.net.URL url = new java.net.URL( fileName ) ; getAppletContext().showDocument( url );You need a tool to periodically scan the website to collect a list of DT entries and the corresponding URLs. The main problem with this approach is the index would not have the latest and greatest entries. It also would take a fair bit of RAM in the Applet for all the entries. I have program already written that scans for DT entries to rebuild the meta KEYWORDS. It could be enhanced slightly to also grab the NAME targets for each glossary entry.
Once you get that working see my e-book essay and my essay on SCIDs . Then think about how you might implement some of those techniques for dealing with information overload in this context.
You could also implement margin notes, information overload filtering, change bars and what’s new lists in the same fashion I describe in the on-line books essay .
I have done some work on this project. I generate a index of all the DT entries and let people jump directly to the entry by selecting it from a pulldown list. See the Java glossary to try it out. I call this the com.mindprod.QF package. I would be happy to share that code with you.
I also generate the headers and footers of new glossary entries automatically, and refresh them should they change. I also generate indexes to the glossaries.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | The information on this page is for non-military use only. | ||
| You are visitor number 2,976. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/project/htmlglossarypresenter.html | J:\mindprod\project\htmlglossarypresenter.html | ||