ZoPark
Abstract
Main purpose of
this project is to develop an Open Source system to deploy easily
customizable learning applications for the disabled. A specialized
trainer should be able to access an online editor where he/she can
specify a set of parameters. Those parameters are stored on the system
and are accessible to the trainer. Once the exercise is completely
defined, it can be used to train a disabled pupil, and, if the trainer
agrees, it can be published and made available to other trainers and
pupils. Every time an exercise is used, response times and success rates
are recorded and sent to the server, to form a base for statistical
analysis.
How does the whole thing work?
Specifications
A number of
facilities are defined inside the system:
- user area
- trainer area
- talk area
- documentation repository
- development area
- research and management area
User area: it's the most important
part of the system. Here trainers can load the exercises they've built
and use them with pupils. These exercises can be used in two different
ways, both online with a browser and downloaded and used offline. Online
use is encouraged, since it allows better personalization and,
mostly, results can be returned to servers.
Trainer area: it's a restricted
access area, where only registered trainers can access. Trainer
registration should be free, as it is on most common free online
services. A moderated registration should be possible, but should not be
set as a default. Inside this area, the system will provide an editor to
create exercises from an extensible library of symbols, an area to
register pupils and keep track of their results, for monitoring purposes
by the trainers.
Talk area: three different forums. A
technical one, where developers can interact and carry out the
development of the various parts of the system. A second group of forums
is meant to be used for interaction between developers and trainers,
where trainers can ask for new features and influence the developement
of the system itself. The last one is a discussion area between
trainers, to share ideas and results, and to keep the trainer community
in touch.
Documentation repository: for each
subject the community shows interest, a documentation mirror should be
kept. There must be a way to publish manuals, papers, thesis and
articles, both in public and in restricted way. Documents produced by
the community itself are published and commentable by the registered
trainers.
Development area: using standard
cooperation instruments, this area keeps track of components versions
and development stages.
Research and management area: this
area allows administrators to configure and assign roles to the users,
to expand the system with new modules and to enable functions. This is
the only area that allows direct access to the informations about
trainers and pupils stored into the system, with the sole purpose of
creating a data set for statistical analysis and user monitoring.
Requirements
The entire
system is a web application, mostly developed with Open Source
components. It must be usable from different platforms (Windows, Linux,
MacOS and so on) and with many different input devices, such as special
keyboards or visors. Exercises must be customizable on most aspects. The
server must be portable on the most common server operating systems, and
the entire archive must be easily manageable. A change in the interface
mustn't force developers to change all the backend of the system.
Guidelines
To meet server's
portability requirements, we choose Zope as a development platform. It
allows easy integration with database and there's a good choice of
components already developed. It allows a quick deployment of almost
every part of the system, included a non-visual exercise editor, useful
for a first demonstration prototype. The use and integration of
ready-to-use Zope products for all non-visual areas is highly encouraged.
As data storage,
for users, exercises and everything else useful, we choose MySQL 4. This
is just a techincal decision, the database must be portable over other
different DBMS, such as PostgreSQL. A change in the database must be
easy to implement, while a change in the server engine is necessarily
more difficult.
As data
interchange format, we choose XML. Data from the visual exercise editor
to the server travels in XML, so does data travelling from the server to
the user's workstation. The XML document contains all the variables
needed by the single exercise. The results are sent to the server as an
XML document too. XML-RPC communication between the server and the
client must be considered.
On the user's
side, we choose Macromedia Flash to deliver multi platform multimedia
content, easily scriptable and customizable. Flash allows dynamic
component loading, XML parsing and powerful scripting. It also supports
mp3 audio playback and standalone playing.
No assumption
(except the availability of a flash plugin) is made for the user's
workstation.
Disclaimer
Macromedia
Flash, unless SWF specifications are made public, must be considered a
temporary solution, until a public standard is developed, made available
and widely used. To avoid usability issues, every function inside the
exercises must be accessible with the keyboard. All exercises are
developed to be used with 1:1 zoom, readability issues must be addressed
by the trainer inside the editor, during the exercise setup.