Planning this Site
Cellupedia makes extensive use of emerging internet technologies to provide the widest range of users a truly interactive and enchanting experience.
The Cell Simulation provides students with an arena to apply their knowledge of cell anatomy and processes. We chose to use java applet technology for delivery of a front end GUI client and built a java server that interfaces with this client.
Our choice of a java client was due heavily in part to its ubiquitous support in popular browsers on numerous platforms. As we wished to accommodate the widest range of users, our client did not use the Java 2 API since neither Netscape version 4.7 nor Internet Explorer version 5 had released native support as of July 2000. We made use of the java graphics package (neither Swing nor Java 2D API ship with current browsers). Although we considered applying the popular Macromedia Flash software, we realized that there were unacceptable network programming limitations. The simulation environment was rendered through a zoomable user interface to allow the user to see both the state of each cell as well as the progress of the entire colony.
We chose to concentrate processing on the server-side rather than on the client-side to allow less than state-of-the-art computers enjoy the interactive simulation. Thus, instead of using a distributive network model, we chose to do all simulation processing and state maintenance on the server. Popular technologies such as enterprise java beans and the model view control architecture of JSPs and Servlets proved insufficient for our real-time persistent simulation. Therefore, we wrote our own TCP/IP server in Java. To minimize bandwidth, we used zip compression before exporting the simulation state to the client.
We provided three types of search: glossary, website, and Internet. We anticipated that students would use our search capabilities to lookup cell biology terms as well as find related material on our site and on the web.
For the glossary, we chose to be forgiving of misspelled words. By automatically searching with wildcards when a search item is not found. For instance, searching for "endopl*ic" would return "endoplasmic." Although trivial to implement, such a system provides a friendlier interface for glossary lookups in the not so friendly world of cell biology terminology.
We chose the highly customizable "Atomz" search engine for free indexing and searching of our site. Atomz also allows advanced searching by dates and adheres to the same wild card system as our own glossary search. Web search was provided by the Google, a site renowned for their indexing technology.
We soon realized that simply typing copying and pasting the HTML code would be an enormous task in itself. Each HTML page would have many slight differences in navigation menus and links from their peers. Furthermore, even the smallest changes in formatting would have to be propagated down to each page. Under these strenuous circumstances, we decided to write an HTML code generator specific to our site. A template formatting file containing styles, a site map XML file, and a set of plain text files were combined into HTML files.
In this way, content and format were kept independent. The layout was constrained to the XML file, which was used to create page specific navigation menus and links. The content was constrained to the plain text files. The format was constrained to the template file. The site generator automated the process of propagating formatting changes.
Using variations of our code generator and different templates, we provided many versions of our site.