How can I write a Google Wave rich client?

593 views Asked by At

I am not sure my question makes any sense. Google Wave is using HTML 5 and such. But if I have a desktop (say winforms) application, can I leverage google Wave for collaboration/discussion? Does it even make sense? If so, what's the API?

4

There are 4 answers

6
overstood On

Yes you can once someone writes a library for .NET that supports the wave protocol.

Wave is really just an extension to XMPP (jabber, google talk, etc.), so it makes sense to have a thick client implementation at some point. Google of course, is pushing it as a web app.

I don't know of any implementations off of the top of my head, but I'm sure that someone somewhere is working on it.

1
Jim Puls On

Google has released a federation protocol that lets your write your own Wave servers and have them talk to Google's.

They also have embedding APIs that let you put your HTML content in Wave and put Wave in your HTML content.

Neither of these get you where you want, though, because the way that Google's in-browser Wave client and their Wave servers talk is still proprietary, and that's what you're looking for.

Your answer is "it doesn't even make sense". You'd be better off building your own chat support and then connecting it to Wave later on.

1
tom greene On

Answering my own question: There is a Java client: com.google.wave.api: http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/package-tree.html

0
Willi Ballenthin On

You could use the Robot API to write a messenger/relay robot. The robot might record all updates to the Waves to which it is subscribed, and then push the data to your desktop program. Similarly, the robot could respond to a Wave as a proxy for your Desktop client. This is not elegant, efficient, or future-proof. It might, however, satisfy your desires. This robot probably could be hack together in a two days or so, and updated as needed.

Once Google publishes the client/server protocols it will be much easier to write such a client.