Google Summer of Code - idea

Casey Harkins caseyharkins at
Wed Feb 24 10:41:10 EST 2010

On 02/24/2010 04:36 AM, Maciej Zbierski wrote:
> Hi,
> 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 [1], which might have some good ideas on how to develop the 
whiteboard protocol.

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.

Good luck!



More information about the Devel mailing list