jonathon rochelle @ fowa feb 07

20
Google Confidential and Proprietary 1 Presenter Name 1 Title 1 Presenter Name 2 Title2 Google Docs & Spreadsheets How and Why We Built Jonathan Rochelle Product Manager

Upload: carsonsystems

Post on 13-May-2015

3.329 views

Category:

Technology


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Jonathon Rochelle @ FOWA Feb 07

Google Confidential and Proprietary 1

Presenter Name 1Title 1

Presenter Name 2Title2

Google Docs & SpreadsheetsHow and Why We Built

Jonathan RochelleProduct Manager

Page 2: Jonathon Rochelle @ FOWA Feb 07

2Google Confidential and Proprietary

Agenda

• Background, History, Key Feature Goals

• Quick Demo

• General Architecture

• Decisions, Decisions

• Lessons Learned

Expect: Focus on Spreadsheets….Product Manager view…

Page 3: Jonathon Rochelle @ FOWA Feb 07

3Google Confidential and Proprietary

“When will we….”

“We have nothing toannounce at this time”

Page 4: Jonathon Rochelle @ FOWA Feb 07

4Google Confidential and Proprietary

…&… …and… …&…

History – How it all began…

• Step 1 of any good product:

… Pick a killer cool name!

“Google……Docs…

…Spreadsheets” !!… at least nobody will be confused

Page 5: Jonathon Rochelle @ FOWA Feb 07

5Google Confidential and Proprietary

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…

• Who Cares?...

Page 6: Jonathon Rochelle @ FOWA Feb 07

6Google Confidential and Proprietary

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”…

Page 7: Jonathon Rochelle @ FOWA Feb 07

7Google Confidential and Proprietary

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

Page 8: Jonathon Rochelle @ FOWA Feb 07

8Google Confidential and Proprietary

One Overriding Product Goal…

be EASY TO USE

Page 9: Jonathon Rochelle @ FOWA Feb 07

Google Confidential and Proprietary 9

Quick Demo

• Google Docs & Spreadsheets

Page 10: Jonathon Rochelle @ FOWA Feb 07

10Google Confidential and Proprietary

… a screen shot from the end of the last demo

Page 11: Jonathon Rochelle @ FOWA Feb 07

11Google Confidential and Proprietary

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.

Page 12: Jonathon Rochelle @ FOWA Feb 07

12Google Confidential and Proprietary

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 is great!

• Nice browser-based UI!

• No Plug-ins!

• Multi-Platform via theBrowser!

• Ajax stinks!

• Event triggering hell…

• 300k web pages!

• Experimentation at best…

Page 13: Jonathon Rochelle @ FOWA Feb 07

13Google Confidential and Proprietary

Decisions, Decisions…

• Who is our initial user? The Spreadsheet user or the person whocould 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.

Page 14: Jonathon Rochelle @ FOWA Feb 07

14Google Confidential and Proprietary

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, easierinserting 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”

Page 15: Jonathon Rochelle @ FOWA Feb 07

15Google Confidential and Proprietary

Choose a Font

• 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.

Lessons Learned (part 1)

Wrap Text

Share

Clear Format

Elevator Doors Closing / OpeningMerge / Un-merge Cells

Page 16: Jonathon Rochelle @ FOWA Feb 07

16Google Confidential and Proprietary

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…

Page 17: Jonathon Rochelle @ FOWA Feb 07

17Google Confidential and Proprietary

Lessons Learned (part 3)

• The needs of the many outweigh the needs of the few… or theone…

• …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 (eveninternal users)

Page 18: Jonathon Rochelle @ FOWA Feb 07

18Google Confidential and Proprietary

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

Page 19: Jonathon Rochelle @ FOWA Feb 07

19Google Confidential and Proprietary

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.

Page 20: Jonathon Rochelle @ FOWA Feb 07

20Google Confidential and Proprietary

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