SlideShare a Scribd company logo
1 of 20
Google Wave is a project that was born right here in our Google Sydney office, created by the engineers that made Google Maps. It's now in early preview stage, and everyone's wondering what it is and how they can use it to make their world a better place. I'm going to explain Wave in terms of its three parts - the product, protocol, and platform, and hopefully give you ideas about how you can use Wave.
Email 2.0? Let's start with the product. Google Wave is a communication and collaboration tool. It's been called "Email 2.0" or "what email would look like if invented today." If you just look at the main screen after you're logged in, it kind of even looks like a remixed Gmail.
Nested Trees of Blips But that first impression is deceptive - it's much more than that. Google Wave lets you create conversations with your contacts, and create a nested tree of replies in those conversations. Those conversations are called waves, and the messages inside them are called blips. If you decide that you don't like the contents of a blip - no matter who created it- you can edit it yourself.
Playback Private Replies If you want to fork the conversation, then you can create a private reply. At any point, you can play back the conversation and see when people and blips were added. It's revision history made easy, and fun. So, yes, people can "vandalize" what you've written - but you can always hold them accountable for their change.
Late CCs! Typos! Long Nested Threads! This doesn't seem that revolutionary, but it actually solves many of the problems that email poses. You don't have to worry about making stupid unretractable typos, trying to figure out who is replying to what where, or getting CCed onto a 40-message long thread and trying to interpret the flow of conversation.
So, yes, Google Wave can be thought of as Email 2.0. And just like anyone can set up an SMTP server and send messages across email servers, our goal is for anyone to be able to set up a Wave server, and share Waves across servers. We don't want Google Wave to be the only wave server out there -- we need “competitors” if we want Wave to really take off.
Operational Transforms* In order to federate Wave, we need to document our protocol and open-source the essential components. The first part we open-sourced was the operational transforms code, which is what we use to enable real-time collaboration of participants. It comes down to insert &delete operations, and a composition of them across clients, so that everyone sees the same thing in the end.
Data Model Then we opened the data model specification, which defines the structure of the XML documents that we perform the operational transforms on. Our documents define conversations, since Wave is designed with email-like conversations in mind. But, someone could just as well use our OT protocol in combination with their own data model, like one that described audio clips, and create something like a real-time audio editing client.
Client/Server Now, we're working on open-sourcing the client/server protocol for retrieving and sending Wave operations and rendering them on the client.  So far, all we have released is a not-so-rich command-line client, but some developers have started writing their own nice looking clients. Hopefully, we can eventually open-source enough code that people can have a consistent user experience across Wave clients on different servers.
Developer Platform HTTP Plugin Visual REST | RPC Google data APIs Adwords API Geocoding API Google Maps API Google Visualization API Google Charts API Google Web Elements OpenSocial Gadgets Spreadsheets Gadgets Wave Gadgets/Robots But now, my favorite part: the developer platform. At Google, we know the power of making extensible platforms, as we've seen how developers have added value to products like iGoogle and Maps in ways that we could have never imagined. That may be why we now have more than 60 APIs.
Embed API Robots Gadgets Extensions APIs And for the developers… Our Wave developer offerings include an Embed API, which lets you embed an interactive Wave on your own webpage, and an extensions API, which lets you create robot participants and collaborative gadgets that can be added to Waves. So, you can either take the content out of Wave, or you can put your own content into Wave.
A robot is basically an event listener on a Wave, reacting to events like the user typing by doing operations like adding blips, editing text, or inserting gadgets.  This robot reacts to the blip submitted event, finds locations in the text, then responds with operations to annotate those locations as hyperlinks. Robots events operations
from waveapi import events from waveapi import robot def OnBlipSubmitted(properties, context): blip = context.GetBlipById(properties['blipId']) contents = blip.GetDocument().GetText() contents = contents.replace(':(', unichr(0x2639)) # happy contents = contents.replace(':)', unichr(0x263A)) # sad blip.GetDocument().SetText(contents) if __name__ == '__main__': smiley = robot.Robot('Smiley') smiley.RegisterHandler( events.DOCUMENT_CHANGED, OnDocumentChanged) smiley.Run() Smiley Sample This sample code is for “Yet another smiley robot”, and uses the Python SDK. It registers to listen to the DOCUMENT_CHANGED event, receives the text of the changed blip, searches for the smiley face, and replaces it with a smiley-er smiley face.
This API can be used to make a variety of useful and fun robots. The Amazon bot detects products in your messages, the Norton bot checks the safety of links, the Row-of-Four bot plays a game against you, the RSSy bot subscribes to feeds, and the WordPress and Bloggy bots help you export your waves to other platforms.  An Army of Robots
The cool thing about Robots in Wave, versus other places like IRC or AIM clients, is that they can work together..even if they weren't meant to. Monty is a bot that runs Python code, Syntaxy is a bot that syntax highlights code. They were developed independently, but they can be used together for collaborative syntax-highlighted Python coding. Collaborative Robots
Gadget Shared State A Wave gadget is basically a mini-webpage with a shared state that can be modified and retrieved by all the participants. When the participant interacts, they send state deltas to the server, and then the gadgets in each open client get a state callback with the changed state. This shared state is really just a hash map stored in the blip XML. state delta state callback
Clicky Sample This sample code is for the ‘Click me’ sample, an exciting collaborative clicking gadget. When the button is clicked, a delta with the new click count is sent to the server. When the state callback is triggered, the  button renders the new count. <Module> <ModulePrefs title=&quot;State Example&quot; height=&quot;120&quot;> <Require feature=&quot;wave&quot; /> </ModulePrefs> <Content type=&quot;html&quot;> <![CDATA[ <input type=button id=&quot;button&quot; value=&quot;Click Me!&quot;  onClick=&quot;buttonClicked()&quot;> <script> var button = document.getElementById('button'); function buttonClicked() {  var value = parseInt(wave.getState().get('count', '0')); wave.getState().submitDelta({'count': value + 1});  }  function stateUpdated() { if(!wave.getState().get('count')) {  button.value = &quot;Click me: 0&quot;  } else {  button.value = &quot;Click me: &quot; + wave.getState().get('count');  }  }  wave.setStateCallback(stateUpdated);  </script> ]]>  </Content> </Module>
Gadgets This simple mechanism can be used to create a wide array of gadgets – for drawing, brainstorming, playing games, learning flashcards, conducting polls, planning a trip, embedding video messages, and much more. The Gadgets API turns Wave into more than just textual communication, into a world of visual communication.
Playback Gadgets+Gadgets Gadgets+Blips The cool thing about all these gadgets is that they are just a part of a larger collaborative document in Wave. So you can use gadgets in conjunction with other gadgets, converse below the gadgets about what you're making, and watch how the gadgets were created in playback.
Business Pleasure Education Wave can be useful across the three main parts of our life - business, pleasure, and education. You can use it to collaborate on design documents with your team or even code together, you can use it to plan a party or play games with your friends living far away, you can use it to make studying more fun and productive. And, well, you can do a hell of a lot more than that. Try it out and see for yourself!

