Google Wave

My thoughts on Google Wave Robots and Gadgets below the cut.

Robots

What Google Says:

A robot is an automated participant on a wave. A robot can read the contents of a wave in which it participates, modify the wave’s contents, add or remove participants, and create new blips and new waves. In short, a robot can perform many of the actions that any other participant can perform.

You can use a robot to perform actions such as the following:

  • modify information in a wave
  • interact with participants in a wave
  • communicate and synchronize information in a wave to the outside world or to other waves
  • access or modify state in a third-party (such as a database)

You can do many more things with robots than those listed here. Additionally, as we expand the capabilities of the API, robots will be able to take advantage of these new features.

What it is behind the curtains:

It’s a web service.

Basically robots observe what you’re adding to the wave, send it to a website, and returns the result to the wave.

In other words, almost everything that a robot can do can be done by a user opening another browser window or tab and directly accessing that website. This means that for a robot to be useful, it must give the user a reason not to open that new browser window/tab and access the service directly.

There’s also the problem related to how blips are modified by robots, as mentioned in yesterday’s post.

Robots become much more useful when paired with Gadgets because they’ll have more control over how the result is displayed in the wave. But of course, the combination is still prone to the problems related to Google Wave’s asynchronous nature.

Gadgets

What Google Says:

Gadgets have emerged as the standard way to embed non-trusted code in Google web applications. In the Wave API, gadgets are the main mechanism for third party developers to change the look and feel of waves.

Most of the gadgets written for non-Wave containers can run in Wave. However, these gadgets are not able to take advantage of the live, multi-user environment that is Wave. The main difference between Wave gadgets and non-Wave gadgets is that a Wave gadget lives in a wave and can interact with the wave. Wave-aware gadgets can:

  • Access more granular state management
  • Find out the current viewer and all of the other participants on the wave
  • Work harmoniously with the Wave playback mechanism

Wave gadgets typically aren’t full blown applications, but small add-ons that improve certain types of conversations. For example, a wave might include a gadget that lets wave participants vote on where to go to lunch.

What it is behind the curtains

It’s an embedded HTML page.

Whatever you could do with Gadgets, you could do with Javascript-powered page.

That, of course, is a lot. However, without HTML 5, that is also limited compared to what you could do with stuff like Flash and RIAs. To even things out (and make things more Wave-y), Gadgets come with the big double-edged sword:

Shared state.

On one hand, shared state is a blessing. It allows multiple users to use a single Javascript-powered program (i.e. the gadget) at the same time. The way it is stored and manipulated also allows for playback of the wave.

On the other hand, that shared state is asynchronous as heck. If you’re not prepared to deal with race conditions (remember that Javascript does not support threading and synchronization) I suggest that you don’t program Gadgets.

Conclusion

On the surface, Google Wave looks shiny.

Below it, well… it’s actually pretty bland.

Google Wave testers already know this. Chatting is a clumsy task because of the constant movement of the wave, and the inability to disable the as-you-type updates to the wave makes using it as an e-mail-like platform kinda awkward. The extensions are also quite mundane when you see through their facade.

However, I think it’s still too early to say if Google Wave is just going to be a flash in the pan. Look at Facebook’s application platform. It’s about as bland (maybe even blander) than Google Wave’s extension platform and yet millions of users keep using Facebook apps.

I guess only time will tell whether Google Wave will take off…

Tagged with →  
Share →

2 Responses to Google Wave Robots and Gadgets

  1. Interesting perspective on Google Wave. Most articles out there I’ve come across are full of praise for Google Wave whether blind or for good reason.. Personally, I think it doesn’t matter that much if Wave is good or bad and whether or not people take to it. However, in my opinion, it’s definitely a step forward, similar to how Twitter was a step forward to Facebook in terms of online communication. With that in mind, in general, I think Google Wave is a good thing.
    Cheers,

  2. Interesting perspective on Google Wave. Most articles out there I’ve come across are full of praise for Google Wave whether blind or for good reason.. Personally, I think it doesn’t matter that much if Wave is good or bad and whether or not people take to it. However, in my opinion, it’s definitely a step forward, similar to how Twitter was a step forward to Facebook in terms of online communication. With that in mind, in general, I think Google Wave is a good thing.
    Cheers,

Leave a Reply to Google Wave tutorials Cancel reply

Google+