Google Wave is a project that was born right here in our Google Sydney office, created by the engineers

that made Google Maps. It's now in early preview stage, and everyone's wondering what it is and how they can use it to make their world a better place. The answer is different for everyone, but I want to share my ideas about how it can improve our geo world.

Google Confidential and Proprietary


Let's start with the basics. Google Wave is a communication and collaboration tool. It's been called "Email 2.0" or "what email would look like if invented today." If you just look at the main screen after you're logged in, it kinda even looks like a remixed Gmail.

Email 2.0?

Google Confidential and Proprietary


But that first impression is deceptive - it's much more than that. Google Wave lets you create conversations with your contacts, and create a nested tree of replies in those conversations. Those conversations are called waves, and the messages inside them are called blips.

Nested Trees of Blips

Google Confidential and Proprietary


If you decide that you don't like the contents of a blip - no matter who created it- you can edit it yourself. If you want to fork the conversation, then you can create a private reply. At any point, you can play back the conversation and see when people and blips were added. It's revision history made easy, and fun.

Private Replies


Google Confidential and Proprietary


This doesn't seem that revolutionary, but it actually solves many of the problems that email poses. You don't have to worry about making stupid unretractable typos, trying to figure out who is replying to what where, or getting CCed onto a 40message long thread and trying to interpret the flow of conversation.


Long Nested Threads!

Late CCs!
Google Confidential and Proprietary


So, yes, Google Wave can be thought of as Email 2.0. And just like anyone can set up an SMTP server and send messages across email servers, our goal is for anyone (well, any engineer) to be able to set up a Wave server, and share Waves across servers.

Google Confidential and Proprietary


In order to federate Wave, we need to document our protocol and open-source the essential components. There's the operational transforms code, which is what we use to enable real-time collaboration of participants, and there's the data model, which defines the structure of the XML documents that we perform the operational transforms on.

Operational Transforms*

Data Model

Google Confidential and Proprietary


And to let people create their own Wave clients, we are open-sourcing the client/server protocol for retrieving and sending Wave operations, and rendering them on the client. Hopefully, we can open-source enough code that people can have a consistent user experience across Wave clients on different servers.


Google Confidential and Proprietary


But now, my favorite part, and the part most related to geo: the developer platform. At Google, we know the power of making extensible platforms, as we've seen how developers have added value to products like iGoogle and Maps in ways that we could have never imagined. That may be why we now have more than 60 APIs.

Developer Platform

Google data APIs Adwords API Geocoding API

Visual Plugin
OpenSocial Gadgets Spreadsheets Gadgets Wave Gadgets/Robots
Google Confidential and Proprietary

Google Maps API Google Visualization API Google Charts API Google Web Elements


Our Wave developer offerings include an Embed API, which lets you embed an interactive Wave on your own webpage, and an extensions API, which lets you create robot participants and collaborative gadgets that can be added to Waves. So, you can either take the content out of Wave, or you can put your own content into Wave.

And for the developers…

Embed API

Extensions APIs Robots Gadgets

Google Confidential and Proprietary


A Wave gadget is basically a mini-webpage with a shared state that can be modified and retrieved by all the participants. It lets you extend Wave beyond textual communication onto visual communication... like maps! For example, the supersimple map cluster gadget visualizes the locations of all the participants.

Cluster Gadget

Shared State
Google Confidential and Proprietary


This map gadget allows for more free-form map creation. When editing, you can add or modify markers and shapes, and set the shared viewport. When viewing, you can read infowindows and pan around the map without anyone seeing what you're doing. Privacy, and the distinction between edit and view, is fundamental to Wave.

Map Gadget


Google Confidential and Proprietary


The LonelyPlanet trip planner gadget adds the dimension of time. You can create a trip for a given location, and then add places like hotels and restaurants to that trip. You can schedule places for particular days, and everyone on the Wave can comment and rate each place.

Trip Planning

Google Confidential and Proprietary


The cool thing about all these gadgets is that they are just a part of a larger collaborative document in Wave. So you can use map gadgets in conjunction with other gadgets, converse below the map gadgets about what you're making, and watch how the maps were created in playback.




Google Confidential and Proprietary


A robot is basically an event listener on a Wave, reacting to events like the user typing by doing operations like adding blips, editing text, or inserting gadgets. A hypothetical place locator robot could search for places in a blip, and offer to insert a collaborative map gadget for all of the places it found.

Place Locator Bot

Google Confidential and Proprietary


That place locator robot could be even more useful by finding dates and times associated with all of the places. If it found a list of historical events, it could insert a collaborative timeline map. Alternatively, if it found a list of upcoming events, it could offer to add them as entries to your calendar.

Historical Events Upcoming Events

Google Confidential and Proprietary


Robots can help you out - but they can also compete against you! A robot could insert a place-guessing game, and then try to beat you and your friends. A robot is better than human friends though, because it can be configured to any level of difficulty (like ridiculously easy), or track how well you're doing and adjust accordingly.

pamela meanmachine

Competitive Robots
Google Confidential and Proprietary


Wave is a powerful platform for a wide range of use cases, from the casual to the serious. The average person can use it when they're planning a pub crawl. The GIS analyst can use it to quickly visualize the places and data in their business conversations. The history teacher can use it to quiz their students on the curriculum.



History Teacher
Google Confidential and Proprietary


Even more crucial in our recent time of crazy natural disasters, volunteers could use it to map an ongoing emergency, plotting casualties or rescue shelters, and discussing all the pieces of news as they are coming in.

Disaster Mapping

Google Confidential and Proprietary


Wave is still very new, and a baby in the web world, but I think it has great potential for geo. These are just my ideas after a few months playing - now I want to see what all of you come up with.



Baby Wave

New Wave
Google Confidential and Proprietary