HOME

TheInfoList



OR:

Google Wave, later known as Apache Wave, was a software framework for real-time collaborative editing online. Originally developed by
Google Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronic ...
and announced on May 28, 2009, it was renamed to ''Apache Wave'' when the project was adopted by the
Apache Software Foundation The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
as an incubator project in 2010. Wave is a
web-based A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
computing platform A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying so ...
and
communications protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synchron ...
designed to merge key features of communications media, such as email,
instant messaging Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and tri ...
,
wiki A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pub ...
s, and
social networking A social network is a social structure made up of a set of social actors (such as individuals or organizations), sets of dyadic ties, and other social interactions between actors. The social network perspective provides a set of methods for an ...
. Communications using the system can be
synchronous Synchronization is the coordination of events to operate a system in unison. For example, the conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are said to be synchrono ...
or
asynchronous Asynchrony is the state of not being in synchronization. Asynchrony or asynchronous may refer to: Electronics and computing * Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
. Software extensions provide contextual spelling and grammar checking, automated language translation 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, it was released to the general public. On August 4, 2010,
Google Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronic ...
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, 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 The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
which started to develop a server-based product called Wave in a Box. Apache Wave never reached a full release and was discontinued on January 15, 2018.


History


Origin of name

The science fiction television series ''
Firefly The Lampyridae are a family of elateroid beetles with more than 2,000 described species, many of which are light-emitting. They are soft-bodied beetles commonly called fireflies, lightning bugs, or glowworms for their conspicuous production ...
'' provided the inspiration for the project's name. In the series, a ''wave'' is an electronic communication, often consisting of a
video call Video is an electronic medium for the recording, copying, playback, broadcasting, and display of moving visual media. Video was first developed for mechanical television systems, which were quickly replaced by cathode-ray tube (CRT) system ...
or video message. During the developer preview, a number of references were made to the series, such as Lars Rasmussen replying to a message with "shiny", a word 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 This page lists characters from the television series ''Firefly''. Major characters Malcolm Reynolds Malcolm Reynolds ("Mal"), played by Nathan Fillion, is owner and captain of the Firefly-class spaceship ''Serenity'', and was a volunteer in ...
in the 2005 motion-picture ''Firefly'' continuation, ''
Serenity Serenity may refer to: Arts, entertainment, and media * ''Serenity'' (2019 film), a thriller starring Matthew McConaughey, Anne Hathaway and Diane Lane * Sailor Moon (character), also known as Princess Serenity and Neo-Queen Serenity, in the ' ...
'', 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 ( , , , lit. ''The Dam on the River Amstel'') is the Capital of the Netherlands, capital and Municipalities of the Netherlands, most populous city of the Netherlands, with The Hague being the seat of government. It has a population ...
,
Netherlands ) , anthem = ( en, "William of Nassau") , image_map = , map_caption = , subdivision_type = Sovereign state , subdivision_name = Kingdom of the Netherlands , established_title = Before independence , established_date = Spanish Neth ...
, it became apparent that the 60-strong team that was then working on Wave in Sydney used
Joss Whedon Joseph Hill Whedon (; born June 23, 1964) is an American filmmaker, composer, and comic book writer. He is the founder of Mutant Enemy Productions, co-founder of Bellwether Pictures, and is best known as the creator of several television serie ...
-related references to describe, among others, the sandbox version of Wave called ''
Dollhouse A dollhouse or doll's house is a toy home made in miniature. Since the early 20th century dollhouses have primarily been the domain of children, but their collection and crafting is also a hobby for many adults. English-speakers in North America ...
'' after the TV-series by ''Firefly'' producer Joss Whedon, which was aired on Fox in the U.S. The development of external extensions was codenamed "Serenity", after the spaceship used in ''Firefly'' and ''Serenity''.


Free Software

Google released most of the source code as
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
, 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 to replace the e-mail 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 with their CLI-based console client. Google released initial free software components of Wave: # the
operational transformation Operational transformation (OT) is a technology for supporting a range of collaboration functionalities in advanced collaborative software systems. OT was originally invented for consistency maintenance and concurrency control in collaborative edit ...
(OT) code, # the underlying wave model, and # a basic client/server prototype that uses the wave protocol In addition, Google provided some detail about later phases of the free software release: # 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 # a testing and verification suite for people who want to do their own implementation (for example, for porting the code to other languages)


Features

