Google Open Sources Wave Protocol Implementation 183
eldavojohn writes "Certainly one of the most important steps in adopting a protocol is a working open source example of it. Well, google has open sourced an implementation of the wave protocol for those of you curious about Google's new collaboration and conversation platform. It's been reviewed, skewered and called 'Anti-Web' but now's your chance to see a Java implementation of it. The article lists it as still rapidly evolving so it might not be prudent to buy into it yet. Any thumbs up or thumbs down from actual users of the new protocol?"
the announcement (Score:3, Informative)
Re:OK, now what does it do? (Score:5, Informative)
http://en.wikipedia.org/wiki/Google_wave#Product [wikipedia.org]
That wasn't so hard, now was it?
Re:OK, now what does it do? (Score:3, Informative)
this [google.com]
Re:OK, now what does it do? (Score:5, Informative)
http://en.wikipedia.org/wiki/Google_Wave_Federation_Protocol [wikipedia.org] ?
Re:OK, now what does it do? (Score:4, Informative)
Many people have responded to your post with links, but I know people are really, really, really lazy. So Google Wave is kind of a nifty new communications paradigm designed to replace e-mail, IM, IRC, and other collaboration tools. The basic idea is to create communications centered around a conversation with as many participants as needed, rather than trying to take a two way communication like a letter and expand it to sort of work for more people.
If you're the only person in the conversation (or wave) online, it works like e-mail. As soon as a second person is online at the same time, it works like IM. It is sort of timestamp version controlled so you can rewind conversations and see how the conversation branched and you can embed the conversations in generic Web pages. It's extensible so you can add additional communications to it, and they've added a way to post images and host them as photo galleries.
In short it's new, but similar in ways to IM and e-mail and it's fairly cool, but watching a video makes more sense than reading a lengthy explanation.
Re:OK, now what does it do? (Score:4, Informative)
It defines a protocol that allows servers to publish documents with threaded conversations, and allow users on different servers to edit those documents and append to the threaded conversations in real-time. It also defines an API that lets developers extend the kind of media that can be placed in the documents, and make documents interactive with the user or other services. It also uses a messaging semantic based on operational transformation, that allows users to browse the complete editing history of any document or thread, and allows agents observing a document to resolve their local state by reading a document as a stream of deltas (it's more complicated than this, but I have yet to wrap my head around OTs completely).
People say it's like email because it lets you do messaging in non-real-time, and has threaded conversations, and documents and media attachments, and it's an open standard. People say it's like IM because conversations are posted to threads in real-time, keystroke-by-keystroke. People say it's like Google Docs (or other such things) because it allows collaborative editing of documents, except this lets you edit the document contemporaneous with other people, since the server protocol merges all updates to the document keystroke-by-keystroke.
Re:Write only code? (Score:3, Informative)
As indicated in the comment at the top of that file [google.com], that code was generated by the Protocol Buffers [googlecode.com] compiler, protoc. You aren't supposed to edit that -- edit the .proto file [google.com] instead and regenerate. I'm not really sure why they checked the generated code into VCS -- normally only the .proto would be checked in and protoc would be invoked at build time.
Re:I hope this doesn't catch on. (Score:5, Informative)
Err, try again. The whole point of wave is that google are open sourcing the spec, and plan to release an open source *server* reference implementation.
The concept of wave servers appears to be similar to that of smtp email. Companies can run their own internal servers, and configure links to the outside world as needed.
Re:Yay for open sourcing (Score:3, Informative)
I assume you've tried signing up [google.com]? You should be able to develop something however if you want to get a peek.
Re:I hope this doesn't catch on. (Score:5, Informative)
Re:I hope this doesn't catch on. (Score:4, Informative)
just like "clouds", "waves" do not reside on your computer, but rather *out there* somewhere, that you can *probably* get access to if:
-the service is up and functioning properly
-you have the required hardware and software
-there are no connection issues between you and the server
You can set up your own wave server, just as you can with e-mail.
if your internet goes down, suddenly you've lost access to even internal communication at your office, as well as all archives and logs of past communication. Without local storage, you cannot do efficient search and retrieval of your own information.
Companies can set up their own wave servers and communications between members of the same server will never leave the network.
there are serious privacy issues as well, no doubt google will be surfin the "waves" looking for terms to market to you, but perhaps it is more shady than that even. google has agreed to censorship in foreign markets over the years, does it really make sense to let them hold onto your data in this way?
Yeah, they can - on their own server which will probably become the most popular one but you can use alternate servers to those of Google.
then again.. it's cool technology, and now that it's being open sourced, it means feasibly you can run your own "waveserver" and mitigate the issues above somewhat.
Not somewhat but pretty much equally to e-mail.
Re:Obligatory... (Score:3, Informative)
Heh :D
Joking aside though, I loved the demo of the curses interface :)
Re:I hope this doesn't catch on. (Score:1, Informative)
Really? You have to ask?
Even if there wasn't a 'Save to Disk' button it's freaking OPEN SOURCE and you could just code your own. Or did you think this was magic data that turns into 0s when it arrives on computer that hasn't been enchanted by the Google wizards?