Many times a picture can describe ideas that are impossible over simple text based communication (chat). With many work teams having physically diverse locations sometimes sharing and working on pictures can be very difficult. This project is to create a real-time online whiteboarding application using instant messaging protocols. The problems with previous projects of this type is that they use very simplified drawing models that restrict the user or they use a specially designed protocol that requires special set up. This project aims to remove both of those restrictions by using standards, and an existing vector drawing application.
This project involves extending a current vector drawing program (Inkscape) using the standard XMPP messaging protocol (Jabber). Inkscape is based on the W3C's XML based vector graphics format SVG. Internally, Inkscape maintains the structure of this document, and has events occur when this model is changed by the user. When this occurs, a message can be sent to another instance of Inkscape monitoring an XMPP stream on another host, perhaps in another country.
This project would involve learning the Inkscape architecture, SVG and XMPP standard and then extending them to achieve the required functionality. Depending on the team size, group chat should also be supported.