SlideShare a Scribd company logo
1 of 20
Download to read offline
How and Why We Built

           Google Docs & Spreadsheets




                                Jonathan Rochelle
                                 Product Manager

Presenter Name 1
Title 1
Presenter Name 2
Title2
                                  Google Confidential and Proprietary   1
Agenda

 • Background, History, Key Feature Goals

 • Quick Demo

 • General Architecture

 • Decisions, Decisions

 • Lessons Learned



    Expect:   Focus on Spreadsheets….
              Product Manager view…


                                            Google Confidential and Proprietary   2
“When will we….”




            “We have nothing to
            announce at this time”




                               Google Confidential and Proprietary   3
History – How it all began…

 • Step 1 of any good product:

               … Pick a killer cool name!


              “Google…               d
                                 use
                              onf
              …Docs… ill be c
                      dy w
                   obo
                …&…
                …and…
                  n
              ast
         at le…Spreadsheets” !!
       …




                                            Google Confidential and Proprietary   4
History of Google Docs & Spreadsheets

 • Who Cares?... It’s actually a Start-up Acquisition story…

 • 2005 – 2Web Technologies / XL2Web joins Google.

 • Mar 2006 – Upstartle / Writely joins Google.

 • Jun 2006 – Google Spreadsheets lauched in Labs

 • Aug 2006 – Writely Re-opens registration (mostly Googlised)

 • Oct 2006 – Google Docs & Spreadsheets Launched

 • Feb 2007 – 14 languages…


                                                   Google Confidential and Proprietary   5
Background: Why Google Docs & Spreadsheets

 • It actually fits well with our mission…
    • “Organize My Information… and…
    • Make it Accessible and Useful…
    • With whomever I choose (and nobody else, thanks)”

 • IOW….
    • Do-it-yourself Content Creation
    • Accepted/Familiar Interface of Spreadsheets and Documents
    • Accessibility from anywhere (…connected)
    • Easy-to-use Collaboration
    • Do-it-yourself Community Creation

 • It’s not “On the web”… it “Is the web”…
                                                     Google Confidential and Proprietary   6
Key Target Features

 • Collaboration with others on the same document/spreadsheet
   • In Real-time... Without proliferation of versions / copies (email,
     etc)

 • Online Storage - Accessible “Anywhere”.

 • Publishing
   • People who already create content become publishers.

 • API for development of specific-use apps
   • The collaborative UI component of any product
   • To extend features offered
   • To integrate with 3rd party products
   • To offer new vertical applications                   Google Confidential and Proprietary   7
One Overriding Product Goal…




               EASY TO USE
          be




                               Google Confidential and Proprietary   8
Quick Demo

• Google Docs & Spreadsheets




                               Google Confidential and Proprietary   9
… a screen shot from the end of the last demo




                                        Google Confidential and Proprietary   10
General Architecture

 • Server-side calculation engine – lighten the client…

 • Ajax client

 • Collaboration Layer

 • Storage Layer

 • Infrastructure & Shared Services (aka “everything else”)


  Google’s infrastructure provides “cheap scale”….
                               ….. just add water (machines)…
  The team stays focused on features and integration.

                                                     Google Confidential and Proprietary   11
Ajax Client

 • Well-defined communication protocol to server

 • Push calculation logic to the server side

 • Browser challenges… (heavy sigh)

 • Perceived speed – pay me now or pay me later…


                                   • Ajax stinks!
  • Ajax is great!
                                      • Event triggering hell…
    • Nice browser-based UI!
                                      • 300k web pages!
    • No Plug-ins!
                                      • Experimentation at best…
    • Multi-Platform via the
      Browser!

                                                     Google Confidential and Proprietary   12
Decisions, Decisions…

 • Who is our initial user? The Spreadsheet user or the person who
   could use spreadsheets but doesn’t yet know it?

 • What are the must have V1 features?

 • Collaboration features – rich conflict resolution or simple “trust me”
   collaboration

 • Integration Choices (which Google products, when?)

 • Technical Decisions:
    • Storage services… which fits best?
    • Stateful vs. stateless
    • “Homing” – how to split the load and give high resiliency.




                                                               Google Confidential and Proprietary   13
