Both e-mail and instant messaging are pretty basic ideas. Originally designed back in the ‘60s, the two electronic earth-shakers were made to replace what we had back then: the telephone and snail mail.

Consider what we have now: blogs, wikis, collaborative documents, etc. Is it possible our faithful forms of communication are outdated? Google (news, site) thinks so. In an attempt to infuse old ideas with new technology once again, Google Wave is born. The communication service is a sort of e-mail, collaboration, instant messaging, networking mashup, and Google’s idea of what e-mail would look like if it were designed today.

As per usual for Big G, the tool is already making waves.

What is it?

Essentially, Google Wave is a real time communication product, platform and protocol. Confused? Well it is Google after all.

The brainchild of three Google-ites, brothers Lars and Jens Rasmussen of the technical staff and Stephanie Hannon of the Google Maps team, Google Wave aims to revolutionize how we use e-mail, docs, chat, etc. by throwing them into one big melting pot.

First, a visual:

  Google Wave Inbox Snapshot

Second, a definition: A single wave is a specific, threaded conversation. It can include either one person or multiple people, and it weaves together instant message and e-mail replies. Basically, it's like a record of everything you've ever said in one particular conversation, no matter which method you chose to communicate it in.

According to Google (and we quote):

  • "A wave is equal parts conversation and document. People can communicate and work together with richly formatted text, photos, videos, maps and more.
  • A wave is shared. Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Then playback lets anyone rewind the wave to see who said what and when.
  • A wave is live. With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time."

The column to the far right in the snapshot above is the actual wave, where you should be able to make out some thumbnails (because photos can be dragged and dropped directly in) and live chat/e-mail replies between members of the particular conversation, whose user photos are displayed at the top. The large middle column is the inbox where all of the waves live, and the left column is Navigation and Contacts.

Waves of Features

This tool is bursting at the seams with innovative features. In fact, the platform does so much that the Web Developer Preview at Google I/O 2009 took a whopping hour and a half to get through. Needless to say, we can't cover absolutely everything here, but here are some key points:

  • Embeddability: Waves can be embedded on blogs or websites.
  • Applications and Extensions: Much like Facebook, developers can build their own apps within Google Wave.
  • Wiki-like functionality: Anything written within a Google Wave can be edited by anyone else, because all conversations within the platform are shared. Thus, you can correct information, append information, or add your own commentary within a developing conversation.
  • Playback: You can playback any part of the wave to see what order the messages came in.
  • Natural language: Google Wave can autocorrect your spelling, and it can auto-translate.
  • Drag-and-drop file sharing: No attachments; simply drag your file and drop it inside Google Wave and everyone participating in the conversation will have access.

GMail 2.0

Hardly a day after it was first unveiled, Google Wave is already being referred to around the blogosphere as GMail 2.0, the spork of the internet, a mega application and the possible death of Google Docs.

"I haven't been this jazzed since the release of the iPhone," said Michael Rexroad, a software engineer with Cisco's telepresence systems business unit. Likewise, bringing up the trending topic on Twitter reveals tons of people proclaiming their love, hate, concern.

Looks like no matter which way you slice it, it's pretty apparent that this wave is more like a tsunami. 

A Technical View

We've got two very magical words for you: open source. Google plans to make Wave open source with the thought that developers will go away and build their own Wave servers. How would they do that you ask? Good question. We said earlier that Wave is a product, a platform and a protocol.

A Product

The Google Wave product is the web application the end-users use to create Waves. It's built using HTML 5 and the Google Web Toolkit. We've explained how the application works above. The fun stuff for you end-users.

A Platform

Wave is also a platform. With a "rich" set of open APIs (remember Google wants it to widely used, so it's going to be open source), developers can embed Waves inside other web services like web applications, wikis, blogs, what have you. You can also extend the current Wave application by building extensions using the API.

There are two types of API: Embed and Extensions. Embed is a Javascript API and Extensions let you create Robots or Gadgets that are simply programs that can run inside a Wave, providing additional functionality. Robots are hosted on the Google App Engine and currently Google has libraries for Java and Python. Gadgets are client-side programs -- think OpenSocial.

A Protocol

The Wave protocol is the foundation. It defines the format for storing waves and how they are shared, including the live concurrency control. It's this control that lets provides real-time updates of anyone's edits for all users and across all services the wave is embedded in.

By open sourcing the protocol, Google can ensure that everyone builds Waves that can interoperate with each other and of course the Google Wave service itself.

Wanna Play with a Wave?

Google needs your help. If you're a developer and you'd like to get to work on this beast, you can read more on the Google Wave Developer blog here

As for the rest of us, Google promises to release the new platform later this year. Until then, head on over here where you can sign up to be alerted as soon as it's available.