It’s just data

Google Wave

At one level, Google Wave is clearly a bold statement that “this is the type of application that every browser should be able to run natively without needing to resort to a plugin”.  At to give Google credit, they have been working relentlessly towards that vision, addressing everything from garbage collection issues, to enabling drag and drop of photos, to providing compelling content (e.g., Google Maps, GMail, and now Google Wave).

At a lower level, Google Wave is a severely constrained set of elements and styles, coupled with a powerful, and largely undocumented at this point, set of annotations. Note that the base grammar has no notion of links, that’s something that is layered on in terms of annotations.  Looking at the source to the Tweety Servlet, one can deduce that the following is the way to establish a link:

textView.setAnnotation(range, "link/manual", uri);

I say “deduce” as I have yet to find this in the documentation any place.

An annotation is associated with a range of items.  Wave operations treat every 16-bit Unicode unit and tag as an “item”, meaning that developers will have to deal with NFC vs NFD issues as well as Astral Plane characters.  The sixteen bit illusion is still going strong.

Waves themselves are identified with a non-URI of the form!w+waveID.

In a move that is sure to frustrate page design tools, embedding is done purely via JavaScript.  Want to know basic information such as a list of what waves are included on a page?  Simple.  Simply load the page, run all the referenced JavaScript,an intercept all calls that involve WavePanels.  But this is pre-beta at this point, hopefully a more declarative mechanism will be added over time.

UIs can be extended and customized by providing wave-aware gadgets.

But stepping back a bit, the entire and much hyped HTML5 interface is just a facade.  That’s not a criticism, in fact that’s generally the way the web works.  What makes Google Wave particularly interesting is that there is an API which operates directly on the repository.  Furthermore, you can host your own server, and such servers federate using XMPP.

These servers are not merely passive, they can actively interact with processes called “robots” using HTTP (More specifically, JSON-RPC over POST).  Once invoked, these robots have access to a full range of operations (Java, Python).  The Python library implementation looks relatively straightforward, and would be relatively easy to port to, say Ruby.

Working on such a Ruby library, a Rails generator for Robots, and ultimately a Ruby implementation of the XMPP server itself would be of interest to me, once the project is open to outside participants

Just simply working on the Ruby Library and Rails generator alone would enable one to build a “four tier” application where a wave is a front-end to an existing Rails application.

Sam Ruby: Google Wave

Diving a bit deeper. (via bookwormat)... [more]

Trackback from Robert Thurnher suppt


Just FYI, the link you provided for “garbage collection issues” points to a horrible article (though I’m guessing you might have just picked a high-ranked result for "google chrome garbage collection").  The author clearly doesn’t understand how this stuff works (his explanation of hidden classes completely omits how they are used to make member access faster).  But more pertinently, he thinks stop-the-world collection is a new technique invented by Google, which is astonishingly ignorant.  Stop-the-world collection is the most obvious implementation technique; it’s how the very first garbage collector worked.

I think V8 might be the first mainstream browser JavaScript VM to have a precise, generational garbage collector, which is good news (even though none of it is new technology).  But you might want to point to a different article for the details.

Posted by Kannan Goundan at

Does anyone know yet if there is/will be an ability for web developers to embed stub waves?  I’m curious if commenting systems can’t be easily built on top of this?  It seems like, if implemented well, and in an sufficiently open way, this could be a much better way of dealing with blog comments, or just comments in general.  However, I’m not keen on seeing waves getting embedded where there’s already a commenting system in place, thus causing there to be two different, separate, and effectively incompatible ways to comment on a piece of content.

Can I get a feed for a wave?  Can I subscribe to waves in Adium/Pidgin?

I’m, on the whole, quite impressed with what they’ve built and the direction they’ve headed.  And the sooner developers can play with stuff, the better.

Posted by Bob Aman at

[from masaka] Google Wave [intertwingly]

Google Wave is a severely constrained set of elements and styles, coupled with a powerful, and largely undocumented at this point, set of annotations ... developers will have to deal with NFC vs NFD issues as well as Astral Plane characters ... - by...

