Imagine being surrounded by a large crowd of developers, technology enthusiasts, journalists, and bloggers, eagerly awaiting a surprise announcement by Google. That was the setting when Google Wave was first introduced to the world on May 28, 2009, during the second day keynote of Google I/O, Google’s annual developer conference in San Francisco, California. That day both techies and non-techies alike were awed by the preview demonstration of Google Wave, a new platform aimed at transforming the way we communicate and collaborate on the web.
As Lars and Jens Rasmussen, the originators of Google Maps and Google Wave, and Stephanie Hannon, Google Wave’s Product Manager, demonstrated some of Google Wave’s features and capabilities, it became clear that this new platform has the potential to revolutionize social and business interaction on the web. Attendees at Google I/O may have been the first to witness the power and extensibility of Google Wave, but soon thereafter a broad audience around the world learned about this new platform as news of Google’s announcement quickly spread around the web.
Google Wave was initially conceived by Lars and Jens Rasmussen (see Figure 1-1), a dynamite brother duo responsible for initial development of Google Maps. The similarities between the origins, and subsequent success, of Google Maps and Google Wave are no coincidence. The Rasmussen brothers have proven that they have a good balance of innovative spirit and vision to transform web technologies into platforms and products that have high value and appeal for a broad user base.
In 2004, while working on Google Maps, the Rasmussen brothers conceived the idea for Google Wave after asking a simple yet valuable question: “What would email look like if we set out to invent it today?” After working on Google Maps for several more years, the brothers turned their attention to their next project in 2007. That year a small team comprised of Lars, Jens, and three other developers in Google’s Sydney, Australia, office began work on the initial prototype for Google Wave.
Work on Google Wave has expanded significantly from its initial origins as a small project (or as a “small startup” as Lars describes it). In the last few years the Google Wave team has grown to comprise a relatively large, multi-faceted team of developers working on various elements of the platform.
The demonstration of Google Wave at the Google I/O Conference literally ended in a standing ovation (a rarity at technology conferences). I was fortunate enough to have attended the conference, and in addition to being impressed by Google Wave itself, I was also awed by the audience reaction that day. People around me literally gasped, screamed in excitement, clapped, and cheered during and after the demonstration. I can honestly say that until that day, I had not witnessed developers in the audience raising their laptops frantically in the air with sheer excitement about a new web platform.
As you may have likely observed, the web was filled with news articles, blog posts, and an explosion of social network messages about Google Wave in the days after Google I/O. The news was not limited to the web either, as media outlets around the world released print articles about Google Wave and its potential to transform how web users communicate and collaborate. Although it is impossible to cover all of the reactions that ensued in the hours, days, and weeks that followed the preview demonstration, it is worth exploring some of the more salient reactions that appeared on the web.
Shortly after Google Wave was introduced, Tim O’Reilly posted a profound observation on his blog :
“When I saw Wave for the first time on Monday, I realized that we’re at a kind of DOS/Windows divide in the era of cloud applications. Suddenly, familiar applications look as old-fashioned as DOS applications looked as the GUI era took flight. Now that the web is the platform, it’s time to take another look at every application we use today, and ask the same question Lars and Jens asked themselves: ‘What would this look like if we invented it today instead of twenty-five years ago?'”
The Guardian’s John Naughton summarized Google Wave in three thoughts:
“Having watched it, one was left with three thoughts: wonderment at the scale of Google’s ambition; admiration of its technical ingenuity; and scepticism about the prospects of something this complex becoming a mainstream product. But one thing is now clear: the browser has become the platform. And that’s big news.”
And Gartner Research released a preliminary analysis of Google Wave’s likely influence on the web on June 2, 2009, less than a week after the platform was announced:
“Wave will not challenge Lotus Notes, Microsoft Exchange or Microsoft Office SharePoint Server for five to 10 years, if it ever does. Nevertheless, Wave will create both competition and opportunity for other players in the market. Wave shows that workplace offerings will eventually have to combine Internet standards and a decentralized, federated architecture. Whether or not Wave ultimately succeeds, the Web will win.”
Lastly, MG Siegler contributed the first post on TechCrunch about Google Wave, drawing over 500 visitor comments in the first two weeks. As MG Siegler observes, Google Wave is a risky endeavor with a significant payoff:
“It’s a really interesting concept, one that you really do need to see in action. It’s ambitious as hell — which we love — but that also leaves it open to the possibility of it falling on its face. But that’s how great products are born. And the potential reward is huge if Google has its way as the ringleader of the complete transition to our digital lives on the web.”
It is this potential that has drawn much attention to Google Wave: it is both a user-friendly platform that leverages many present-day communication and collaboration tools as well as a highly customizable and extensible platform that integrates various types of protocols and standards.
Only time will tell if Google Wave realizes its potential to revolutionize web-based communication and collaboration. Despite both positive and skeptical reactions to its announcement, the success of Google Wave depends on widespread adoption by a mass user base and consistent contributions by a developer community eager to leverage the platform.
Simply stated, Google Wave is a real-time communication and collaboration platform that incorporates several types of web technologies, including email, instant messaging (IM), wiki, online documents, and gadgets. In more technical terms, Google Wave is a platform based on hosted XML documents (called waves) supporting concurrent modifications and low-latency updates. 
Google Wave itself represents a new approach aimed at improving communication and collaboration through the use of a combination of established and emerging web technologies. Google generally describes Google Wave as a platform, and in a broader context, as a set of three interdependent layers:
The Google Wave product is the web application people use to access and edit waves. It’s an HTML 5 application, built on Google Web Toolkit. It includes a rich text editor and other functions like desktop drag-and-drop (which, for example, lets you drag a set of photos right into a wave). Throughout the remainder of the book I will refer to this product as the Google Wave Client.
Google Wave can also be considered a platform with a rich set of open APIs that allow developers to embed waves in other web services, and to build new extensions that work inside waves.
The Google Wave protocol is the underlying format for storing and the means of sharing waves, and includes the “live” concurrency control, which allows edits to be reflected instantly across users and services. The protocol is designed for open federation, such that anyone’s Wave services can interoperate with each other and with the Google Wave service. To encourage adoption of the protocol, Google has made the code behind Google Wave open source.
It is important to understand the significance of these three layers. Most people perceive Google Wave in a simplistic way, primarily thinking of Google Wave as a web application.
The reference to Google Wave as a “platform” in general terms (i.e., not in the technical definition of a platform, as stated above) is based more on the lack of other words that can adequately describe something as broad and new as Google Wave. Thus when someone references Google Wave, the connotation may be different, depending on the user and audience.
Unless I specify otherwise, my references to “Google Wave” throughout this book are based on your understanding of Google Wave as this nebulous, uber-platform of sorts that encompasses a product, an API platform, and a network protocol, and then some.
The combination of these three layers represents a fairly comprehensive offering that is readily accessible to a large number of users with varying degrees of technical proficiency. For example, a software engineer might use the Google Wave protocol to design and develop an internal wave service for an organization, while a non-technical user might utilize the Google Wave product to collaborate on a project with other non-technical users. Figure 1-2 shows how each layer is represented and the likely audience that will utilize each layer.
It’s important to note that Google Wave is the branded name that Google uses to describe the product, platform, and protocol it has developed. However, because the platform layer is externally accessible and the protocol layer is open source, it is likely that third parties will offer products and tools that use names other than “wave” in order to establish new brands and market differentiation. In essence, these third parties will act as wave providers. Keep this in mind as Google Wave gains in popularity and different types of wave providers potentially emerge.
Several common terms are used to describe elements relevant to Google Wave. As you become more familiar with the terminology, keep in mind that there is a hierarchy for many core terms; thus, there is a logical line of descendence that you can follow. Some of the more common terms with which you should be familiar include waves, wavelets, blips, robots, and gadgets (see Figure 1-3). You will learn more about these terms as we explore the Google Wave Client in more detail in Chapter 3 and Chapter 4.
Figure 1-3. A general overview of how a wave is structured. Waves contain wavelets, which are containers for blips (messages) added by participants. Extensions, in the form of robots and gadgets, augment the conversation between participants in a wave by adding different types of features and functionality to a conversation.
In general terms, a wave is a container for an enhanced set of threaded conversations that is viewable as a document, consisting of one or more participants (which may include both human participants and robots). The wave is a dynamic entity that contains state and stores historical information. A wave is a living thing, and it is modified in real-time based on a participant’s actions. A wave contains one or more wavelets (defined below).
A wavelet is a threaded conversation that is spawned within a wave. Wavelets serve as the container for one or more messages, known as blips. The wavelet is the basic unit of access control for data in a particular wave. All participants on a wavelet have read/write access to content within the wavelet. Additionally, all events that occur within the Google Wave APIs operate at the wavelet level or lower.
A blip is the basic unit of conversation and consists of a single message that appears in a wavelet. Blips may either be drafts or published (by clicking “Done” within the Wave client). Blips manage their content through their document, defined below. Blips may also contain other blips as children, forming a blip hierarchy. Each wavelet always consists of at least one root blip.
Each wave has a set of one or more participants. Participants are either humans or robots (see below) that actively engage and interact in a wave. Participants are added to a wave by existing participants.
A document is the content attached to a blip, and it consists of XML which can be retrieved, modified, or added via the API. Generally, you manage the document through convenience methods rather than through direct manipulation of the XML data structure. When using documents in this context, the reference is more to an abstract set of content rather than a physical document.
In addition to understanding some of the common terminology used in Google Wave, it’s also worthwhile to review some of the technologies that are incorporated into Google Wave.
Unless you are completely new to the web, it’s likely that you utilize email to exchange messages with family, friends, and business contacts. Email has become ubiquitous, and web-based email in particular has gained increasing popularity around the world. Popular web-based email services such as GMail, Yahoo! Mail, and Hotmail have a massive user base (hundreds of millions of users) that rely on these services on a daily basis. Google Wave is not a replacement for email, but instead it incorporates some of the features and functionality that make email so valuable, including message archiving, attachments (including images, PDFs, and even ZIP files), single or multiple recipients, and rich text editing.
During the last decade or so, IM has evolved from an emerging technology popular with teenie boppers to a more mature communications tool used by business and social users alike. IM provides a great way to exchange short messages in real-time with other users that are online at the same time. Unfortunately, IM is not conducive to the exchange of long messages and it requires that participants be online at the same time. Google Wave includes IM-like functionality by allowing users to exchange short messages and files with one or more users in real time, but it’s threaded messaging and archiving functionality does not require that all participants be online at the same time.
Ward Cunningham is credited with creating the first wiki in 1995 as “the simplest online database that could possibly work.” It’s likely that you already are aware that a wiki is a web site that allows the easy creation and editing of a number of web pages. In most instances, wikis are open, dynamic web sites that enable visitors to add, edit, and delete content from pages that are dedicated to both general and specific topics. Popularized by Wikipedia, one of the most comprehensives wikis on the web, wikis have come to represent a democratic approach to capturing the collective knowledge and interests of multiple users. In similar fashion to wikis, Google Wave allows users to link all or part of a wave to other waves, and users have the ability to edit threaded conversations (regardless of whether the content being edited was originally created by that user) in a wiki-like fashion.
The ability to create, edit, and maintain documents (including text documents, spreadsheets, and presentations) on the web has gained popularity as new ways have emerged to replicate desktop application functionality in a web browser. Popular online document “suites” such as Google’s own Google Docs and Zoho.com’s productivity applications are emerging as popular (free or low cost) alternatives to expensive desktop software. Google Wave incorporates some of the functionality found in Google Docs within the Google Wave user interface, and documents can also be included as readily accessible attachments (linked documents) within a threaded conversation as well.
Gadgets are small, independent applications that can be included on a web page. In many instances, gadgets are based on larger, more complex web applications and services that have dedicated web sites. Gadgets include everything from real-time stock tickers from finance web sites to customized maps (such as embedded Google Maps) to syndicated video players. Gadgets can be embedded in a wave to provide enhanced content and functionality to users. One of the great things about gadgets is that typically they are easy to embed, configure and customize, so that users can easily and seamlessly include gadgets, thereby improving communication and collaboration among participants.
Dion Hinchcliffe describes Google Wave as a collaboration and communication mashup that “consists of a dynamic mix of conversation models and highly interactive document creation via the browser.” This is an important observation, because the Google Wave client follows a common trend for new applications to operate completely within the browser.
Because it’s still in a beta release phase, the look and feel of the Google Wave Client may change over time. As a result, some of the screenshots included in the book may be show a slightly different interface than what is currently available on the client.
The Google Wave Client interface represents Google’s preferred approach for managing the user experience as an application inside of the web browser. However, Google Wave’s APIs and its open source elements (including the network protocol) provide an opportunity for third parties to develop their own user interfaces, including desktop, mobile, and browser-based applications.
You can view this the same way as email and the ways in which it is accessed and used via a variety of applications (e.g., I use both Mozilla’s Thunderbird desktop application and my browser to access my GMail account, depending on where I am and which computer I am using). It is likely that we will see a proliferation of different desktop and browser applications used to access waves from different wave providers as developers hone their skills with the Google Wave APIs and the network protocol gains in popularity.
One of the great advantages of Google Wave is the availability of open APIs that make it relatively simple for developers to extend and customize features and functionality. Additionally, these open APIs enable the integration of Google Wave with third party services, including a variety of other communication, collaboration, and social network applications and services.
At present the Google Wave APIs can be used for two types of development: extensions and embedded waves. Below is a summary of each type of API development (you can learn more details about the APIs in Google Wave: Up and Running).
Extensions are mini-applications integrated through the Google Wave API that enhance the functionality of a wave. The API currently supports two types of extensions: robots and gadgets.
Robots are programmatically controlled participants that interact with other participants (human and/or robot) in a wave. Robots typically reside in the cloud (e.g., Google App Engine) and operationally they can interact with and respond to actions that occur in a wave.
Gadgets are small applications that run inside of a wave and are accessible to all participants. Some of the more popular gadgets are games (e.g., a chess game) and utilities (e.g., Google Maps).
One way to think about the difference between extensions and embedded waves is in terms of how each type of API development approach reaches users (see Figure 1-5). Robots and gadgets reach users through a wave, while embedded APIs reach users through applications and web pages. In other words, extensions rely on waves as containers, and embedded waves rely on applications and web pages as containers.
Google made the conscious decision to include these APIs as part of the initial release of Google Wave, in part, based on the success of some of its other APIs, such as the Google Maps API and Google App Engine. I should remind you that the success of Google Wave relies, in part, on consistent participation by developers keen on extending the functionality of Google Wave and integrating Google Wave with other applications. As a result, you can be assured that Google will continue to focus on providing APIs that are useful, easy to implement, and readily accessible to a broad set of developers. Whether you are a novice programmer or a ninja coder, it is likely that you will be able to quickly develop with the Google Wave APIs.
Google is not the only entity that can host and manage waves. Part of Google’s strategy for the widespread adoption of Google Wave includes the release of an open source network protocol for sharing waves among different wave providers using a federated approach. Essentially this means that in much the same way that anyone can setup an email server, just about anyone can set up a server that utilizes the Google Wave Federation Protocol and host waves that include internal wavelets as well as external wavelets.
You can easily extrapolate that a Google Wave ecosystem with numerous wave providers will emerge. In similar fashion to web-based email providers, standard protocols and formats will enable and facilitate the exchange of information between and within service providers (including Google).
It should be noted that the Google Wave protocol is not a new protocol. It is an open extension to the Extensible Messaging and Presence Protocol (XMPP), an open source, real-time communications protocol originally developed for Jabber, one of the original instant messaging services (see http://xmpp.org and http://www.jabber.org).
The federated approach that the protocol emphasizes is aimed at ensuring that there is adequate interoperability between wave providers so that participants from different providers can share the same wave (e.g., in much the same way that someone with a GMail account can send an email to someone with a Hotmail account, a user with an account on wave provider X can set up a wave and communicate with other users that have accounts on wave provider Y). Figure 1-6 illustrates how the federated approach to wave provision enables users to share waves from different wave providers and how Google Wave itself can act as one of many wave providers that seamlessly enable communication through a common protocol.
As you will learn in subsequent chapters, Google has attempted to make Google Wave as open as possible through the utilization of both mature and emerging standards, protocols, and frameworks that are primarily maintained by communities of open source developers. These open standards, frameworks, and platforms are extremely popular and heavily used on the web, due to the fact that it is much easier to develop and integrate applications and services if one is able to “write once” but “run everywhere.” Taking this popularity and use into account, it is more likely that web developers will utilize the open elements included in Google Wave.
If you are reading this book, chances are good that the web represents more than an information medium to you. You understand that the web is filled with communities, applications, services, and data that are beneficial to your professional and private life. It is based on this understanding that chances also are quite high that you will become increasingly enthusiastic as you learn more about Google Wave and its potential to bring even greater benefits to users on the web.
One of Google’s strengths is that its web applications are intuitive and offer varying levels of complexity, depending on a user’s technical proficiency. Google’s minimalist style and design sense have made their way into the Google Wave Client user interface, allowing users to easily get on a wave, become participants, and communicate and collaborate with others.
And it’s likely that the Google Wave Client is just the beginning. It is likely that third party developers, as well as Google, will develop user-friendly clients to interface with Google Wave, including desktop clients, mobile clients, and other web browser clients. You and I are likely to converse on the same wave using completely different clients that appeal to our different user needs.
Countless studies on user experience all show the same thing: web sites and web applications need to be speedy in order to captivate users. Google Wave is surprisingly fast, especially considering some of the complex operations that are occurring in the background (on both the client and the server).
IM and micro-blogging services such as Twitter have become popular because they allow users to have short and sweet conversations in real-time (or near real-time). The web is quickly moving towards all kinds of real-time functionality, and Google Wave’s ability for real-time communication makes it more appealing for a user base that is steadily growing accustomed to real-time gratification.
Despite its new terminology and subtle nuances, much of Google Wave’s functionality is already familiar to people that already use email, IM, wikis, online docs, and gadgets. Subsequently, the functionality learning curve for new users is quite small (and gradual).
Users can take advantage of robots and gadgets to improve their conversations in a variety of ways. The utility and usability of Google Wave will improve as developers release additional Google Wave extensions catered for specific use cases (e.g., an event planning gadget for a non-profit association).
Google Wave’s extensibility and openness allow for a high degree of integration with other services and platforms on the web. This means that Google Wave can be further enhanced by adding features and content from third parties and vice versa.
It can be argued that one of the barriers to user adoption is lack of familiarity with a product or service and relatively low brand recognition. Google and its products are well known and it has great brand recognition. While there may be some skeptics or contrarians out there, it is likely that the Google’s massive user base will be more willing to try out Google Wave.
The web is a strange place in many ways, and it is difficult to predict what will become of emerging platforms such as Google Wave. According to Google, Google Wave will evolve and morph quite rapidly as increasing numbers of end users start to utilize the product, and as Google’s own development team and external developers continue to extend the platform and protocol. Assuming that this type of widespread adoption comes to fruition, it is likely that Google Wave will steadily build momentum, at least enough momentum to make one or more of its layers viable.
Google Wave is exciting and quite powerful indeed, but let’s not get carried away too quickly. Is it likely that Google Wave will replace email or IM (both of which have been around for a while and both of which have massive user bases)? While it’s impossible to answer that question with certainty, it is possible to state that Google Wave likely could displace some of the use of email and IM for communication and collaboration. It’s also possible that Google Wave could serve in a complementary way with email and IM, as part of a user’s day-to-day communication and collaboration toolkit.
Ultimately, if Google Wave manages to become the predominant communications protocol, then it is likely that over time it will supplant some of the currently popular protocols such as email and IM. Subsequently, waves would become a de facto standard for communication and collaboration, at least until someone else comes out with a new and improved way of doing things.
Although Google has not explicitly indicated that Google Wave, as either a product or platform, will compete with third-party social networks, such as Facebook and MySpace, there is a good deal of opportunity for Google Wave to overlap with social networks. The implications of this overlap are twofold.
First, Google Wave, as a product, does include some social networking aspects. There is potential for Google Wave to evolve and become a new type of social network that attracts users away from other social networks. Based on the preliminary feature set and functionality offered by the Google Wave Client and APIs, this is more likely to occur in the long term, as currently Google Wave is more of a communication and collaboration tool.
Second, Google Wave’s overall extensibility and accessibility mean that social networks can use the platform to enhance their own offerings. Google already has demonstrated that Google Wave can easily be integrated with Orkut, Google’s own social network site. Social networks can use the Google Wave APIs to integrate their own services with Google’s service, thereby enabling these third parties to provide their users with access to Google Wave. Additionally, the ability to leverage the federated protocol means that social networks will be able to act as wave providers, thereby gaining the ability to offer users the opportunity to participate in waves from other providers (including Google). Taking these two implications into account, it’s likely that Google Wave will have an impact on social networks in one way or another.
There is no doubt that Google will act quickly to incorporate Google Wave with its other web applications and platforms. As Lars, Jens, and Stephanie showcased during the initial demonstration at the I/O conference, Google Wave can be integrated with some of Google’s popular offerings, including Blogger, Orkut, Picasa, and Google Docs.
Google will continue to use its new platform to provide value added functionality and features to many of its popular applications and platforms, while at the same time using these same applications and platforms to market Google Wave to a massive and diverse user base. This type of integration and visibility means that Google will be able to leverage existing resources and users to potentially accelerate the adoption of Google Wave.
It is difficult to determine whether Google Wave is a fad during these early stages. If you do a thorough search on the web, you will find, as I did, that there are plenty of skeptics and proponents. In reality no one truly knows whether Google will realize its vision of Google Wave as a transformational communication platform for the web. However, if the reception that Google Wave received during its initial announcement is any indication, there are a lot of people out there who think that this may just be the next big thing on the web.
In an effort to get your creative thinking going, I plan on providing use cases throughout this book to describe how Google Wave could potentially be used. The use case below describes how EZ Widgets, an imaginary multi-national corporation, could use Google Wave to improve communication and collaboration among a sales team dispersed throughout different parts of the world.
EZ Widgets is in the business of selling widgets to a growing customer base throughout the world. The VP of Sales is based in Seattle, Washington, and she oversees a network of regional sales teams with offices around the world. The VP has been struggling to find an easier way for the sales teams to work together to sell more widgets. So far, the VP and her team of regional sales managers have used email to consult with each other over customer issues and the day-to-day operational activities of each office. An enterprise CRM is also used to track customer activities and interactions.
The sales teams are distributed in Tokyo, Japan; Santiago, Chile; Frankfurt, Germany; Abu Dabi, Dubai; and Seattle, Washington. This geographic distribution poses several challenges, including a language barrier and different time zones. Writing their emails and CRM notes in English, each regional sales manager often struggles with differing degrees of difficulty to understand what the other team has written. Additionally, the emails between sales team members often get diluted by the multiple replies and side conversations that only include a subset of the team; email attachments tend to get lost or outdated as emails are exchanged. IM is not really an option for the team, in part, because of the time zones, and in part, because responses are often long.
The VP has consulted with the company’s IT director, and after some deliberation, has decided to try out Google Wave as a new way to get the team working together. Although the EZ WIdgets IT department plans on eventually implementing its own instance of Google Wave within the corporate Intranet, for the time being the sales team will be testing out the standard Google Wave product, hosted as part of the Google Apps corporate software as a service (SaaS). After having her team read this book (of course!), the VP and her regional managers begin to test out the various capabilities of the new platform.
The sales team collectively decides to start a new wave on a weekly basis to share information. The VP has asked the regional managers to include any new sales data as attachments in the wave, thereby establishing a central repository for data relevant to that specific week’s discussion. One of the regional managers decides to add a real-time translation robot to the wave. This robot allows participants to each write in their native language, and then translates their messages in real-time to other participant’s native language. As the regional manager in Chile begins to send “blips” with his initial questions in Spanish, the other managers currently available are able to see his questions in German and English (the other managers will see the blips in their native language, next time they log in).
A conversation with responses, follow-up questions, and additional attachments follows, with each regional manager and the VP being able to more easily follow the discussion. At one point, the VP sends a private message to the regional manager in Tokyo, asking him to call her later that day. Later on that afternoon, as the conversation continues, the VP decides that the team can utilize a scheduling gadget that allows each manager to submit five potential dates (and times) to attend an online demo of a new widget prototype. Once all of the managers have responded, the VP can easily determine the available dates (and times) when every regional manager can attend. The gadget is also linked to the company’s calendar system via its API, and once the VP approves a date and time for the demo, the meeting is added to the sales team’s calendar.
After a few days, the VP revisits the wave, and she quickly reads through the team’s status conversation again. She adds some additional notes, and then archives the wave, knowing that she or any of the regional managers can return to it at any time. The weekly status meetings continue to improve as the sales team begins to work more efficiently, and the conversations among team members are more easily tracked. Over time, the IT department develops several new gadgets and robots that are customized to the needs of the sales teams, including a robot that can be used to retrieve and display customer-specific data from the enterprise CRM.
 On May 28, 2009, the same day that Google Wave was announced, Tim O’Reilly posted an introductory post on O’Reilly Radar entitled “What Might Email Look Like If It Were Invented Today?” ( http://radar.oreilly.com/2009/05/google-wave-what-might-email-l.html).
 From “Google makes a new wave and transforms the browser” published on June 7, 2009 on The Guardian (UK) web site (http://www.guardian.co.uk/media/2009/jun/07/media-business-google-wave).
 “The Web Wins Whether or Not Google Wave Succeeds” (http://www.gartner.com/DisplayDocument?doc_cd=168639).
 MG Siegler’s post on TechCrunch was published on the same day as the public announcement of Google Wave. “Google Wave Drips With Ambition. A New Communication Platform For A New Web” (http://www.techcrunch.com/2009/05/28/google-wave-drips-with-ambition-can-it-fulfill-googles-grand-web-vision).
 “Google Wave Federation Architecture” (http://www.waveprotocol.org/whitepapers/google-wave-architecture).
 Dione Hinchcliffe posted “The enterprise implications of Google Wave” on ZDNet.com on May 30, 2009, two days after Google Wave was announced to the world (http://blogs.zdnet.com/Hinchcliffe/?p=400).
 Google believes that applications running in the browser (i.e., “thin clients”) will become increasingly popular and valuable to a user base that already relies on the web for a variety of services. Some clear examples of this include Google’s Chrome Browser and the Chrome Operating System, an operating system designed to solely support applications that run in the browser.
 Remember that Google Wave is comprised of three layers: a product, a platform, and a network protocol. Given its breadth, it could be argued that each of these layers will have different degrees of viability in the ever-changing web.