Jonathon Rochelle @ FOWA Feb 07
Post on 13-May-2015
3329 Views
Preview:
DESCRIPTION
Transcript
Google Confidential and Proprietary 1
Presenter Name 1Title 1
Presenter Name 2Title2
Google Docs & SpreadsheetsHow and Why We Built
Jonathan RochelleProduct Manager
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…
3Google Confidential and Proprietary
“When will we….”
“We have nothing toannounce at this time”
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
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?...
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”…
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
8Google Confidential and Proprietary
One Overriding Product Goal…
be EASY TO USE
Google Confidential and Proprietary 9
Quick Demo
• Google Docs & Spreadsheets
10Google Confidential and Proprietary
… a screen shot from the end of the last demo
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.
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…
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.
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”
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
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…
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)
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
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.
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
top related