Project Overview

The goal of the "Draft" is an collaborate working environment for prototyping projects - software and other - in a graphical manner. We understand "project" as the process to find a solution for a given problem. "Prototyping" declares the process as fast, quick and dirty. In our case, we'll use graphical diagrams to visualize the concepts, following the old saying "a picture is worth 1000 words."

Think of an UML design tool as an example. The tool helps you to understand the problem, structure your ideas, and eventually to define objects to build the solution from. UML is a graphical language to discuss the problem, to reason about possible solutions, to communicate. It's more abstact than code, so isn't better suited for complex problems.

The process works best, if a group of people is involved. Therefore, "Draft" will allow simultaneous use. People can watch somebody explaining a design or work together creating the best model for a certain problem while talking with each other. We'll synchronize all user actions using a "Draft" server. This should work both in LANs and via a low bandwith connection.

But "Draft" is not restricted to UML diagrams but any form of entity-relationship diagram. You could use it also to create mind maps or flow charts for example. When using it in code mode, however, it will also automatically generate source code - at least for Java.

"Draft" will be developed in Java (JDK 1.3) and should therefore work on any supported platform, at least on Windows 98/NT/2000/etc and Linux.

I'd categorize it as tool plus a graphical framework.

Another important feature of "Draft" - compared to other diagram editors - will be the usability. We'll follow a somewhat non-traditional way, creating a freely zoomable UI which makes use of color and morphing animations and whose main usage metapher is direct manipulation via drag and drop. Our goal is to follow most if not all recommendations from Jef Raskin (UI guru extraordinare). Think Rational Rose merged with Kai's Power Tools.

The collaboration part of "Draft" will be the diploma thesis of one of the participants. Otherwise, it's a privately (self-)funded research project.

One example for "Draft" is Morphic, the UI of the SELF system. SELF is an advanced programming language similar to Smalltalk. This language might even become the scripting language of "Draft", but that's for the future.