Carl Sjogreen delivered an extremely informative talk about how they built Google Calendar. He covers everything from the initial customer interviews and research, to the vision they established for the product, the development iterations they went through, the launch and post-launch reflection. I had a couple of questions that there weren’t time for and I’ve thrown those in the end in case Carl comes across this and can answer then.
Here are my detailed notes…
——————–
How did we build Google Calendar?
Quick Demo
Manage your own personal schedule and share it with other people
- Moved a lot of desktop metaphors and moved them to the web. Invested a lot in this.
- Also invested a lot in natural language (quickadd)
- Also focused a lot on sharing
In the beginning…
– a largely classic Google product team
– 1 product manager and 3 engineers
– Origin was from both customer feedback and internal interest
– Seemed like a space with little innovation — nothing out there was “right” –> exactly the kind of opportunity Google looks for
Okay now I’ve got a team and a vague idea: “Google should do something in the Calendar space” What next?
———-
The Road to Google Calendar: Talking to Customers
– First thing’s first — go talk to “real” customers
– sounds cliche but it’s amazing how little it’s really done
– real customers, not your silicon valley geek buddies
– Spoke to many people, sometimes even in their homes
– students, families, schools, working couples, PTA organizers
– tried to find a whole spectrum of different technical backgrounds
– keep probing: busy is not the same as “needs a calendar”
– Key themes emerged quickly:
– Calendars are necessary but just a chore
– calendars are personal and emotional
– calendar “collaboration” is just too hard
—
I interview a lot of product managers and one of my favorite interview questions is: How do you go from an idea to a product? One of the things that a lot of people miss is establishing a vision. This is the thing that says that if we don’t get anything else right, this is what we’re going to do well.
Our Vision
– Set out to build a calendar that works for you
– fast, visually appealing and joyous to use
– drop dead simple to get information into the calendar
– more than boxes on a screen (reminders, invitations, etc.)
– easy to share so you can see your whole life in one place
– Designed for a consumer world where not everyone has a calendar (or one on the same system)
– open APIs (import and publish)
– invitations for everyone
————————–
The Road to Google Calendar: Development
– Vision in hand, we set off to turn an idea into reality
– Lots and lots of prototyping
– PHP, MySQL, no Google infrastructure
– relatively easy to get basic system up and running: details are hard
– focused on getting interactions and user model right before thinking about scale (a significant challenge for us)
– Internal Use: Pros & Cons
– Got a ton of great feedback from other Googlers
– Got the interaction basics right & generated a lot of feature ideas
– However, keep in mind that your early user might be not your target users
————————–
Once we felt we had it mostly right, worked on making it real
– backend infrastructure designed for scale (ie “Google Infrastructure”)
– front-end / UI rewrite to pixel perfect mocks + static HTML
– doing all the hard parts (recurrences, parsing icals, API testing, interop, etc.)
Worked on our UI design in stages as well
– Get the interactions down and try them out
– Focus on the look & feel while engineers are making it real
– Save the pixel pushing (fine alignment on the user interface) for when you know you have it right
————————–
Private betas are a good thing
– Even with all of our internal testing we learned a ton from testing with a small group of “real users”
– Quickadd improvements (being smart isn’t always the best)
– Underestimated the importance of import
– Fixed a bunch of issues with SMS alerts (tough to test because of all the carriers)
– Better support for small screens (screen density was really important)
Launch day: 4/12/2006
– Flipped the switch, and didn’t sleep for the next 36 hours!
6 key insights that might be useful for your next product or company
1. Easy is the most important feature
– “simple things should be simple and complex things should be possible” ALan Kay, Disney
– Always have an eye on the minimum useful feature set that most people will use
– talk to grandma in NYC
– a mother loved quickadd (& then prints out the calendar for the fridge)
– Product usage tracks directly to how easy a feature is to find & use
– creating calendars = easy
– finding calendars = not easy enough
– Figure out what you absolutely have to get right and relentlessly refine it
– Redesigned the “event page” at least 3 times
– Kept adding new ways to get events into the system up until days before we launched
– Don’t spend too much time on less importnat area
– Know where you’ll get the most bang for the buck
2. Know your real competition
– know what your real competition does well
– we spent a lot of time looking at the market — online and desktop
– but the competition that keeps me up at night is paper
– ~6 billion people in the world, all who have things going on in their lives
– ~300 billion desktop calendars
– Non-tech and low-tech mechanisms are the way that most people communicate and interact
– email vs. evite
– notepad vs. tada lists
– the ktichen calendar vs. google calendar
– paper has a bunch of great advantages that you need to beat
– easy to carry with you
– doesn’t require boot time
– doesn’t require a login
– focus on removing the hurdles to adoption
– import, offline, mobile, etc.
– mimic the flexibility of paper
– focus on what the web can do that paper can’t
– collaboration
– access from anywhere
3. Visual design matters
“Great Design” it’s that ineffeable quality that certain incredibly successful product have that makes people fall in love with them desptie their flaws.” –Joel Spolsky
– great design = usability + visual joy
– ipod vs. everyone else
4. Build products for people who don’t want to use them
– Not everyone who can benefit from your service actually wants to use it
– change behaviour and workflows are very hard
– Need to make it as easy as possible for people to use your product with as little work as possible
– Get your product in front of the applications people use every day
– And then make it painless for peopel to start using your product without fully switching into a new way of doing things
– Google Personalized Module is a great way to get traffic, by the way… they get a ton of traffic from there.
5. Timing launch properly
– launch early and often is the mantra of web companies
– it IS a fundamental structural differences that sets web companies apart from packaged software
– However the old adage of “you can only launch once” still applies
– leverage internal testing and private betas to get feedback early, but…
– make sure that you have something worthwhile once you land on digg / techcrunch / etc.
– launching is hard to do (it’s never an easy call)
– in our case, expectations were very high
– should we have waited for sync for example
– ask yourself if you could really …
6. Driving usage
– We have a steady rate of new users signing up daily with very little marketing
– How? Made it easy for there to be touchpoints everywhere. (buttons on 3rd party sites, send invites, etc. : many touchpoints))
– Think about how your product can generate touchpoints that eten beyond your app[ (and make iteasy to do so)
– social reinforcement is key for validation
– relentlessly remove account sign-ups
– this is pretty obvious but it was surprising to me how much of a barrier accounts can be
———————
My questions
— WHAT PERIOD OF TIME DID THIS SPAN?
— HOW MANY PEOPLE OVER THE SPAN OF THE PROJECT?
— HOW WERE DECISIONS MADE ON UI?
—WERE THERE OTHER PRODUCT MANAGERS LIKE YOU THAT WERE RESPONSIBLE FOR PORTIONS OF THE EXPERIENCE?
“I had a couple of questions that there weren’t time for and I’ve thrown those in the end in case Carl comes across this and can answer then.”
And my question: Will we see To-Do/Task list functionality? That seem’s to be the biggest want that I have heard.
Carl???
Excellent round up. I’m surprised at the respect they have for “paper”. I hope they continue to innovate in the ways Gcal can be printed out on paper.
Thanks for sharing these, Rakesh. Very interesting.
Intriguing! An excellent insight into how Google develops great products with tiny teams. Hats off to you guys, for a life changing product 🙂
I love Gcal
I am interested in an agenda that combines all of the different calendars I use…and in being able to access my calendar from my phone.
Thanks…
Thank-you!
Excellent post. as a web developer, i’m intrigued with each step you took to make GCal a reality. Amazing work done with GCal. As Dave above said, when will we see To-Do/Task List functionality?
I have a suggestion, it would be nice if users can customize the way alerts are sent via SMS with custom-tags to generate the output we’d like to see, such as:
\n @ \n \n , ,
…. then the output would be:
Close Deal with ABC Corp.
3 hours @ 10/12/05 3:00PM
Starbucks in Downtown
Mr. Joe Smith, (123) 555-1212, [email protected]
Understand, many SMS enabled phones/PDA’s can accet more then standard 120 chars. Customization of SMS alerts would be helpful to GCal users understand and better manage their calendars.
Excellent post. as a web developer, i’m intrigued with each step you took to make GCal a reality. Amazing work done with GCal. As Dave above said, when will we see To-Do/Task List functionality?
I have a suggestions, it would be nice if users can customize the way alerts are sent via SMS with custom-tags to generate the output we’d like to see, such as:
[SUBJECT] \n [DURATION] @ [DATETIME] \n [LOCATION] \n [PERSON_NAME], [PERSON_PHONE], [PERSON_EMAIL]
…. then the output would be:
Close Deal with ABC Corp.
3 hours @ 10/12/05 3:00PM
Starbucks in Downtown
Mr. Joe Smith, (123) 555-1212, [email protected]
Understand, many SMS enabled phones/PDA’s can accet more then standard 120 chars. Customization of SMS alerts would be helpful to GCal users understand and better manage their calendars.
** sorry for the double post.
When will we have an outlook plugin to allow for seemless sync?
Excellent summary Rakesh. Thanks !
Brij
I love GCal.
And suggest: a date called “today”, that always shows in today, untill you check it out. It will work as “todo list”.
They thought simple
Thank you for interesting perceptions. How long have you been testing? How many people have you been asking on the road to the Google Calendar? Aproximately. Thanx.
Dear Carl,
You’ve made an amazing calendar that improve my daily activities, especially in business. In one glimpse, I can see my daily ups and down. Your hard earned work really made an almost perfect result to me. And I can say that there are more ups now than down before I’m not using google calendar. Maybe the calendar will be perfect if you will add a note pad. With the notepad in my google calendar adds power to my future events.
Great work Carl, more power to you and to your crew.
God Bless,
jhun
It’s true we need a to do list but most importantly a nice integration in GMail without a greaseMonkey script.
To have in one place mail, calendar notepad would be convenient.
You have very interesting site!
Respect you!
http://louisellipsehandbag.iespana.es
I suddenly had this flash where google wireless service gets mashed up with low-power paper display technology and google calendar plus a biometric authentication module (i.e. it smells yer old spice and pheromone mixture, logs you in) to completely obliterate the difference between google calendar and a small written calendar. or you could just get my casio calendar watch circa 1990.
I still wonder why Google hasn’t made To Do lists. Is it that political of a project or that complex of a project? By political, I mean, that it would subvert some other piece of software in existence today, or the paper versions, and anger and really wake up the MS folks…
Just a thought.
John
This was an excellent write up. Thanks Rakesh. Very insightful about the way GCal was made, and the design philosophy from a product management perspective. Thank you for sharing this with us.
Rajat
I never much liked online Calendars. Everyone from my ISP on thinks they are helping me out, but frankly I don’t trust them — if anything goes wrong electronically, and it DOES, then I’m up the creek, so I use an old-fashioned wall calendar, and I always know my appointments. What is the word for fear of electronic failure. Please, somebody, coin the word, as that is what I have. Elektrokaputphobia. How’s that?
I love Google Calendar, congratulations on its development! I would like to make a small suggestion: allow a user to input a recurring event (such as a psychotherapy session every Tuesday evening at 7:30 PM). If this already is a feature, please let me know. Thanks again for this winner!
cheers,
mike