Google Wave
Encyclopedia
Apache Wave is a software framework for real-time collaborative editing online. Google Inc.
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

 originally developed it as Google Wave.
It was announced at the Google I/O
Google I/O
Google I/O is an annual two-day developer-focused conference held by Google in San Francisco, California. Google I/O features highly technical, in-depth sessions focused on building web, mobile, and enterprise applications with Google and open web technologies such as Android, Chrome, Chrome OS,...

 conference on May 27, 2009.

Google Wave is a web-based
Web application
A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...

 computing platform and communications protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

 designed to merge key features of communications media
Media (communication)
In communications, media are the storage and transmission channels or tools used to store and deliver information or data...

 such as email
Email
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

, instant messaging
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...

, wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...

s, and social networking. Communications using the system can be synchronous
Synchronism
Synchronism is deliberately achieved coincidence in a point of time.In telecommunication the term synchronism has the following meanings:1. The state of being synchronous....

 or asynchronous. Software extensions provide contextual spelling and grammar checking
Spell checker
In computing, a spell checker is an application program that flags words in a document that may not be spelled correctly. Spell checkers may be stand-alone capable of operating on a block of text, or as part of a larger application, such as a word processor, email client, electronic dictionary,...

, automated language translation
Machine translation
Machine translation, sometimes referred to by the abbreviation MT is a sub-field of computational linguistics that investigates the use of computer software to translate text or speech from one natural language to another.On a basic...

, and other features.

Initially released only to developers, a preview release of Google Wave was extended to 100,000 users in September 2009, each allowed to invite additional users. Google accepted most requests submitted starting November 29, 2009, soon after the September extended release of the technical preview. On May 19, 2010, Google Wave was released to the general public.

On August 4, 2010, Google announced the suspension of stand-alone Wave development and the intent of maintaining the web site at least for the remainder of the year, and on November 22, 2011, Google announced that existing Waves would become read-only in January 2012 and all Waves would be deleted in April 2012. Development was handed over to the Apache Software Foundation
Apache Software Foundation
The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999.The Apache Software Foundation is a decentralized community of developers...

 which started to develop a server based product called Wave in a box (WIAB).

Origin of name

The science fiction television series Firefly
Firefly (TV series)
Firefly is an American space western television series created by writer and director Joss Whedon, under his Mutant Enemy Productions label. Whedon served as executive producer, along with Tim Minear....

provided the inspiration for the project's name. In the series, a wave is an electronic communication, often consisting of a video call or video message. During the developer preview, a number of references were made to the series, such as Lars Rasmussen
Lars Rasmussen (Software Developer)
Lars Eilstrup Rasmussen is a Danish-born computer scientist, software developer, and co-founder of Google Maps.-Qualifications:In 1990, Rasmussen graduated from the University of Aarhus with a major in Mathematics...

 replying to a message with "shiny", a word commonly used in the series to mean cool or good, and the crash message of Wave being a popular quotation from the series: "Curse your sudden but inevitable betrayal!" Another common error message, "Everything's shiny, Cap'n. Not to fret!" is a quote from Kaylee Frye in the 2005 motion-picture Firefly continuation, Serenity
Serenity (film)
Serenity is a 2005 space western film written and directed by Joss Whedon. It is a continuation of the short-lived 2002 Fox science fiction television series Firefly, taking place after the events of the final episode. Set in 2518, Serenity is the story of the captain and crew of a cargo ship...

, and it is matched with a sign declaring that "This wave is experiencing some turbulence and might explode. If you don't want to explode..." which is another reference to the opening of the film.

During an event in Amsterdam
Amsterdam
Amsterdam is the largest city and the capital of the Netherlands. The current position of Amsterdam as capital city of the Kingdom of the Netherlands is governed by the constitution of August 24, 1815 and its successors. Amsterdam has a population of 783,364 within city limits, an urban population...

, Netherlands
Netherlands
The Netherlands is a constituent country of the Kingdom of the Netherlands, located mainly in North-West Europe and with several islands in the Caribbean. Mainland Netherlands borders the North Sea to the north and west, Belgium to the south, and Germany to the east, and shares maritime borders...

, it became apparent that the 60-strong team that was currently working on Wave in Sydney, Australia, use Joss Whedon
Joss Whedon
Joseph Hill "Joss" Whedon is an American screenwriter, executive producer, director, comic book writer, occasional composer and actor, founder of Mutant Enemy Productions and co-creator of Bellwether Pictures...