More Related Content

What's hot

BDD - Writing better scenario
BDD - Writing better scenarioBDD - Writing better scenario
BDD - Writing better scenarioArnauld Loyer
 
Android testing calabash
Android testing calabashAndroid testing calabash
Android testing calabashkellinreaver
 
jQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days TorontojQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days TorontoRalph Whitbeck
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsRomain Guy
 
Google Developer Day: State of Ajax
Google Developer Day: State of AjaxGoogle Developer Day: State of Ajax
Google Developer Day: State of Ajaxdion
 
Intro to jQuery - LUGOR - Part 1
Intro to jQuery - LUGOR - Part 1Intro to jQuery - LUGOR - Part 1
Intro to jQuery - LUGOR - Part 1Ralph Whitbeck
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 
merb.intro
merb.intromerb.intro
merb.intropjb3
 
Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)Matteo Collina
 
Idea2app
Idea2appIdea2app
Idea2appFlumes
 
Web Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsWeb Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsGiacomo Zecchini
 
Story Driven Development With Cucumber
Story Driven Development With CucumberStory Driven Development With Cucumber
Story Driven Development With CucumberSean Cribbs
 
Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018
Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018
Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018Jamie Indigo
 
HTML 5 & Accessibility
HTML 5 & Accessibility HTML 5 & Accessibility
HTML 5 & Accessibility Ted Drake
 
SproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFestSproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFesttomdale
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standardsgleddy
 
How to ship customer value faster with step functions
How to ship customer value faster with step functionsHow to ship customer value faster with step functions
How to ship customer value faster with step functionsYan Cui
 
Deliver Business Value Faster with AWS Step Functions
Deliver Business Value Faster with AWS Step FunctionsDeliver Business Value Faster with AWS Step Functions
Deliver Business Value Faster with AWS Step FunctionsDaniel Zivkovic
 

What's hot (20)

