[http://wave.google.com 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.

+

[http://wave.google.com 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.

−

== Primary goals ==

+

== About Google Wave ==

+

With an announcement on 08/04/2010 Google [http://googleblog.blogspot.com/2010/08/update-on-google-wave.html discontinued] the development of Google Wave as a standalone product. Anyway, an open source implementation of the [http://code.google.com/p/wave-protocol/ Google Wave] server is available and the protocol is also [http://www.waveprotocol.org open]. The Google Wave (aka Federation One) server comes with an implementation of the operational transformation algorithm, which allows you to build real time shared editing applications from the comfort of your eclipse RT / ECF environment using this provider.

[[Image:Glass.gif]] Implementation of real time shared editing support

+

[[Image:Progress.gif]] Implementation of real time shared editing support

for eclipse. Currently there are

for eclipse. Currently there are

[http://www.youtube.com/watch?v=GfeUCT-tRJQ cola and docshare], which

[http://www.youtube.com/watch?v=GfeUCT-tRJQ cola and docshare], which

Line 33:

Line 80:

at the same time. Once you logged into your wave account using the well known ECF

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

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.

+

editing with your friends on your or any standards compliant third-party wave server.

== On the horizon ==

== On the horizon ==

Line 43:

Line 90:

editing to eclipse. Hopefully we will be able to share a complete

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.

project with fellow developers at some point and collaborate with them on multiple files and folders in real time.

In addition to the weekly [http://wiki.eclipse.org/index.php/Eclipse_Communication_Framework_Project 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 or Mustafa (''codesurgeon'') via Skype chat. You'll be invited to the conference call.

== Getting the source ==

== Getting the source ==

−

+

The Wave provider is hosted at [http://github.com/ECF/Wave github].

−

The Wave provider is hosted at ecf1.osuosl.org. Detailed information is provided on [https://bugs.eclipse.org/bugs/show_bug.cgi?id=280347#c10 the enhancement request]. The sourcecode is also [http://github.com/sschmidt/eclipse-ecf-wave mirrored on github.com] to facilitate collaboration via the Git version control system and github features.

+

== Open issues ==

== Open issues ==

Line 89:

Line 99:

== New ideas ==

== New ideas ==

Do you have a great idea for the provider? Just open a [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=ECF new feature request] or comment on the existing [https://bugs.eclipse.org/bugs/show_bug.cgi?id=280347 enhancement request].

Do you have a great idea for the provider? Just open a [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=ECF new feature request] or comment on the existing [https://bugs.eclipse.org/bugs/show_bug.cgi?id=280347 enhancement request].

Abstract

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.

About Google Wave

With an announcement on 08/04/2010 Google discontinued the development of Google Wave as a standalone product. Anyway, an open source implementation of the Google Wave server is available and the protocol is also open. The Google Wave (aka Federation One) server comes with an implementation of the operational transformation algorithm, which allows you to build real time shared editing applications from the comfort of your eclipse RT / ECF environment using this provider.

Waves

Wavelets

Documents

Project goals

Legend Needs some research

Work in progress

Feature added

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.

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.