-related references to describe, among others, the sandbox version of Wave, called Dollhouse
Dollhouse (TV series)
Dollhouse is an American science fiction television series created by writer and director Joss Whedon under Mutant Enemy Productions. It premiered on February 13, 2009, on the Fox network and was officially cancelled on November 11, 2009. The final episode aired on January 29, 2010...

after the TV-series by Firefly producer Joss Whedon, which was aired on Fox in the U.S. The development of external extensions is codenamed "Serenity", after the spaceship used in Firefly and Serenity.

Open source

Google released most of the source code as open source software, allowing the public to develop its features through extensions. Google allowed third-parties to build their own Wave services (be it private or commercial) because it wanted the Wave protocol
Google Wave Federation Protocol
The Google Wave Federation Protocol, renamed as Wave Federation Protocol, is an open protocol, extension of the Extensible Messaging and Presence Protocol that is used in Apache Wave...

 to replace the e-mail
E-mail
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

 protocol. Initially, Google was the only Wave service provider, but it was hoped that other service providers would launch their own Wave services, possibly designing their own unique web-based clients as is common with many email service providers. The possibility also existed for native Wave clients to be made, as demonstrated by Google with their CLI
Command-line interface
A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks...

-based console client.

Google released initial open-source components of Wave:
  1. the operational transformation
    Operational transformation
    Operational transformation is a technology for supporting a range of collaboration functionalities in advanced groupware systems. OT was originally invented for consistency maintenance and concurrency control in collaborative editing of plain text documents...

     (OT) code,
  2. the underlying wave model, and
  3. a basic client/server prototype that uses the wave protocol


In addition, Google provided some detail about later phases of the open-source release:
  1. wave model code that is a simplified version of Google's production code and is tied to the OT code; this code will evolve into the shared code base that Google will use and expects that others will too
  2. a testing and verification suite for people who want to do their own implementation (for example, for porting the code to other languages)

Reception

During the initial launch of Google Wave, invitations were widely sought by users, and were sold on auction sites.
Those receiving invitations and trialing it could not communicate with their contacts on their regular email accounts. The initial spread of Wave was very restricted.

End of development of original Google Wave under Google in 2010

Google Wave initially received positive press coverage for its design and potential uses. On August 4, 2010, Google announced Wave would no longer be developed as a stand-alone product due to a lack of interest. Google's statement surprised many in the industry and user community.

Google later clarified the Wave service would be available until Google Docs was capable of accessing saved waves

Response to the news of the end of development came from Wave users in the form of a website. Since Google's announcement in early August, the website has recorded over 49,000 supporter registrations urging Google Wave's continuation.

Google Wave was the type of application that would appeal to relatively select user base, mostly in business, science, education, politics and community groups and was unlikely to see the widespread use Google expected of it.

Chris Dawson of online technology magazine Zdnet.com discussed inconsistencies in the reasoning of Google in deciding to end support for Wave, mentioning Google's "deep involvement" in developing social media networks, to which many of Wave's capabilities are ideally suited. Perhaps Google Wave was ended to clear the stage for their new social network Google Plus, a potential challenger to Facebook.

Apache Wave

Google Wave was accepted by the Apache Foundation's Incubator program under the project name Apache Wave. The Google Wave Developer blog was updated with news of the change on December 6, 2010. A Wave Proposal page with details on the projects goals was created on the Apache Foundation's Incubator Wiki.

Features

Google Wave was a new Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

 communications platform. It was written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 using OpenJDK
OpenJDK
OpenJDK is a free and open source implementation of the Java programming language. It is the result of an effort Sun Microsystems began in 2006...

 and its web interface used the Google Web Toolkit
Google Web Toolkit
Google Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...

. Google Wave works like previous messaging systems such as email
Email
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

 and Usenet
Usenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...

, but instead of sending a message along with its entire thread of previous messages, or requiring all responses to be stored in each user's inbox for context, message documents (referred to as waves) that contain complete threads of multimedia messages (blips) are perpetually stored on a central server. Waves are shared with collaborators who can be added or removed from the wave at any point during a wave's existence.

Waves, described by Google as "equal parts conversation and document", are hosted XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 documents that allow seamless and low latency concurrent modifications. Any participant of a wave can reply anywhere within the message, edit any part of the wave, and add participants at any point in the process. Each edit/reply is a blip and users can reply to individual blips within waves. Recipients are notified of changes/replies in all waves in which they are active and, upon opening a wave, may review those changes in chronological order. In addition, waves are live. All replies/edits are visible in real-time, letter-by-letter, as they are typed by the other collaborators. Multiple participants may edit a single wave simultaneously in Google Wave. Thus, waves can function not only as e-mails and threaded conversations but also as an instant messaging
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...

 service when many participants are online at the same time. A wave may repeatedly shift roles between e-mail and instant messaging depending on the number of users editing it concurrently. The ability to show messages as they are typed can be disabled, similar to conventional instant messaging.