BDD - Writing better scenario
BDD - Writing better scenarioBDD - Writing better scenario
BDD - Writing better scenario
 
Android testing calabash
Android testing calabashAndroid testing calabash
Android testing calabash
 
jQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days TorontojQuery For Developers Stack Overflow Dev Days Toronto
jQuery For Developers Stack Overflow Dev Days Toronto
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb Highlights
 
Google Developer Day: State of Ajax
Google Developer Day: State of AjaxGoogle Developer Day: State of Ajax
Google Developer Day: State of Ajax
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
 
Intro to jQuery - LUGOR - Part 1
Intro to jQuery - LUGOR - Part 1Intro to jQuery - LUGOR - Part 1
Intro to jQuery - LUGOR - Part 1
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
merb.intro
merb.intromerb.intro
merb.intro
 
Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)Enter the app era with ruby on rails (rubyday)
Enter the app era with ruby on rails (rubyday)
 
Idea2app
Idea2appIdea2app
Idea2app
 
Web Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankingsWeb Performance & Search Engines - A look beyond rankings
Web Performance & Search Engines - A look beyond rankings
 
Story Driven Development With Cucumber
Story Driven Development With CucumberStory Driven Development With Cucumber
Story Driven Development With Cucumber
 
Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018
Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018
Optimizing with Server Logs | Jamie Alberico @ #TechSEO Boost 2018
 
HTML 5 & Accessibility
HTML 5 & Accessibility HTML 5 & Accessibility
HTML 5 & Accessibility
 
SproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFestSproutCore is Awesome - HTML5 Summer DevFest
SproutCore is Awesome - HTML5 Summer DevFest
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
 
How to ship customer value faster with step functions
How to ship customer value faster with step functionsHow to ship customer value faster with step functions
How to ship customer value faster with step functions
 
Processing XML with Java
Processing XML with JavaProcessing XML with Java
Processing XML with Java
 
Deliver Business Value Faster with AWS Step Functions
Deliver Business Value Faster with AWS Step FunctionsDeliver Business Value Faster with AWS Step Functions
Deliver Business Value Faster with AWS Step Functions
 

Similar to Google Wave 20/20: Product, Protocol, Platform

Collaborative Mapping with Google Wave
Collaborative Mapping with Google WaveCollaborative Mapping with Google Wave
Collaborative Mapping with Google WavePamela Fox
 
Developing a Google Wave Extension
Developing a Google Wave ExtensionDeveloping a Google Wave Extension
Developing a Google Wave ExtensionBrian Kennish
 
AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...
AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...
AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...Tish Shute
 
Google Wave API: Now and Beyond
Google Wave API: Now and BeyondGoogle Wave API: Now and Beyond
Google Wave API: Now and BeyondMarakana Inc.
 
Microservices in Golang
Microservices in GolangMicroservices in Golang
Microservices in GolangMo'ath Qasim
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowDaniel Zivkovic
 
Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google WaveRodrigo Borges
 
DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5Cameron Kilgore
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sampletutorialsruby
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sampletutorialsruby
 
How to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdfHow to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdfKaty Slemon
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teamsJamie Thomas
 
Firefox os-introduction
Firefox os-introductionFirefox os-introduction
Firefox os-introductionzsoltlengyelit
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022intouchgroup2
 
VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...
VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...
VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...itsatony
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1benDesigning
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformTaylor Singletary
 

Similar to Google Wave 20/20: Product, Protocol, Platform (20)

Collaborative Mapping with Google Wave
Collaborative Mapping with Google WaveCollaborative Mapping with Google Wave
Collaborative Mapping with Google Wave
 
Developing a Google Wave Extension
Developing a Google Wave ExtensionDeveloping a Google Wave Extension
Developing a Google Wave Extension
 
AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...
AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...
AR Wave: A Proof of Concept - Federation, Game Dynamics, Semantic Search, Mob...
 
Google Wave API: Now and Beyond
Google Wave API: Now and BeyondGoogle Wave API: Now and Beyond
Google Wave API: Now and Beyond
 
Microservices in Golang
Microservices in GolangMicroservices in Golang
Microservices in Golang
 
Google Wave Basics
Google Wave BasicsGoogle Wave Basics
Google Wave Basics
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
 
Google Wave ppt
Google Wave pptGoogle Wave ppt
Google Wave ppt
 
Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google Wave
 
DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5DevChatt: The Wonderful World Of Html5
DevChatt: The Wonderful World Of Html5
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sample
 
E-magazineDecember_sample
E-magazineDecember_sampleE-magazineDecember_sample
E-magazineDecember_sample
 