Google Wave was a new Internet
communications Communication (from la, communicare, meaning "to share" or "to be in relation with") is usually defined as the transmission of information. The term may also refer to the message communicated through such transmissions or the field of inquir ...
platform. It was written in
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
using
OpenJDK OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only w ...
and its web interface used the
Google Web Toolkit Google Web Toolkit (GWT ), or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under the Apache License 2.0. GWT emphasizes reusable ...
. Google Wave worked like previous messaging systems such as email and
Usenet Usenet () is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it wa ...
, 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) were perpetually stored on a central server. Waves were shared with collaborators who could 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''", were hosted XML documents that allowed seamless and low latency concurrent modifications.Google Wave Operational Transformation – Google Wave Federation Protocol
. Waveprotocol.org. Retrieved on December 14, 2010.
Any participant of a wave could reply anywhere within the message, edit any part of the wave, and add participants at any point in the process. Each edit/reply was a blip and users can reply to individual blips within waves. Recipients were notified of changes/replies in all waves in which they were active and, upon opening a wave, could review those changes in chronological order. In addition, waves were live. All replies/edits were visible in real-time, letter-by-letter, as they were typed by the other collaborators. Multiple participants could edit a single wave simultaneously in Google Wave. Thus, waves could function not only as e-mails and threaded conversations but also as an
instant messaging Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and tri ...
service when many participants were online at the same time. A wave could 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 could be disabled, similar to conventional instant messaging. The ability to modify a wave at any location let users create collaborative documents, edited in a manner akin to
wiki A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pub ...
s. Waves could easily link to other waves. In many respects, it was a more advanced forum. It could be read and known to exist by only one person, or by two or more and could also be public, available for reading and writing to everyone on the Wave. The history of each wave was stored within it. Collaborators could use a playback feature to observe the order in which it was edited, blips that were added, and who was responsible for what in the wave. The history could 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.


Reception

During the initial launch of Google Wave, invitations were widely sought by users and were sold on auction sites. Those who received invitations and decided to test Google Wave could not communicate with their contacts on their regular email accounts. The initial spread of Wave was very restricted. Google Wave initially received positive press coverage for its design and potential uses.Google Wave to get its own App Store (Engadget)
/ref>


End of development of Google Wave

On August 4, 2010, Google announced Wave would no longer be developed as a stand-alone product due to a lack of interest.ZDNet on GW's death
/ref> Google's statement surprised many in the industry and user community. Google later clarified the Wave service would be available until
Google Docs Google Docs is an online word processor included as part of the free, web-based Google Docs Editors suite offered by Google, which also includes: Google Sheets, Google Slides, Google Drawings, Google Forms, Google Sites and Google Keep. Goo ...
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. After their announcement in early August 2010, the website recorded over 49,000 supporter registrations urging Google Wave's continuation. In retrospect, the lack of success of Google Wave was attributed among other things to its complicated user interface resulting from a product that merged features of email, instant messengers and wikis but ultimately failed to do anything significantly better than the existing solutions. Chris Dawson of online technology magazine
Zdnet ZDNET is a business technology news website owned and operated by Red Ventures. The brand was founded on April 1, 1991, as a general interest technology portal from Ziff Davis and evolved into an enterprise IT-focused online publication. His ...
discussed inconsistencies in the reasoning of Google in deciding to end support for Wave, mentioning its "deep involvement" in developing social media networks, to which many of Wave's capabilities are ideally suited.


Apache Wave

Google Wave was accepted by the
Apache Software Foundation The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
'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 project's goals was created on the Apache Foundation's Incubator Wiki.


Wave in a Box

Wave in a Box is the current server implementation of Apache Wave. Currently, there are no demo servers available.


Crisis and SwellRT

In 2016, several discussions took place within the Apache Wave community, aiming to tackle the stagnation and crisis state of the project. The Apache Software Foundation mentor of Apache Wave, Upayavira, was concerned on the project stagnation, but framed
SwellRT SwellRT is a free and open-source backend-as-a-service and API focused to ease development of apps featuring real-time collaboration. It supports the building of mobile and web apps, and aims to facilitate interoperability and federation. Hist ...
(a fork which re-engineered Wave into a backend-as-a-service for building apps) as Wave's potential savior. Eventually, Wave was approved to continue within Apache incubator program, and a copy of SwellRT codebase was placed in the Apache Wave repository in order to grant the Wave community access to it. In this regard, Intellectual Property of SwellRT was transferred to the Apache Foundation in 2017. Still this was not sufficient to resurrect Wave's developer community, and SwellRT continued as independent project.


Retirement

The Wave project retired on January 15, 2018, having never left incubator status.


Extension programming interface

