Google Summer of Code - idea
caseyharkins at gmail.com
Wed Feb 24 10:41:10 EST 2010
On 02/24/2010 04:36 AM, Maciej Zbierski wrote:
> as I would like to apply for the SoC 2010, during the process of
> brainstorming the ideas I came up with something that might prove
> useful. The idea was to create a whiteboard to be shared between
> people over the chat. Now, I know there already is a plugin, which
> develops more or less the same conception (Virtual Clasroom), but it
> provides a limited functionality by supporting only the Yahoo protocol.
> My idea, however, would be to create such tool for all Pidgin users,
> regardless the protocol they use. The project would include the desing
> and implementation of a clever data-exchange algorithm
> (clever = limiting the amount of data to be sent, so as not to send
> the whole bitmap every time some change is made to the whiteboard) and
> the implementation of the GUI in a form of a plugin.
> I would like to ask you for the opinions about that subject. Do you
> think it is worth coding, should I introduce some alterations to my
> proposition, or should I abandon the whole thing and think of
> something else?
Personally I like the idea of a shared whiteboard. However, I think
limiting the amount of data would be better handled by using a vector
based whiteboard rather than bitmap based (and still only sending vector
data for portions of the whiteboard that have changed). It looks like
some thought was put into an XMPP whiteboard extension proposal a while
back , which might have some good ideas on how to develop the
Ideally, this would be implemented as an extension to the protocol when
possible (e.g. XMPP). However, it could also be implemented on top of
any protocol by using specially formatted instant messages (which I
think it what you are hinting at in your description). I could see a
plugin supporting both, preferring a protocol level implementation and
falling back on embedding directly in standard messages.
Just rough ideas for you to think about. Given the relatively short time
allotted for GSoC, I'd also recommend structuring your proposal in
phases so that even if you only finish phase 1 of 4, you still end up
with some sort of working whiteboard. Maybe save protocol specific
implementations to a later phase and limit the number of drawing
primitives that you implement until a later phase.
More information about the Devel