Google Wave ECF provider
Student: Sebastian Schmidt
Mentor: Mustafa K. Isik
This project is part of the Google Summer of Code 2010
Google Wave is a real-time collaboration system based upon operational transformation approach to replicated state synchronization. With the Cola System (DocShare), ECF has been using operational transformations, for some time now. I will implement a provider to allow an equinox+ecf based web server to inter-operate with Google Wave.
Implementation of a Google Wave ECF provider
that people can use to build their own wave applications on top of
ECF. The provider will handle the basic wave-protocol operations like
managing waves, contacts and documents. Also the provider will provide
an API which allows users to add listeners to wave changes and
implement real time shared editing applications.
Implementation of real time shared editing support for eclipse. Currently there are cola and docshare, which allow document based real time shared editing for two collaborators in eclipse. With the help of the wave protocol I want to improve this approach and allow more than two collaborators to work on one document at the same time. Once you logged into your wave account using the well known ECF UI, you will be able to share a text-based document for collaborative editing with your friends on your or any standards compliant third-party wave server. Currently, Google does not provide API access to their official Wave service, their developer sandbox remains open though and can be utilized in scenarios where another Wave server is not available. It is likely that ECF will have its own instance of a free-for-all Wave server running.
On the horizon
In their GSoC welcome package Google told us to "think big and have fun". That's why Mustafa and I already have spoken about ideas we have for the time after the end of GSoC 2010. The wave protocol allows to handle more than a single document (= wavelet / blips) in a wave. With an appropriate mapping of Wave components such as Waves to projects and Wavelet/Blips to resources such as sourcecode files, this feature can be adopted to introduce project-based real time shared editing to eclipse. Hopefully we will be able to share a complete project with fellow developers at some point and collaborate with them on multiple files and folders in real time.
I would really appreciate to get inspiring ideas from the community. So please feel free to provide feedback and share your ideas.
In addition to the weekly ECF conference call on Mondays, both of us will be syncing up via another call Tuesdays around 11:30AM PST - that is 20:30h in Germany. Feel free to join us. In order to do so, you'll have to either ping Sebastian (schmidt-seb) or Mustafa (codesurgeon) via Skype chat. You'll be invited to the conference call.
Getting the source
The Wave provider is hosted at ecf1.osuosl.org. Detailed information is provided on the enhancement request. The sourcecode is also mirrored on github.com to facilitate collaboration via the Git version control system and github features.
To see all the open issues and feature requests of this project, take a look at this Bugzilla query.
Do you have a great idea for the provider? Just open a new feature request or comment on the existing enhancement request.