Project name
WikiDraw: An Integrated Solution for Collaborative Development, Versioning, and Publishing of SVG
Estimated workload
2 months

There are many situations in which an integrated solution for real-time, multi-user collaborative development, versioning, and online publishing of vector graphics would be invaluable. Any profession that must collaborate with a group on media that can be represented by vector graphics would benefit from such a tool. These may include graphic designers, architects, software engineers (for UML diagrams), as well as multimedia artists.

However, the context in which I really foresee this solution being used is in the development of open source software. It would be especially useful in this field because even though developers of open source software are often bound together by a common interest, they are just as often separated by thousands of kilometers. Therefore, a tool that would allow geographically-distant developers to easily collaborate on software architecture in real time would be invaluable.

There are many open-source applications that implement a subset of the functionalities described above, but there are none that comprise a complete solution. A complete solution could use portions of existing code to construct a Rich Internet Application (RIA), which could then be gracefully added, through a plugin, to XWiki. This RIA would allow a user to edit, and commit SVG images directly from his or her browser, as well as collaborate with other users on the same document in real time.

The RIA will use GLIPSGraffiti as its codebase. It will therefore be Java-based and will be built as an applet. The codebase will be modified to be truly collaborative. This will entail construction of both a text-based chat client, as well as an engine for sharing SVG. These collaborative functionalities will be built from scratch as an extension to the GLIPSGraffiti codebase, and will be based around the XMPP protocol. An algorithm will be derived to handle synchronization. Additionally, in order to reduce the RIA's initial load time, classes will be loaded dynamically over the Internet.

The original proposal is available here:

Development progress is being tracked here:

The GLIPSGraffiti homepage can be found here:


Jacob Beard




Get Connected