ible at once.
A small number of controls have been placed at
the bottom of the workspace. To the left are two
buttons labeled “Random Images” and “Related Im-
ages”. Both of these buttons will empty the filmstrip
and replace it with either random images from the im-
age database, or related images. As mentioned earlier,
PRISM can accommodate queries that are content-
based, content-free, or semantic annotation-based. To
the right is the trash can icon. For consistency, it was
decided that dragging images to this area would delete
images, rather than using separate buttons on each im-
age for deletion. Images can be deleted directly from
the filmstrip, or from the workspace after they have
been placed.
The workspace is used for arranging images. Im-
ages can be placed anywhere and moved to new lo-
cations after their initial assignment by clicking and
dragging. This action was inspired by the method one
might use to arrange a shoe box full of images. In
PRISM the intention is for the user to place related
images closer together. It can be inferred that images
that are placed close together within a tabs and, to a
lesser degree, images that share a tab, are related. This
functionality enables content-free queries. If, across
many users, the same images occur together their like-
lihood of being related increases. This can be judged
regardless of content (hence, content-free).
Within the workspace images can also be scaled
larger or smaller. It is our intention that users will
make more relevant and important images larger, and
vice versa. In content-based queries larger images can
be given more weight. This capability replaces the
relevance feedback found in other systems. Addition-
ally, since the smaller and images is, the more difficult
it is to view details, image size can be used to distin-
guish determine is a user is intrigued by the content of
the whole image (the gist of a scene (Oliva, 2005)) or
a specific region of interest. Scaling is accomplished
by clicking on the “+” and “-” icons that appear when
the cursor is moved over an image. Placing these con-
trols in an overlay that is only visible when needed
reduces the complexity of the interface.
Finally, the workspace allows the annotation of in-
dividual images (as well as the tabs the images belong
to). Previously annotated images (by the same user or
other users) can be recalled based on an analysis of
the annotations in the current workspace. Images are
annotated by changing the text in the same overlay
that appears to resize images.
In summary, the functionality of PRISM is sim-
ply described and demonstrated, yet enables expres-
sive queries without requiring knowledge of the inner
workings of the system.
Figure 3: General architecture.
3.2 Implementation
The PRISM interface was implemented using con-
temporary technologies and design methodologies.
From the beginning, it was intended that PRISM
would be a web-based applications. Ultimately, this
provides the broadest platform. Accessibility is of
paramount importance to any interface, and designing
for widely-used Web browsers helps satisfy this need.
The client-server architecture allows query process-
ing to occur on the remote server, freeing the client
of processing and storage requirements. The image
database communicates independently with both the
client and server, providing images as requested. The
client-server architecture also helped fulfill the multi-
user requirement of the implementation.
Figure 3 shows the general architecture of the sys-
tem. The client and server communicate using AJAX
(more generally, XML). The server has access to the
MySQL database for storing and retrieving user ses-
sions. Both the server and client have the ability to
retrieve images from the image database.
On the client-side JavaScript, CSS, and the DOM
(Document Object Model) realize the interfaces func-
tionality (collectively known as DHTML). Ajax
(Asynchronous JavaScript and XML) is used through-
out to communicate with the PHP-based server,
MySQL relational database, and the image database.
Additional functionality was incorporated from the
popular Script.aculo.us (script.aculo.us, 2006) and
Xajax (xajax, 2006) libraries.
The client instantiates each image as an object
contained within a standard HTML division (div) with
a unique ID to facilitate access and tracking through
the DOM. CSS is used heavily throughout to template
common elements and to reduce the amount of code
WEBIST 2007 - International Conference on Web Information Systems and Technologies
330