mod_litbook is an experiment in web
techonology—an experiment in document reference and retrieval
is at the core of this module. Although the initial “Proof of
Concept” is the King James Bible,
the concept has a broader range of applications than just displaying
I'm not sure why this particular idea hit when it did, nor why I choose The Bible as the “Proof of Concept” (other than it was the most readily available hiarchial structured document available in machine readable format from Project Gutenberg) but the nucleus of the idea came from three areas of hypertext/WWW research.
One idea came from Jakob
Nielson's work on user interfaces for the web. The primary
article that relates to
mod_litbook is using the URL as UI; in
that the URL
should aid in the navigation of the website. The primay point of
Jakob Nielson's article is that the URL should help visualize the structure of the
website but I mis-remembered the article in thinking that the
URL should also
provide an easy way to retrieve the information requested.
Another idea came from Ted Nelson's work on Xanadu, the ultimate in hypertext
vaporware (30 years and still no product). But it does have some
interesting ideas, namely in tumblers.
The concept of each node including all the nodes addressed below it
is a powerful concept and one that I started to explore just prior
mod_litbook (in addition to some work a few
years ago in file system design that is still in the design stage).
In playing around with the concept I found that within The
Bible, there are frequent references to other passages, and that
the references looked similar to the tumblers concept proposed by
Ted Nelson. And upon investigation, none of the other online Bible
sites I found allowed one to request an arbitrary portion of The
Bible. Sure, you could get a book, or a chapter or a verse, but
you couldn't get just the portion of Moses at Mount
Sinai. At least, not without a lot of work.
The third idea came from Project Zope, an object publishing web server, where the URL doesn't reference a static document but instead names an object to be displayed. The fact that most website URLs point to files (or templates) is a holdover from the early days of the web and the filespace you see in a URL doesn't necessarily have to map to a physical file system, or a file at all.
Now, out of this mess of ideas came
Apache module that combines an addressing structure similar to
tumblers hidden behind an object publishing module using
easy-to-remember URLs to retrieve just the portion of the document
you want (in this case, using a conventional bible notation munged
into a URL,).
Why a module? Because handling all this behing a CGI program would have made the result less elegant and primarily, the server I'm using for the demo system isn't powerful enough to handle an excessive CGI overhead that this may generate. And because I could.
If you do use this product, or just have comments or questions about, just drop me a line. Thanks.