Excerpt from Delicious/network/myakura at

You should check out Seth’s xmpp for ruby code... focused on bots over xmpp.


Posted by rabble at

Sam Ruby: Google Wave

Sam Ruby: Google Wave Sun 31 May 2009 at 19:06At one level, Google Wave is clearly a bold statement that “this is the type of application that every browser should be able to run natively without needing to resort to a pl... vantguarde Google...

Excerpt from vantguarde at

Google Wave as Xanadu is an insightful observation: [link]

Posted by anonymous at

Thinking of Wave in terms of “replacing” such as GMAIL (or even email, itself) is just silly.  Not every Internet communication needs to be (or even should be) as would be in Wave.  Traditional email, at the very least, should (and likely will) never go away.  Of this, I think there should be little fear or doubt.

Now, that doesn’t mean there won’t be a place — and a potent one, indeed — in our lives for such as Wave and its ineluctable variants.  It, too, will be useful, under the right circumstances.  In fact, from my admittedly only-cursory analysis of it to date, I’m thinking that what actually MAY be “replaced” by Wave, as a practical matter, is traditional “chat,” as we now know it (though traditional chat, mark my words, will continue to be around for years and years, too, no matter how good Wave ultimately gets).

Regardless, one thing about which we should all be clear in our minds is that we’re not talking about the mere replacing of anything, here.  Wave, for better or worse, seems very nearly of the nature of paradigm shift... and far be it from me to suggest that that’s, necessarily, a bad thing, here.

It does, however, come with pitfalls about which we should all be watchful, if not actually downright concerned.  For example, though it’s now coming out in articles (and/or rebuttals to such as I am posting here) that it’s likely to be user-configurable, initial writings about Wave touted the ability (and represented it as essential to Wave’s very way of operating) of all persons in a “wave” (or a thread) to be able to see, in real time, all others' keystrokes, as they type.

Let me repeat the salient words of that, here:  AS. THEY. TYPE.

Think about that, please, for just a moment.  It’s a far larger problem than, perhaps, it initially seems.  Like how sausage is made (or, as some joke, like how laws are passed), some things in life may better be left something of a mystery to those who ultimately consume (or are regulated by) them; and, most importantly, solely at the creator’s option.

The ultimate impact and meaning to the reader of anything written would be inordinately influenced by said reader’s having been a witness to its creation.  If one is a thoughtful writer who doesn’t just blurt out every wayward thing which flits through one’s brain, then one is going to pause to think while one types, and back-up and delete and re-type, and whatever else behind-the-scenes activity goes into what ends-up being the finished written product.  If the reader were able to witness what the writer merely paused before writing; or actually did write, but then thought better of and either removed or changed to something else, then the bell of what the reader saw along the way cannot be un-rung; and the reader’s ultimate interpretation and understanding of the final written result will be indelibly affected in ways (even if not immediately obvious) more likely than not to be inherently bad for all concerned.

Now, if it’s true, as some who challenge such as my assertions, here, are now saying, that the ability of others to view one’s keystrokes as one makes them is (or at least will be) user-configurable in the version of Wave which is finally released to the end-user wild, then my concern, at least on this particular privacy-related point, is happily ameliorated. 

However, of larger philosophical concern to me is that the creators of Wave apparently believed, even if only briefly, that something as basic as this issue would not be important.  What, then (if anything), does that mean we should also be wary of in the realm of personal privacy protections, just generally, for users of this new and groundbreaking product?  For what else should we be watching which may, ultimately, negatively impact us because of fundamental, and at least initially seemingly harmless, privacy encroachments...

...encroachments which may not even be recognizable as encroachments to Wave’s creators because, perhaps, of their nationality and upbringing (nothing negative, mind you, intended by that wording, I assure).

One potentially troubling impact (at least from the standpoint of Americans, in my opinion) of globalization (which, incidentaly, I’m not fundamentally against, despite how what I’m about to write may make it seem) is how the sensibilities of those non-Americans who create things which all others on the planet end-up using can unintentionally contravene that which Americans hold perhaps nearer and dearer to their hearts than do non-American others.  Those who grew up and still live in countries where such things as privacy and freedom of speech are not as absolute and paramount as in the US may or may not necessarily value such rights to the same degree as do Americans; and it sometimes shows in their work. 

