Screen design and user interface

Before we delve into the details of how a Pascal program can be modified to make it controllable from a WWW client, let us look into what kind of control panel we can present the user with. All the components of the panel have to conform to the HTML syntax and be built with elements that can be displayed by a regular viewer that can handle forms. Now, even text-oriented viewers can handle forms reasonably well, e.g. the Lynx viewer. One can therefore base a WWW tool on the use of forms without reducing by much the generality of the tool.

One of the things we want the user to be able to do is to select, from the source code of an example program, the variables the contents of which should be displayed, and the instructions on which breakpoints should be set. This is best done with a multiple select widget like:


Mosaic viewer: Select/deselect variables to display and place/remove breakpoints in the code with <Control>/Mouse_Button_1. Use the scrollbar to move in the code.

Currently at line ...
Using a multiple select widget, where only part of the code is showing, but all of it is available on the client side, has two main advantages: Note: The Mosaic viewer does not take into account leading spaces for the contents of the multiple selection widget, even when the spaces are surrounded with <code> </code>. We therefore had to replace every two spaces with underscores to keep the indentation of the code as much as possible.

Visual representation of simple data types

Since we want to allow the user to redefine the value of any data object that is displayed, we have to use input type widgets. These widgets allow the user to see the values and change them without having to send a query to the server for each of them. Try clicking on them to see how they "behave". (Note: we are still experimenting with these representations, details may therefore change between what is shown here and the final version)

Visual representation of data structures

Graphical representation of complex data structures

For complex data structures such as lists, trees or graphs, a bitmap image can be prepared, like:

to allow the user to point directly to an element of the structure that should be displayed.

A typical screen could look like this (no action is associated yet with the top row of buttons).

Preparing a program for WWW


This is a section of a copy of the paper World-Wide algorithm animation
by Bertrand Ibrahim, Computer Science Department, University of Geneva, Switzerland.