The ability to modify a wave at any location lets users create collaborative documents, edited
Collaborative editing
Collaborative editing is the practice of groups producing works together through individual contributions. Effective choices in group awareness, participation, and coordination are critical to successful collaborative writing outcomes. Most usually it is applied to textual documents or...

 in a manner akin to wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...

s. Waves can easily link to other waves. It is in many respects a more advanced forum. A wave can be read and known to exist by only one person, or by two or more. It can also be public, available for reading and writing to everyone on the Wave.

The history of each wave is stored within it. Collaborators may use a playback feature in Google Wave to observe the order in which a wave was edited, blips that were added, and who was responsible for what in the wave. The history may also be searched by a user to view and/or modify specific changes, such as specific kinds of changes or messages from a single user.

Google will stop wave services soon, it has already put an end to the development activities."Wave has not seen the user adoption we would have liked," Senior Vice President Urs Holzle said in the blog post. "We don't plan to continue developing Wave as a standalone product, but we will maintain the site, at least through the end of the year, and extend the technology for use in other Google projects."

Extension programming interface

Google Wave is extensible through an application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 (API). It provides extensions in the form of Gadgets and Robots, and is embeddable by dropping interactive windows into a given wave on external sites, such as blog
Blog
A blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...

 sites.

The last version of robots API is 2.0.

Google Wave also supports extension installers, which bundle back-end elements (robots and gadgets) and front-end user interface elements into an integrated package. Users may install extensions directly within the Wave client using an extension installer.

Extensions

Google Wave extensions are add-ins that may be installed on Google Wave to enhance its functionality. They may be Internet bot
Internet bot
Internet bots, also known as web robots, WWW robots or simply bots, are software applications that run automated tasks over the Internet. Typically, bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human alone...

s (robots) to automate common tasks, or gadgets to extend or change user interaction features, e.g., posting blips on microblog feeds or providing RSVP recording mechanisms.

Over 150 Google Wave extensions have been developed either in the form of Gadgets or Robots.

Robots

A robot is an automated participant on a wave. They 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. Robots perform actions in response to events. For example, a robot might publish the contents of a wave to a public blog
Blog
A blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...

 site and update the wave with user comments.

Robots may be added as participants to the Wave itself (they may appear as a contact person in the wave). In theory, a robot can be added anywhere a human participant can be involved.

Gadgets

Gadget extensions are applications that run within the wave, and to which all participants have access. Robots and Gadgets can be used together, but they generally serve different purposes. A gadget is an application users could participate with, many of which are built on Google’s OpenSocial
OpenSocial
OpenSocial is a set of common application programming interfaces for web-based social network applications, developed by Google along with MySpace and a number of other social networks.It was released November 1, 2007....

 platform. A good comparison would be iGoogle gadgets or Facebook applications.

The gadget is triggered based on the user action. They can be best described as applications installed on a mobile phone. For example, a wave might include a sudoku
Sudoku
is a logic-based, combinatorial number-placement puzzle. The objective is to fill a 9×9 grid with digits so that each column, each row, and each of the nine 3×3 sub-grids that compose the grid contains all of the digits from 1 to 9...

 gadget that lets the wave participants compete to see who can solve the puzzle first.

Gadgets may be added to individual waves and all the participants share and interact with the gadget.

Federation Protocol

Google Wave provides federation
Federation (information technology)
A Federation is multiple computing and/or network providers agreeing upon standards of operation in a collective fashion. The term may be used when describing the inter-operation of two distinct, formally disconnected, telecommunications networks that may have different internal structures...

 using an extension of XMPP
Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol is an open-standard communications protocol for message-oriented middleware based on XML . The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near-real-time, extensible instant messaging , presence...

, the open
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

 Wave Federation Protocol
Google Wave Federation Protocol
The Google Wave Federation Protocol, renamed as Wave Federation Protocol, is an open protocol, extension of the Extensible Messaging and Presence Protocol that is used in Apache Wave...

. Being an open protocol, anyone can use it to build a custom Wave system and become a wave provider. The use of an open protocol is intended to parallel the openness and ease of adoption of the e-mail
E-mail
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

 protocol and, like e-mail, allow communication regardless of provider. Google hoped that waves would replace e-mail as the dominant form of Internet communication. In this way, Google intended to be only one of many wave providers and to also be used as a supplement to e-mail