How to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdfHow to Develop Slack Bot Using Golang.pdf
How to Develop Slack Bot Using Golang.pdf
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teams
 
Firefox os-introduction
Firefox os-introductionFirefox os-introduction
Firefox os-introduction
 
Top 10 web development tools in 2022
Top 10 web development tools in 2022Top 10 web development tools in 2022
Top 10 web development tools in 2022
 
VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...
VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...
VisualWeb - Building a NodeJS Server Meshwork and Full-Javascript Stack Frame...
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application Platform
 

More from Pamela Fox

Teaching Programming Online
Teaching Programming OnlineTeaching Programming Online
Teaching Programming OnlinePamela Fox
 
Engineering culture
Engineering cultureEngineering culture
Engineering culturePamela Fox
 
Django Admin: Widgetry & Witchery
Django Admin: Widgetry & WitcheryDjango Admin: Widgetry & Witchery
Django Admin: Widgetry & WitcheryPamela Fox
 
A Year of Hermit Hacking
A Year of Hermit HackingA Year of Hermit Hacking
A Year of Hermit HackingPamela Fox
 
Making JavaScript Libraries More Approachable
Making JavaScript Libraries More ApproachableMaking JavaScript Libraries More Approachable
Making JavaScript Libraries More ApproachablePamela Fox
 
How I became a born again vegetable-tarian
How I became a born again vegetable-tarianHow I became a born again vegetable-tarian
How I became a born again vegetable-tarianPamela Fox
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer ExperiencePamela Fox
 
No, Really, I'm Shy
No, Really, I'm ShyNo, Really, I'm Shy
No, Really, I'm ShyPamela Fox
 
Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)Pamela Fox
 
Writing Apps the Google-y Way
Writing Apps the Google-y WayWriting Apps the Google-y Way
Writing Apps the Google-y WayPamela Fox
 
The Wonders of the "Onesie"
The Wonders of the "Onesie"The Wonders of the "Onesie"
The Wonders of the "Onesie"Pamela Fox
 
I’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS WorldI’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS WorldPamela Fox
 
Google Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google MapsGoogle Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google MapsPamela Fox
 
Google Products & Google Maps
Google Products & Google MapsGoogle Products & Google Maps
Google Products & Google MapsPamela Fox
 
A World of Words
A World of WordsA World of Words
A World of WordsPamela Fox
 
Web APIs & Google APIs
Web APIs & Google APIsWeb APIs & Google APIs
Web APIs & Google APIsPamela Fox
 
Growing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer ScientistGrowing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer ScientistPamela Fox
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructurePamela Fox
 
Client Killed the Server Star
Client Killed the Server StarClient Killed the Server Star
Client Killed the Server StarPamela Fox
 
Flex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASFlex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASPamela Fox
 

More from Pamela Fox (20)

Teaching Programming Online
Teaching Programming OnlineTeaching Programming Online
Teaching Programming Online
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
Django Admin: Widgetry & Witchery
Django Admin: Widgetry & WitcheryDjango Admin: Widgetry & Witchery
Django Admin: Widgetry & Witchery
 
A Year of Hermit Hacking
A Year of Hermit HackingA Year of Hermit Hacking
A Year of Hermit Hacking
 
Making JavaScript Libraries More Approachable
Making JavaScript Libraries More ApproachableMaking JavaScript Libraries More Approachable
Making JavaScript Libraries More Approachable
 
How I became a born again vegetable-tarian
How I became a born again vegetable-tarianHow I became a born again vegetable-tarian
How I became a born again vegetable-tarian
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer Experience
 
No, Really, I'm Shy
No, Really, I'm ShyNo, Really, I'm Shy
No, Really, I'm Shy
 
Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)Writing Apps the Google-y Way (Brisbane)
Writing Apps the Google-y Way (Brisbane)
 
Writing Apps the Google-y Way
Writing Apps the Google-y WayWriting Apps the Google-y Way
Writing Apps the Google-y Way
 
The Wonders of the "Onesie"
The Wonders of the "Onesie"The Wonders of the "Onesie"
The Wonders of the "Onesie"
 
I’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS WorldI’M A Barbie Girl In A CS World
I’M A Barbie Girl In A CS World
 
Google Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google MapsGoogle Products: Deep Dive on Google Maps
Google Products: Deep Dive on Google Maps
 
Google Products & Google Maps
Google Products & Google MapsGoogle Products & Google Maps
Google Products & Google Maps
 
