YEdit IconDocument collaboration software > Design > Current progress

Before I had all the code stolen early in 2003, a fully working prototype of the engine had been created and was available to everyone world wide through this web site.  This prototype worked by implementing one version of both the server and the user interfaces.  The user interface was a web-based interface that allowed anyone with a web browser to access both the information about this research and the prototype in which they could create and edit web pages.  This was achieved using the three user interface servlets, the read, browse and edit servlets, to access and manipulate the documents that were stored in the file storage system.  The middle interface had all of the functions that were required for the prototype.  The middle interface could load (at run time), any server interface that was specified in the initialisation file.  The server interface controlled the file storage system that was used.  For the prototype, the file storage system that was being used was the normal system file system, of the particular operating system that the engine is being run on (at this stage this has included both Unix and Windows).  Because a normal file system does not support the full range of versioning and locks for editing specific versions, this was implemented by the servlet.

The web site had been designed specifically to house this engine, and it had some information about it and how to use it (for example help on the different ways of accessing the documents, reading, browsing, editing, and some pointers to help for HTML).  It housed the prototype and allowed anyone to access it to try it out.  The feedback that I have received from people who have responded about the web site and the engine has been positive.  They seem to be interested in the usefulness of the engine, both in terms of the current use on the web site, and the future use on other web sites.

The engine had been designed to move as many arbitrary limitations such as types of files or edit applications that are supported as possible from either the middle or the server interfaces, to the design of the user interface that accesses the engine.  This allows the creator of the user interface to support any and all types of documents.  In principle the engine can handle any type of document with complete transparency.  This potentially also includes streaming media (a sequence of video and/or audio that is sent in a compressed form over a network and is decoded and displayed as it arrives, rather than the traditional method of downloading the whole clip, and then viewing it).

The engine had been written in Java because the main considerations of this engine match the strengths of Java.  Some of these strengths are the network ability, the robustness and portable nature of Java, and especially servlet persistence in web servers, and the cross-platform write-once, run-anywhere ability.  The write-once, run-anywhere ability would by itself ease the maintenance of the engine.

Previous: 4.12 Java servlets
Next: 4.14 Testing