Feedback from the Users

 • Give us more specific features:
    • Freeze Columns, Drag&Drop, Range Names, Cross Spreadsheet links,
      Autofilter,Charting, etc…

 • Give us improvements to current features:
    • More sorting options, more edit controls, more ACL controls, easier
      inserting rows, Copy / Paste issues, group invitations, etc…

 • Give us integration with more Google (and non-google) services…


 • “…but, we’re not whining!... We love this product!”

 • “This product has changed our lives”

 • “we don’t know how we managed without the product”


                                                             Google Confidential and Proprietary   14
Lessons Learned (part 1)

 • Get UI help… and get it early
   • UI Innovation can make a stellar success (or failure)
   • Front-end code is very dependent on the desired UI behaviors
   • Users don’t enjoy guessing what icons mean.
      – PM’s do not make good icons.

                                         Choose a Font

                                              Wrap Text

                                                  Share

                                           Clear Format

                      Elevator Doors Closing / Opening
                               Merge / Un-merge Cells

                                                        Google Confidential and Proprietary   15
Lessons Learned (part 2)

 • Test new ideas with users early…
   • Nobody cared to “Pan” their spreadsheet like a map.

 • Use Test Harnesses, Automation and Benchmarks - early
   • This works on the client side and server side.
   • Key for us in early Ajax experimentation, and re-testing

 • Speed is critical
   • Performance improvements can ALWAYS be made...
      – Hint: Get someone important to say “it’s too slow”
   • Compromise (i.e. kill) those cool, but un-used features…



                                                             Google Confidential and Proprietary   16
Lessons Learned (part 3)

 • The needs of the many outweigh the needs of the few… or the
   one…
   • …even if that “one” is currently signing your paycheck…
   • Get User Feedback… and Use it as a key input to feature plans

 • Sometimes insight does NOT come from the user
   • Our biggest example was immediate/Real-time collaboration

 • User Data is sacred.
   • Don’t ever give users a reason not to trust your product (even
     internal users)




                                                       Google Confidential and Proprietary   17
Lessons Learned (part 4)

 • Provide a very specific value that users can describe
   • “it’s amazing! I must be able to use this somewhere!” …
     …is very different than
   • “it’s amazing! This product will improve productivity by 80%!”

 • Focus on features which align with your product’s value
   • For example, collaboration and sharing are critical to Google Docs
     & Spreadsheets.

 • Talk to users…
   • Gather plenty from early users - if they represent your target
   • Look for new targets/angles/verticals as the product is used

                                                         Google Confidential and Proprietary   18
Final Lesson Learned

 • The team is the most important thing
   • Have partners
   • Pick the right partners
      – Shared vision
      – Complementary skills, covering all the necessary activities
   • Build a great team
      – Never compromise
   • Don’t hire for everything - Buy services
      – Don’t always assume you have to do it yourself.




                                                             Google Confidential and Proprietary   19
Q&A

• Google Docs & Spreadsheets:
  •http://docs.google.com

• Google APIs:
  •http://code.google.com

• Spreadsheets API:
  •http://code.google.com/apis/spreadsheets/overview.html




                                            Google Confidential and Proprietary   20

More Related Content

Similar to Jonathon Rochelle @ FOWA Feb 07

Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAtlassian
 
Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAtlassian
 
Mash-Up Personal Learning Environments (MUPPLE)
Mash-Up Personal Learning Environments (MUPPLE)Mash-Up Personal Learning Environments (MUPPLE)
Mash-Up Personal Learning Environments (MUPPLE)Hannes Ebner
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...CAMT
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for TestersAdam Goucher
 