A World of Words
A World of WordsA World of Words
A World of Words
 
Web APIs & Google APIs
Web APIs & Google APIsWeb APIs & Google APIs
Web APIs & Google APIs
 
Growing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer ScientistGrowing up Geek: My Dad, the Computer Scientist
Growing up Geek: My Dad, the Computer Scientist
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Client Killed the Server Star
Client Killed the Server StarClient Killed the Server Star
Client Killed the Server Star
 
Flex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASFlex vs. HTML5 for RIAS
Flex vs. HTML5 for RIAS
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Google Wave 20/20: Product, Protocol, Platform

  • 1. Google Wave is a project that was born right here in our Google Sydney office, created by the engineers that made Google Maps. It's now in early preview stage, and everyone's wondering what it is and how they can use it to make their world a better place. I'm going to explain Wave in terms of its three parts - the product, protocol, and platform, and hopefully give you ideas about how you can use Wave.
  • 2. Email 2.0? Let's start with the product. Google Wave is a communication and collaboration tool. It's been called &quot;Email 2.0&quot; or &quot;what email would look like if invented today.&quot; If you just look at the main screen after you're logged in, it kind of even looks like a remixed Gmail.
  • 3. Nested Trees of Blips But that first impression is deceptive - it's much more than that. Google Wave lets you create conversations with your contacts, and create a nested tree of replies in those conversations. Those conversations are called waves, and the messages inside them are called blips. If you decide that you don't like the contents of a blip - no matter who created it- you can edit it yourself.
  • 4. Playback Private Replies If you want to fork the conversation, then you can create a private reply. At any point, you can play back the conversation and see when people and blips were added. It's revision history made easy, and fun. So, yes, people can &quot;vandalize&quot; what you've written - but you can always hold them accountable for their change.
  • 5. Late CCs! Typos! Long Nested Threads! This doesn't seem that revolutionary, but it actually solves many of the problems that email poses. You don't have to worry about making stupid unretractable typos, trying to figure out who is replying to what where, or getting CCed onto a 40-message long thread and trying to interpret the flow of conversation.
  • 6. So, yes, Google Wave can be thought of as Email 2.0. And just like anyone can set up an SMTP server and send messages across email servers, our goal is for anyone to be able to set up a Wave server, and share Waves across servers. We don't want Google Wave to be the only wave server out there -- we need “competitors” if we want Wave to really take off.
  • 7. Operational Transforms* In order to federate Wave, we need to document our protocol and open-source the essential components. The first part we open-sourced was the operational transforms code, which is what we use to enable real-time collaboration of participants. It comes down to insert &delete operations, and a composition of them across clients, so that everyone sees the same thing in the end.
  • 8. Data Model Then we opened the data model specification, which defines the structure of the XML documents that we perform the operational transforms on. Our documents define conversations, since Wave is designed with email-like conversations in mind. But, someone could just as well use our OT protocol in combination with their own data model, like one that described audio clips, and create something like a real-time audio editing client.
  • 9. Client/Server Now, we're working on open-sourcing the client/server protocol for retrieving and sending Wave operations and rendering them on the client. So far, all we have released is a not-so-rich command-line client, but some developers have started writing their own nice looking clients. Hopefully, we can eventually open-source enough code that people can have a consistent user experience across Wave clients on different servers.
  • 10. Developer Platform HTTP Plugin Visual REST | RPC Google data APIs Adwords API Geocoding API Google Maps API Google Visualization API Google Charts API Google Web Elements OpenSocial Gadgets Spreadsheets Gadgets Wave Gadgets/Robots But now, my favorite part: the developer platform. At Google, we know the power of making extensible platforms, as we've seen how developers have added value to products like iGoogle and Maps in ways that we could have never imagined. That may be why we now have more than 60 APIs.
  • 11. Embed API Robots Gadgets Extensions APIs And for the developers… Our Wave developer offerings include an Embed API, which lets you embed an interactive Wave on your own webpage, and an extensions API, which lets you create robot participants and collaborative gadgets that can be added to Waves. So, you can either take the content out of Wave, or you can put your own content into Wave.
  • 12. A robot is basically an event listener on a Wave, reacting to events like the user typing by doing operations like adding blips, editing text, or inserting gadgets. This robot reacts to the blip submitted event, finds locations in the text, then responds with operations to annotate those locations as hyperlinks. Robots events operations
  • 13. from waveapi import events from waveapi import robot def OnBlipSubmitted(properties, context): blip = context.GetBlipById(properties['blipId']) contents = blip.GetDocument().GetText() contents = contents.replace(':(', unichr(0x2639)) # happy contents = contents.replace(':)', unichr(0x263A)) # sad blip.GetDocument().SetText(contents) if __name__ == '__main__': smiley = robot.Robot('Smiley') smiley.RegisterHandler( events.DOCUMENT_CHANGED, OnDocumentChanged) smiley.Run() Smiley Sample This sample code is for “Yet another smiley robot”, and uses the Python SDK. It registers to listen to the DOCUMENT_CHANGED event, receives the text of the changed blip, searches for the smiley face, and replaces it with a smiley-er smiley face.
  • 14. This API can be used to make a variety of useful and fun robots. The Amazon bot detects products in your messages, the Norton bot checks the safety of links, the Row-of-Four bot plays a game against you, the RSSy bot subscribes to feeds, and the WordPress and Bloggy bots help you export your waves to other platforms. An Army of Robots
  • 15. The cool thing about Robots in Wave, versus other places like IRC or AIM clients, is that they can work together..even if they weren't meant to. Monty is a bot that runs Python code, Syntaxy is a bot that syntax highlights code. They were developed independently, but they can be used together for collaborative syntax-highlighted Python coding. Collaborative Robots
  • 16. Gadget Shared State A Wave gadget is basically a mini-webpage with a shared state that can be modified and retrieved by all the participants. When the participant interacts, they send state deltas to the server, and then the gadgets in each open client get a state callback with the changed state. This shared state is really just a hash map stored in the blip XML. state delta state callback
  • 17. Clicky Sample This sample code is for the ‘Click me’ sample, an exciting collaborative clicking gadget. When the button is clicked, a delta with the new click count is sent to the server. When the state callback is triggered, the button renders the new count. <Module> <ModulePrefs title=&quot;State Example&quot; height=&quot;120&quot;> <Require feature=&quot;wave&quot; /> </ModulePrefs> <Content type=&quot;html&quot;> <![CDATA[ <input type=button id=&quot;button&quot; value=&quot;Click Me!&quot; onClick=&quot;buttonClicked()&quot;> <script> var button = document.getElementById('button'); function buttonClicked() { var value = parseInt(wave.getState().get('count', '0')); wave.getState().submitDelta({'count': value + 1}); } function stateUpdated() { if(!wave.getState().get('count')) { button.value = &quot;Click me: 0&quot; } else { button.value = &quot;Click me: &quot; + wave.getState().get('count'); } } wave.setStateCallback(stateUpdated); </script> ]]> </Content> </Module>
  • 18. Gadgets This simple mechanism can be used to create a wide array of gadgets – for drawing, brainstorming, playing games, learning flashcards, conducting polls, planning a trip, embedding video messages, and much more. The Gadgets API turns Wave into more than just textual communication, into a world of visual communication.
  • 19. Playback Gadgets+Gadgets Gadgets+Blips The cool thing about all these gadgets is that they are just a part of a larger collaborative document in Wave. So you can use gadgets in conjunction with other gadgets, converse below the gadgets about what you're making, and watch how the gadgets were created in playback.
  • 20. Business Pleasure Education Wave can be useful across the three main parts of our life - business, pleasure, and education. You can use it to collaborate on design documents with your team or even code together, you can use it to plan a party or play games with your friends living far away, you can use it to make studying more fun and productive. And, well, you can do a hell of a lot more than that. Try it out and see for yourself!

Editor's Notes

  1. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  2. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  3. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  4. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  5. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  6. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  7. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  8. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  9. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  10. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  11. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  12. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  13. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  14. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  15. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  16. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  17. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  18. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  19. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.
  20. Google was founded 8.5 years ago by Larry page and Sergey Brin - 2 Stanford PhD students - in their dorm room. It evolved from an idea that search was important and that as the web grew people would need help finding relevant information quickly and easily A lot of people misunderstand Google however and think we’re only about search, or even just an online search engine. In fact our purpose and our size is much broader. With products that allow you to search your desktop, the internet, your private company databases and email amongst others; products like Blogger, Picassa, Video/You-tube, Docs and Spreadsheets and many more besides which allow you to communicate, share and collaborate content with others; tools and events such as Google code search, Google Summer of code, Google web APIs which aim to support and develop the software engineering community; and Google maps and local search to help you find businesses, driving directions, opening times… Google clearly allows you to do a lot more than just search for your nearest Pizza shop’s opening times on a week night! All of these products are part of our broader purpose of helping to organise the world’s information, to make it universally accessible and useful to all.