tags:

views:

958

answers:

4

My understanding is that Google wave is a communications and collaboration tool. But is it only limited to IM/Twitter type interface or can it do much more? Can it be something completely different than the top-down conversation format?

Say I want to build a collaborative photo editing app with google wave. which API should I use? or am I not getting it?

+1  A: 

That would be a gadget, I believe (possibly combined with a robot). I'm not sure whether photo editing would really be a practical application of Wave, although a "collaborative canvas" certainly works.

The gadget would be used for the user interface side of things, and the robot could be used for more complex effects that you didn't want to implement in JavaScript. You'd add a bit of data representing "I want posterisation applied" (for example) and the robot would see that, apply the effect and then send back the modified blip with the posterised version.

The main problem I'd see with collaborative photo editing is the amount of potentially changed data for each edit. I suspect it would technically work, but it may not be great in terms of space/bandwidth usage...

Jon Skeet
actually, i was thinking of doing a diagramming (like visio for flow diagrams, mind maps, etc) app in Google wave. not photoshop :P I think it's going to be VERY useful if not a killer app.I'll look into those APIs. Thanks.
Diagramming would probably be a lot more feasible, as it's more lightweight in terms of the data required.
Jon Skeet
does google wave support flash or silverlight?
@fast: Not that I'm aware of.
Jon Skeet
@fast, I have seen several waves with flash embedded.
Russell
+1  A: 

If you are interested in collaborative diagramming, take a look at the video demo on the following page:

http://www.googlewaveblogger.com/collaboration/gravity-the-best-business-example-of-google-wave-period/

Midway through the video, you can see several users collaboratively editing a SAP business process (flowchart). Super cool.

Jerry Bullard
+1  A: 

There are three aspects to Google Wave:

  1. A product: Wave is a web app using HTML5 built on GWT
  2. A protocol: Wave also denotes the underlying format for storing and sharing waves
  3. A platform: Wave provides a set of open APIs for developers

The platform can further be divided into Wave extensions, and the Embed API. Wave extensions include robots and gadgets, and the Embed API allows you to embed waves into third party applications and websites. A gadget is an application that runs within a wave, and a robot is an automated participant in a wave.

Some links that might be useful to you:

  1. Google wave blog post: http://googleblog.blogspot.com/2009/05/went-walkabout-brought-back-google-wave.html
  2. Google Wave API overview: http://code.google.com/apis/wave/guide.html
  3. Google Wave Federation Architecture whitepaper: http://www.waveprotocol.org/whitepapers/google-wave-architecture
  4. Google Wave Data Model and Client-Server Protorol whitepaper: http://www.waveprotocol.org/whitepapers/internal-client-server-protocol
  5. Google Wave Extensions, An Inside Look: http://mashable.com/2009/06/11/google-wave-extensions/
hexium
A: 

Here is a searchable collection of Google Wave Gadgets and Robots in order to look at some examples of what you can do.

You can check out the Cards gadget, for example that has source code available.

Devon