Jonathon Rochelle @ FOWA Feb 07


Published on

Jonathan Rochelle of Google speaking at Future of Web Apps in London, February 2007.

Published in: Technology, News & Politics
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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: • • Google APIs: • • Spreadsheets API: • Google Confidential and Proprietary 20