Google unleashes Wave on developers

Google has announced a peer-to-peer-based collaboration platform called Wave, and is inviting developers to help create its underlying protocol

Google has unveiled an early preview of an online collaboration and communication environment called 'Wave' and is inviting developers to get involved in the open-source project.

The service, announced on Thursday, allows multiple users to chat and work together in real time within a window Google is calling a 'wave'. In the window, people can exchange real-time IM, photos, videos, maps and documents.

"You see typing character for character, and two people can update image labels at once," a Google spokesperson told ZDNet UK. However, it will not have a built-in VoIP facility, the spokesperson said.

Wave will allow concurrent text editing, and will have a playback feature which will allow users to see how dialogue, images and content have evolved. In addition, people can edit within real time the content that is shown in the wave.

Google views Wave as a new and more effective way of communicating online. "Two of the most spectacular successes in digital communication, email and instant messaging, were originally designed in the 1960s. Since then, so many different forms of communication have been invented — blogs, wikis, collaborative documents — and computers and networks have dramatically improved," said Lars Rasmussen, software engineering manager, in a statement. "With Google Wave, we're proposing a new communications model that presumes all these advances as a starting point."

The company demonstrated the service at the Google I/O conference in San Francisco on Thursday, to several thousand developers attending the conference. It is asking developers to give feedback on the service and to participate by creating further applications on Wave's open platform.

The code will be open source, and developers intending to build on the platform are being given access to APIs, according to a post on the official Google blog.

There are two main sets of Google Wave APIs — embed APIs, for embedding 'waves' into other webpages; and extension APIs, for creating extra functionality within the Google Wave web client in the form of gadgets or robots. Google defines 'robots' as extensions to automate common tasks, and 'gadgets' as extensions to "provide a new way for users to interact".

Google has posted examples of the 'robots' that can be added into the Wave client, such as a Twitter client called 'Tweety'. A Sudoku gadget was also shown.

Guiding principles have also been released for the development of the Google Wave Federation Protocol, the underlying network protocol that will allow wave providers to share waves. This protocol will evolve as an open-source project. One principle behind the project is that Wave has to be an open network, with anyone having the ability to become a wave operator and interoperate with the public network.

"Our plan is to release an open-source, production-quality, reference implementation of the Google Wave client and server, as well as provide an open federation endpoint by the time users start getting access," according to the Google Wave Federation Protocol website.

Wave will run on a distributed network model, with traffic routed peer-to-peer. Decisions in the community will also have to be made in public, with all protocol specification discussions being recorded in a public archive.

The Google spokesperson told ZDNet UK that businesses should not expect to see a consumer beta until the summer, at least. "There will be a consumer beta this year," the spokesperson added.