[Cornell Theory Center] ImageDB Browser Overview


History

The CTC Image Database (imageDB) is currently under construction by Michael Herzog. It is a database of graphics and visualizations by researchers and visualization experts at the Cornell Theory Center. Over the course of several months, imageDB has grown, and a search engine has been encorporated.

Motivation

imageDB is searchable by keywords in the documents that describe each of the images in the database. Of particular interest is the ability to search by the names of researchers/vizualization experts involved, scientific discipline, but the flexibility to search for any word that might describe an image is also desired.

The difficulty with many tools that allow users to search online information is that performing multiple searches cannot be done sequentially. For this reason, a standalone search interface might be of interest.

Implementation

[imageDB Browser] I have constructed an applet in Java that provides a standalone search interface to imageDB. [Screenshot]

This interface, shown at right, provides a continuously available tool that provides all of the search abilities encorporated into the original imageDB search page.

Upon entering the imageDB, the Browser spawns into a separate window. The user can then conduct searches of the database by selecting keywords from the lists or entering a custom key search. Buttons also provide quick access to the imageDB top page and the Cornell Theory Center top page. The Browser applet remains active until the user selects the Quit button.

Discussion

At the time this project was begun, the Java programming language was in an alpha version, only available for the Sun Solaris OS, and poorly documented. Since then, Java Release 1 has been made available and IBM has ported Java to their AIX OS, but the language remains poorly documented.

The greatest source of information on Java programming has been the comp.lang.java newsgroup. Unfortunately, this means that questions get answered only after several days or not at all. The problem that held this project up for a long time was not answered after multiple posts to the newsgroup, Java web pages, and e-mails to Java "experts". I finally received a clue how to solve this problem, and was able to do so.

In conclusion, I'd say this: it's a great deal of fun to experiment with breaking technology, but it presents the challenge of overcoming poor documentation, many bugs, and a small base of users who can provide assistance.