SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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