E-mail
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...

, instant messaging
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...

, FTP, etc.

A key feature of the protocol is that waves are stored on the service provider's servers instead of being sent between users. Waves are federated; copies of waves and wavelets are distributed by the wave provider of the originating user to the providers of all other participants in a particular wave or wavelet so all participants have immediate access to up-to-date content. The originating wave server is responsible for hosting, processing, and concurrency control of waves. The protocol allows private reply wavelets within parent waves, where other participants have no access or knowledge of them.

Security for the communications is provided via Transport Layer Security
Transport Layer Security
Transport Layer Security and its predecessor, Secure Sockets Layer , are cryptographic protocols that provide communication security over the Internet...

 authentication, and encrypted connections and waves/wavelets are identified uniquely by a service provider's domain name
Domain name
A domain name is an identification string that defines a realm of administrative autonomy, authority, or control in the Internet. Domain names are formed by the rules and procedures of the Domain Name System ....

 and ID strings. User-data is not federated, that is, not shared with other wave providers.

Adoption of Wave Protocol and Wave Federation Protocol

Besides Apache Wave itself, there are other open-source variants of servers and clients with different percentage of Wave Federation and Wave Protocol support. Wave has been adopted for corporate applications by Novell for Novell Pulse
Novell Pulse
Novell Vibe is an real time collaborative editing software platform under development from Novell released in April 2011. The software is one of the first major developments outside Google to utilize the Google Wave Federation Protocol...

, or by SAP
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...

 for Cloudave., and community projects such as PyOfWave or Kune.

Compatible third-party servers

The following servers are compatible with the Google Wave protocol:
  • Kune is a free/open source platform for social networking, collaborative work and web publishing, focusing on workgroups and organizations rather than in individuals. It provides lists, tasks, documents, galleries, etc., while using waves underneath. It focuses on free culture
    Free Culture
    Free Culture may refer to:* Free Culture by Lawrence Lessig* Free culture movement, a social movement for free culture...

     and social movements needs.
  • Novell Vibe
    Novell Pulse
    Novell Vibe is an real time collaborative editing software platform under development from Novell released in April 2011. The software is one of the first major developments outside Google to utilize the Google Wave Federation Protocol...

    formerly known as Novell Pulse
  • PyOfWave formerly known as PyGoWave. Is an ongoing open-source initiative in creating easy customizable and independent Wave Protocol server and clients written with help of Python, Javascript and last HTML5 technologies
  • PyGoWave is a first open-source implementation of Wave Protocol server and web client, first released before Google Wave became open-sourced, written mainly in Python. Now seems to be obsolete.
  • SAP StreamWork
    SAP StreamWork
    SAP StreamWork is an enterprise collaboration tool from SAP AG released in March 2010. StreamWork allows real-time collaboration like Google Wave, but focuses on business activities such as analyzing data, planning meetings, and making decisions...

    is a collaboration decision making service
  • WaveLook Server a wave protocol server that integrates with the desktop client

Compatible third-party clients

The following desktop clients are compatible with the Google Wave protocol:
  • Wavelook a Wave desktop client that integrates with Microsoft Outlook
    Microsoft Outlook
    Microsoft Outlook is a personal information manager from Microsoft, available both as a separate application as well as a part of the Microsoft Office suite...


See also

  • Extensible Messaging and Presence Protocol
    Extensible Messaging and Presence Protocol
    Extensible Messaging and Presence Protocol is an open-standard communications protocol for message-oriented middleware based on XML . The protocol was originally named Jabber, and was developed by the Jabber open-source community in 1999 for near-real-time, extensible instant messaging , presence...

     (XMPP)
  • Real-time text
    Real-time text
    Real-time text is streaming text that is continuously transmitted as it is typed or otherwise composed. It allows conversational use of text, where people interactively converse with each other.-Use over instant messaging:...

  • Web 2.0
    Web 2.0
    The term Web 2.0 is associated with web applications that facilitate participatory information sharing, interoperability, user-centered design, and collaboration on the World Wide Web...

  • Opera Unite
  • Microsoft Groove
  • Microsoft Sharepoint
    Microsoft SharePoint
    Microsoft SharePoint is a web application platform developed by Microsoft. First launched in 2001, SharePoint is typically associated with web content management and document management systems, but it is actually a much broader platform of web technologies, capable of being configured into a wide...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK