InkboardIntegrationSchedule

From Inkscape Wiki
Jump to navigation Jump to search

Inkscape + Inkboard project schedule

In keeping with the usual unpredictability of software engineering projects, this schedule is very coarse, and time estimates overlap. Granularity will increase as progress is made and feedback is received.

Week 0 - Week 1 (pre-June 24 - July 2)

  • Enhance familiarity with Inkboard and current Inkscape code. [Inkboard code: familiar, Inkscape code: learning more as I integrate.]
  • Enhance familiarity with the Inkboard state machine and protocol. [Done; will return to this as necessary.]
  • Learn about the class structure of Inkboard and how it integrates into Inkscape. [Done; will return to this as necessary.]

Week 1 - Week 3/4 (July 2 - July 16 / July 23)

  • Begin and finish integration of current Inkboard codebase into Inkscape CVS. [Done.]
    • Integrate UI elements. [Done.]
    • Integrate Jabber server communication code. [Done.]
    • Integrate client communication code. [Done.]
    • Integrate object listeners. [Done.]
    • Integrate send and receive code. [Done.]

Week 3 - Week 7/8/End (July 16 - August 13/20 / September 1)

  • Work on stabilization and bug-fixing of integrated Inkboard code. [GC bugs ironed out, loop bugs worked out by moving change listeners from the node level to the undo level. Working on better revision control methods.]

Time permitting

(in order of importance, to be juggled as necessary):

  • Complete user -> chatroom whiteboard support. [Implemented.]
  • UI enhancements. [I think I'll let the UI experts work on this...]
  • Session file support. [Working on it.]
  • Streamable document synchronization: i.e. change the current protocol and implementation to allow initial documents to be streamed, as opposed to the current method where the document is built into one huge message and transmitted. (The current system makes synchronization of large SVGs rather painful.) [Now greatly improved: Inkboard can now transmit and process ScislaC's "Gaze" in a reasonable amount of time.]
  • Add rudimentary chat facility based on Jabber.
  • Complete Inkboard protocol specification. [In progress; I hope to be able to pass it off to Ted and Peter Saint-Andre when it's in good enough condition.]