090218 Madtech Google Apps
090218 Madtech Google Apps090218 Madtech Google Apps
090218 Madtech Google AppsAlnisa Allgood
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...Scott Abel
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryScott Abel
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 
User Experience 101 - A Practical Guide
User Experience 101 - A Practical GuideUser Experience 101 - A Practical Guide
User Experience 101 - A Practical GuideAdrian Bunge
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsKris Buytaert
 
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Gáspár Nagy
 
Virtual Collaboration
Virtual CollaborationVirtual Collaboration
Virtual Collaborationraanan
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWebDave Bouwman
 
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...Gáspár Nagy
 
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!Lorenzo Barbieri
 
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Become a Better Developer with Debugging Techniques for Drupal (and more!)Become a Better Developer with Debugging Techniques for Drupal (and more!)
Become a Better Developer with Debugging Techniques for Drupal (and more!)Acquia
 

Similar to Jonathon Rochelle @ FOWA Feb 07 (20)

Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA Hum
 
Administrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA HumAdministrivia: Golden Tips for Making JIRA Hum
Administrivia: Golden Tips for Making JIRA Hum
 
Mash-Up Personal Learning Environments (MUPPLE)
Mash-Up Personal Learning Environments (MUPPLE)Mash-Up Personal Learning Environments (MUPPLE)
Mash-Up Personal Learning Environments (MUPPLE)
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for Testers
 
Devops For Drupal
Devops  For DrupalDevops  For Drupal
Devops For Drupal
 