Google Wave is extensible through an
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
(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 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 An Internet bot, web robot, robot or simply bot, is a software application that runs automated tasks ( scripts) over the Internet, usually with the intent to imitate human activity on the Internet, such as messaging, on a large scale. An Internet ...
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. It can read the contents of a wave in which it participates, modify its contents, add or remove participants, and create new blips or new waves. Robots perform actions in response to events. For example, a robot might publish the contents of a wave to a public blog site and update the wave with user comments. Robots may be added as participants to the Wave itself. 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 is a public specification that defines a component hosting environment (container) and a set of common application programming interfaces (APIs) for web applications. Initially, it was designed for social network applications and d ...
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 (; ja, 数独, sūdoku, digit-single; originally called Number Place) is a logic-based, combinatorial number-placement puzzle. In classic Sudoku, the objective is to fill a 9 × 9 grid with digits so that each column, each row, ...
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 A federation (also known as a federal state) is a political entity characterized by a union of partially self-governing provinces, states, or other regions under a central federal government ( federalism). In a federation, the self-gover ...
using an extension of
Extensible Messaging and Presence Protocol Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), it ...
(XMPP), the
free Free may refer to: Concept * Freedom, having the ability to do something, without having to obey anyone/anything * Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism * Emancipate, to procur ...
Wave Federation Protocol. 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 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.Google Wave Federation Architecture – Google Wave Federation Protocol
. Waveprotocol.org. Retrieved on December 14, 2010.
Google Wave Client-Server Protocol – Google Wave Federation Protocol
. Waveprotocol.org. Retrieved on December 14, 2010.
In this way, Google intended to be only one of many wave providers and to also be used as a supplement to e-mail,
instant messaging Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and tri ...
,
FTP The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data ...
, 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 (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in secur ...
authentication, and encrypted connections and waves/wavelets are identified uniquely by a service provider's
domain name A domain name is a string that identifies a realm of administrative autonomy, authority or control within the Internet. Domain names are often used to identify services provided through the Internet, such as websites, email services and more. As ...
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 was re-engineered into a backend-as-a-service solution by the
SwellRT SwellRT is a free and open-source backend-as-a-service and API focused to ease development of apps featuring real-time collaboration. It supports the building of mobile and web apps, and aims to facilitate interoperability and federation. Hist ...
project. Wave has been adopted in different forms for corporate applications by Novell for Novell Pulse, or by
SAP Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant. Sap is distinct from latex, resin, or cell sap; it is a separ ...
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 work groups and organizations rather than in individuals. It provides lists, tasks, documents, galleries, etc., while using waves underneath. It focuses on
free culture The free-culture movement is a social movement that promotes the freedom to distribute and modify the creative works of others in the form of free content or open content without compensation to, or the consent of, the work's original creators, ...
and
social movements A social movement is a loosely organized effort by a large group of people to achieve a particular goal, typically a social or political one. This may be to carry out a social change, or to resist or undo one. It is a type of group action and m ...
needs. *
Novell Vibe Novell Vibe is a web-based team collaboration platform developed by Novell, and was initially released by Novell in June 2008 under the name of Novell Teaming. Novell Vibe is a collaboration platform that can serve as a knowledge repository, d ...
, formerly known as Novell Pulse. * Rizzoma is a platform for collaborative work in real time. It allows communication within a certain context permitting a chat to instantly become a document where topics of a discussion organized into branches of mind-map diagram and minor details are collapsed to avoid distraction. The user is able to sign in using a Google or Facebook account and choose whether your topics are private or public. * SAP StreamWork is a collaboration decision making service. *
SwellRT SwellRT is a free and open-source backend-as-a-service and API focused to ease development of apps featuring real-time collaboration. It supports the building of mobile and web apps, and aims to facilitate interoperability and federation. Hist ...
is a backend-as-a-service for building collaborative and federated apps. It is a fork which re-engineered Apache Wave, and was adopted within the Apache Wave project.


See also

* Slack * Microsoft Loop *
Microsoft Teams Microsoft Teams is a proprietary business communication platform developed by Microsoft, as part of the Microsoft 365 family of products. Teams primarily competes with the similar service Slack, offering workspace chat and videoconferenci ...
* Microsoft SharePoint Workspace *
Real-time text Real-time text (RTT) is text transmitted instantly as it is typed or created. Recipients can immediately read the message while it is being written, without waiting. Real-time text is used for conversational text, in collaboration, and in live cap ...


References


External links


Apache Wave

Google Wave Developer Blog

Full Video of the Google Wave Developer Preview at Google I/O 2009

Google Wave overview video

Google Wave Federation Protocol
(WebArchive) {{Apache Software Foundation
Wave In physics, mathematics, and related fields, a wave is a propagating dynamic disturbance (change from equilibrium) of one or more quantities. Waves can be periodic, in which case those quantities oscillate repeatedly about an equilibrium (re ...
Web applications Computing platforms Electronic documents Instant messaging Online chat Social information processing Groupware Wikis Internet Protocol based network software Self-organization Blogging Collaborative real-time editors 2009 software Products and services discontinued in 2010 Products and services discontinued in 2018 Discontinued software Discontinued Google software Software using the Apache license Social software
Wave In physics, mathematics, and related fields, a wave is a propagating dynamic disturbance (change from equilibrium) of one or more quantities. Waves can be periodic, in which case those quantities oscillate repeatedly about an equilibrium (re ...
Google instant messaging software