Difference between revisions of "InkboardIntegrationSchedule"

From Inkscape Wiki
Jump to navigation Jump to search
m (link fix)
 
(2 intermediate revisions by one other user not shown)
Line 9: Line 9:


<h3>Week 1 - Week 3/4 (July 2 - July 16 / July 23)</h3>
<h3>Week 1 - Week 3/4 (July 2 - July 16 / July 23)</h3>
* Begin and finish integration of current Inkboard codebase into Inkscape CVS.  ''[Almost done; fixing a few last major bugs.]''
* Begin and finish integration of current Inkboard codebase into Inkscape CVS.  ''[Done.]''
** Integrate UI elements. ''[Done.]''
** Integrate UI elements. ''[Done.]''
** Integrate Jabber server communication code. ''[Done.]''
** Integrate Jabber server communication code. ''[Done.]''
** Integrate client communication code. ''[Done.]''
** Integrate client communication code. ''[Done.]''
** Integrate object listeners. ''[Almost done; need to implement notifyChildOrderChanged.]''
** Integrate object listeners. ''[Done.]''
** Integrate send and receive code. ''[Done.]''
** Integrate send and receive code. ''[Done.]''


<h3>Week 3 - Week 7/8/End (July 16 - August 13/20 / September 1)</h3>
<h3>Week 3 - Week 7/8[[/End]] (July 16 - August 13/20 / September 1)</h3>
* Work on stabilization and bug-fixing of integrated Inkboard code.  ''[Whoops...introduced a couple bugs, most likely due to incorrect GC usageFixing.]''
* 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 levelWorking on better revision control methods.]''
 
<h3>Time permitting</h3>
<h3>Time permitting</h3>
(in order of importance, to be juggled as necessary):
(in order of importance, to be juggled as necessary):
* Complete user -> chatroom whiteboard support. ''[Implemented, but highly unstable at this point.]''
* Complete user -> chatroom whiteboard support. ''[Implemented.]''
* UI enhancements.
* UI enhancements. ''[I think I'll let the UI experts work on this...]''
* Session file support. ''[Working on it.]''
* 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.) ''[Partially done.  Changes are streamed, but only for zero (root) and first-level child nodes in the document -- deeper nodes are transmitted as large message chunks attached to first-level children.  The current recursive new object message construction architecture makes it difficult to go any further without extensive work in both sending and receiving routines.]''
* 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.
* 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.]''
* 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.]''

Latest revision as of 02:33, 22 January 2006

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.]