It has not escaped my notice that the two brothers — brilliant though they are — who created and continue to develop Wave were neither born and raised in, nor now live in, the US... and so I fear (and I may be completely wrong about this, I realize... but absent, at this point, any reason not to, I am nevertheless fearing that they) may not place as much of a premium on the notion of absolute privacy (if desired by the end-user of Wave) as do Americans. 

Or, who knows, maybe they do.  I don’t know them, and it’s unfair of me to presume, I suppose (or even to suppose, I presume).  One way or the other, though, it should be at least a concern to all that the default behavior of Wave seems so inherently and joltingly privacy-denuding.

So, then, again, begged is the question:  Of what else (if anything), in Wave, should we who hold inviolate our privacy be wary?

To appeal to (at least thinking) Americans, the makers of Wave need to take steps to ensure that if the end-user wants to protect his/her absolute privacy while using this admittedly exciting and paradigm-shifting new product, it can, via easy configuration settings, be satisfactorily and incontrovertibly achieved at all possible levels, and in all possible ways.  Moreover, as it is developed, the makers of Wave might need to realize that they may, because of their nationality and upbringing, not necessarily even recognize what all of those levels and ways might be; and the Americans (or even the non-Americans who at least fully grasp the American viewpoint regarding all this) who work on the development of Wave should ensure that no privacy holes such as I’m discussing here remain anywhere in it when it’s finally and fully released into the end-user wild.

Or so it is my opinion... my two cents worth, as it were...

...which my ex-wife, for example, among others, has been known to quickly attest tends to be about all it’s usually worth.

Gregg L. DesElms
Napa, California

Posted by Gregg L. DesElms at

Developers on Google Wave

... [more]

Trackback from Dare Obasanjo aka Carnage4Life


How picky picky picky we all are about a technology that is not even at alpha.  Sure there are things missing, issues to overcome like scalability, security, enterprise-readiness, etc.  But if you people don’t recognize the revolution that’s going to come from this you have become just too jaded for your own good.

What did you say when you saw the Internet for the first time?  For those of you that saw it in the late 80s, what did you say the first time you saw Lotus Notes?  And when you saw the World Wide Web, you said “wow,” right?  Maybe you were impressed with the iPhone?  Well Wave is no less a game changing technology.  Don’t be so preoccupied with the trees.  — duke

Posted by duke at

Nice post, I strongly believe Google Wave will be something of a revelation for both users and the IM world

Were getting some great/interesting discussion about Google Wave at

Check it out! Join up and share your thoughts

Posted by James at

Gregg L. DesElms: the interval and scope of deltas (change updates) sent by a widget is up to the widget.  Wave already incorporates a placeholder “Draft” checkbox in the UI that, eventually, is planned to allow a user to hold their updates and send them in a block, more like email or chat applications that send a block at a time.  Several of the Wave team have spoken already about there being a balance that needs to be struck between immediacy and privacy; all the I/O sessions are up now in video form — it comes up as a recurring theme.

Posted by Rob Heittman at

Google Wave: Tsunami or Microwave? The Q&A

“What would email look like if we set out to invent it today?” - Lars Rasmussen, via Tim O’Reilly In spite of substantial evidence that it’s at best a mixed blessing, the world outside of technology largely celebrates tradition. Even as humanity...

Excerpt from tecosystems at

Google Wave - A power play to change Content and Communication for the Web

3scale was lucky enough to have a sandbox slot at Google I/O in May - and an awesome event it was for us too (check out Martin talking technology here!). Things have been hellishly busy since - but now a......

Excerpt from Random thoughts on the evolving Web at

Google Wave Federation Protocol is open to contributions by the broader community with the goal to continue to improve how we share information, together. offers great opportunity for all to participate in the main stream.

Posted by Google Wave Community at

Add your comment