090218 Madtech Google Apps
090218 Madtech Google Apps090218 Madtech Google Apps
090218 Madtech Google Apps
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation Library
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
User Experience 101 - A Practical Guide
User Experience 101 - A Practical GuideUser Experience 101 - A Practical Guide
User Experience 101 - A Practical Guide
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey Results
 
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
Introducing BDD to Legacy Applications with SpecFlow/Cucumber (Agilia Confere...
 
Virtual Collaboration
Virtual CollaborationVirtual Collaboration
Virtual Collaboration
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWeb
 
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...
Scaffolding a legacy app with BDD scenarios using SpecFlow/Cucumber (BDD Lond...
 
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
 
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Become a Better Developer with Debugging Techniques for Drupal (and more!)Become a Better Developer with Debugging Techniques for Drupal (and more!)
Become a Better Developer with Debugging Techniques for Drupal (and more!)
 
Magee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance ItalianoMagee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance Italiano
 
Drupal
DrupalDrupal
Drupal
 

More from carsonsystems

Edwin Aoki @ FOWA 08
Edwin Aoki @ FOWA 08Edwin Aoki @ FOWA 08
Edwin Aoki @ FOWA 08carsonsystems
 
Kevin Marks @ FOWA 08
Kevin Marks @ FOWA 08Kevin Marks @ FOWA 08
Kevin Marks @ FOWA 08carsonsystems
 
Emily Boyd @ FOWA Miami 08
Emily Boyd @ FOWA Miami 08Emily Boyd @ FOWA Miami 08
Emily Boyd @ FOWA Miami 08carsonsystems
 
Matt Marshall @ FOWA 08
Matt Marshall @ FOWA 08Matt Marshall @ FOWA 08
Matt Marshall @ FOWA 08carsonsystems
 
Leah Culver @ FOWA 08
Leah Culver @ FOWA 08Leah Culver @ FOWA 08
Leah Culver @ FOWA 08carsonsystems
 
Brian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA Miami
Brian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA MiamiBrian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA Miami
Brian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA Miamicarsonsystems
 
Pathable Presentations
Pathable PresentationsPathable Presentations
Pathable Presentationscarsonsystems
 
Tariq Krim @ FOWA Feb 07
Tariq Krim @ FOWA Feb 07Tariq Krim @ FOWA Feb 07
Tariq Krim @ FOWA Feb 07carsonsystems
 
Simon Hawkins @ FOWA Feb 07.
Simon Hawkins @ FOWA Feb 07.Simon Hawkins @ FOWA Feb 07.
Simon Hawkins @ FOWA Feb 07.carsonsystems
 
Daniel Appelquist @ FOWA Feb 07
Daniel Appelquist @ FOWA Feb 07Daniel Appelquist @ FOWA Feb 07
Daniel Appelquist @ FOWA Feb 07carsonsystems
 
Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07carsonsystems
 
Simon Wardley @ FOWA Feb 07
Simon Wardley @ FOWA Feb 07Simon Wardley @ FOWA Feb 07
Simon Wardley @ FOWA Feb 07carsonsystems
 
Brice Leblevennec @ FOWA Feb 07
Brice Leblevennec @ FOWA Feb 07Brice Leblevennec @ FOWA Feb 07
Brice Leblevennec @ FOWA Feb 07carsonsystems
 
Philip Wilkinson @ FOWA Feb 07
Philip Wilkinson @ FOWA Feb 07Philip Wilkinson @ FOWA Feb 07
Philip Wilkinson @ FOWA Feb 07carsonsystems
 
Ben Holmes @ FOWA Feb 07
Ben Holmes @ FOWA Feb 07Ben Holmes @ FOWA Feb 07
Ben Holmes @ FOWA Feb 07carsonsystems
 
Richard Moross @ FOWA Feb 07
Richard Moross @ FOWA Feb 07Richard Moross @ FOWA Feb 07
Richard Moross @ FOWA Feb 07carsonsystems
 
Michael Arrington @ FOWA Feb 07
Michael Arrington @ FOWA Feb 07Michael Arrington @ FOWA Feb 07
Michael Arrington @ FOWA Feb 07carsonsystems
 
Werner Vogels @ FOWA Feb 07
Werner Vogels @ FOWA Feb 07Werner Vogels @ FOWA Feb 07
Werner Vogels @ FOWA Feb 07carsonsystems
 
Stefan Fountain @ FOWA Feb 07
Stefan Fountain @ FOWA Feb 07Stefan Fountain @ FOWA Feb 07
Stefan Fountain @ FOWA Feb 07carsonsystems
 

More from carsonsystems (20)

Edwin Aoki @ FOWA 08
Edwin Aoki @ FOWA 08Edwin Aoki @ FOWA 08
Edwin Aoki @ FOWA 08
 
Kevin Marks @ FOWA 08
Kevin Marks @ FOWA 08Kevin Marks @ FOWA 08
Kevin Marks @ FOWA 08
 
Ed Burns @ FOWA 08
Ed Burns @ FOWA 08Ed Burns @ FOWA 08
Ed Burns @ FOWA 08
 
Emily Boyd @ FOWA Miami 08
Emily Boyd @ FOWA Miami 08Emily Boyd @ FOWA Miami 08
Emily Boyd @ FOWA Miami 08
 
Matt Marshall @ FOWA 08
Matt Marshall @ FOWA 08Matt Marshall @ FOWA 08
Matt Marshall @ FOWA 08
 
Leah Culver @ FOWA 08
Leah Culver @ FOWA 08Leah Culver @ FOWA 08
Leah Culver @ FOWA 08
 
Brian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA Miami
Brian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA MiamiBrian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA Miami
Brian Oberkirch, Tantek Celik & Joseph Smarr @ FOWA Miami
 
Pathable Presentations
Pathable PresentationsPathable Presentations
Pathable Presentations
 
Tariq Krim @ FOWA Feb 07
Tariq Krim @ FOWA Feb 07Tariq Krim @ FOWA Feb 07
Tariq Krim @ FOWA Feb 07
 
Simon Hawkins @ FOWA Feb 07.
Simon Hawkins @ FOWA Feb 07.Simon Hawkins @ FOWA Feb 07.
Simon Hawkins @ FOWA Feb 07.
 
Daniel Appelquist @ FOWA Feb 07
Daniel Appelquist @ FOWA Feb 07Daniel Appelquist @ FOWA Feb 07
Daniel Appelquist @ FOWA Feb 07
 
Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07
 
Simon Wardley @ FOWA Feb 07
Simon Wardley @ FOWA Feb 07Simon Wardley @ FOWA Feb 07
Simon Wardley @ FOWA Feb 07
 
Brice Leblevennec @ FOWA Feb 07
Brice Leblevennec @ FOWA Feb 07Brice Leblevennec @ FOWA Feb 07
Brice Leblevennec @ FOWA Feb 07
 
Philip Wilkinson @ FOWA Feb 07
Philip Wilkinson @ FOWA Feb 07Philip Wilkinson @ FOWA Feb 07
Philip Wilkinson @ FOWA Feb 07
 
Ben Holmes @ FOWA Feb 07
Ben Holmes @ FOWA Feb 07Ben Holmes @ FOWA Feb 07
Ben Holmes @ FOWA Feb 07
 
Richard Moross @ FOWA Feb 07
Richard Moross @ FOWA Feb 07Richard Moross @ FOWA Feb 07
Richard Moross @ FOWA Feb 07
 
Michael Arrington @ FOWA Feb 07
Michael Arrington @ FOWA Feb 07Michael Arrington @ FOWA Feb 07
Michael Arrington @ FOWA Feb 07
 
Werner Vogels @ FOWA Feb 07
Werner Vogels @ FOWA Feb 07Werner Vogels @ FOWA Feb 07
Werner Vogels @ FOWA Feb 07
 
Stefan Fountain @ FOWA Feb 07
Stefan Fountain @ FOWA Feb 07Stefan Fountain @ FOWA Feb 07
Stefan Fountain @ FOWA Feb 07
 

Recently uploaded

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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
#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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Recently uploaded (20)

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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
#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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Jonathon Rochelle @ FOWA Feb 07

  • 1. How and Why We Built Google Docs & Spreadsheets Jonathan Rochelle Product Manager Presenter Name 1 Title 1 Presenter Name 2 Title2 Google Confidential and Proprietary 1
  • 2. Agenda • Background, History, Key Feature Goals • Quick Demo • General Architecture • Decisions, Decisions • Lessons Learned Expect: Focus on Spreadsheets…. Product Manager view… Google Confidential and Proprietary 2
  • 3. “When will we….” “We have nothing to announce at this time” Google Confidential and Proprietary 3
  • 4. History – How it all began… • Step 1 of any good product: … Pick a killer cool name! “Google… d use onf …Docs… ill be c dy w obo …&… …and… n ast at le…Spreadsheets” !! … Google Confidential and Proprietary 4
  • 5. History of Google Docs & Spreadsheets • Who Cares?... It’s actually a Start-up Acquisition story… • 2005 – 2Web Technologies / XL2Web joins Google. • Mar 2006 – Upstartle / Writely joins Google. • Jun 2006 – Google Spreadsheets lauched in Labs • Aug 2006 – Writely Re-opens registration (mostly Googlised) • Oct 2006 – Google Docs & Spreadsheets Launched • Feb 2007 – 14 languages… Google Confidential and Proprietary 5
  • 6. Background: Why Google Docs & Spreadsheets • It actually fits well with our mission… • “Organize My Information… and… • Make it Accessible and Useful… • With whomever I choose (and nobody else, thanks)” • IOW…. • Do-it-yourself Content Creation • Accepted/Familiar Interface of Spreadsheets and Documents • Accessibility from anywhere (…connected) • Easy-to-use Collaboration • Do-it-yourself Community Creation • It’s not “On the web”… it “Is the web”… Google Confidential and Proprietary 6
  • 7. Key Target Features • Collaboration with others on the same document/spreadsheet • In Real-time... Without proliferation of versions / copies (email, etc) • Online Storage - Accessible “Anywhere”. • Publishing • People who already create content become publishers. • API for development of specific-use apps • The collaborative UI component of any product • To extend features offered • To integrate with 3rd party products • To offer new vertical applications Google Confidential and Proprietary 7
  • 8. One Overriding Product Goal… EASY TO USE be Google Confidential and Proprietary 8
  • 9. Quick Demo • Google Docs & Spreadsheets Google Confidential and Proprietary 9
  • 10. … a screen shot from the end of the last demo Google Confidential and Proprietary 10
  • 11. General Architecture • Server-side calculation engine – lighten the client… • Ajax client • Collaboration Layer • Storage Layer • Infrastructure & Shared Services (aka “everything else”) Google’s infrastructure provides “cheap scale”…. ….. just add water (machines)… The team stays focused on features and integration. Google Confidential and Proprietary 11
  • 12. Ajax Client • Well-defined communication protocol to server • Push calculation logic to the server side • Browser challenges… (heavy sigh) • Perceived speed – pay me now or pay me later… • Ajax stinks! • Ajax is great! • Event triggering hell… • Nice browser-based UI! • 300k web pages! • No Plug-ins! • Experimentation at best… • Multi-Platform via the Browser! Google Confidential and Proprietary 12
  • 13. Decisions, Decisions… • Who is our initial user? The Spreadsheet user or the person who could use spreadsheets but doesn’t yet know it? • What are the must have V1 features? • Collaboration features – rich conflict resolution or simple “trust me” collaboration • Integration Choices (which Google products, when?) • Technical Decisions: • Storage services… which fits best? • Stateful vs. stateless • “Homing” – how to split the load and give high resiliency. Google Confidential and Proprietary 13
  • 14. Feedback from the Users • Give us more specific features: • Freeze Columns, Drag&Drop, Range Names, Cross Spreadsheet links, Autofilter,Charting, etc… • Give us improvements to current features: • More sorting options, more edit controls, more ACL controls, easier inserting rows, Copy / Paste issues, group invitations, etc… • Give us integration with more Google (and non-google) services… • “…but, we’re not whining!... We love this product!” • “This product has changed our lives” • “we don’t know how we managed without the product” Google Confidential and Proprietary 14
  • 15. Lessons Learned (part 1) • Get UI help… and get it early • UI Innovation can make a stellar success (or failure) • Front-end code is very dependent on the desired UI behaviors • Users don’t enjoy guessing what icons mean. – PM’s do not make good icons. Choose a Font Wrap Text Share Clear Format Elevator Doors Closing / Opening Merge / Un-merge Cells Google Confidential and Proprietary 15
  • 16. Lessons Learned (part 2) • Test new ideas with users early… • Nobody cared to “Pan” their spreadsheet like a map. • Use Test Harnesses, Automation and Benchmarks - early • This works on the client side and server side. • Key for us in early Ajax experimentation, and re-testing • Speed is critical • Performance improvements can ALWAYS be made... – Hint: Get someone important to say “it’s too slow” • Compromise (i.e. kill) those cool, but un-used features… Google Confidential and Proprietary 16
  • 17. Lessons Learned (part 3) • The needs of the many outweigh the needs of the few… or the one… • …even if that “one” is currently signing your paycheck… • Get User Feedback… and Use it as a key input to feature plans • Sometimes insight does NOT come from the user • Our biggest example was immediate/Real-time collaboration • User Data is sacred. • Don’t ever give users a reason not to trust your product (even internal users) Google Confidential and Proprietary 17
  • 18. Lessons Learned (part 4) • Provide a very specific value that users can describe • “it’s amazing! I must be able to use this somewhere!” … …is very different than • “it’s amazing! This product will improve productivity by 80%!” • Focus on features which align with your product’s value • For example, collaboration and sharing are critical to Google Docs & Spreadsheets. • Talk to users… • Gather plenty from early users - if they represent your target • Look for new targets/angles/verticals as the product is used Google Confidential and Proprietary 18
  • 19. Final Lesson Learned • The team is the most important thing • Have partners • Pick the right partners – Shared vision – Complementary skills, covering all the necessary activities • Build a great team – Never compromise • Don’t hire for everything - Buy services – Don’t always assume you have to do it yourself. Google Confidential and Proprietary 19
  • 20. Q&A • Google Docs & Spreadsheets: •http://docs.google.com • Google APIs: •http://code.google.com • Spreadsheets API: •http://code.google.com/apis/spreadsheets/overview.html Google Confidential and Proprietary 20