Rakesh Agrawal’s Blog

September 14, 2006

The road to Google Calendar (talk by Carl Sjogreen of Google)

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

  1. Moved a lot of desktop metaphors and moved them to the web. Invested a lot in this.
  2. Also invested a lot in natural language (quickadd)
  3. 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?

42 Comments

  1. “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???

    Comment by Dave — September 14, 2006 @ 3:27 pm

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

    Comment by Hashim — September 14, 2006 @ 3:40 pm

  3. Thanks for sharing these, Rakesh. Very interesting.

    Comment by Greg Linden — September 14, 2006 @ 4:48 pm

  4. Intriguing! An excellent insight into how Google develops great products with tiny teams. Hats off to you guys, for a life changing product :)

    Comment by Randhir Reddy — September 14, 2006 @ 5:21 pm

  5. 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…

    Comment by barbara trumpinski-roberts — September 14, 2006 @ 5:39 pm

  6. Thank-you!

    Comment by Doug Karr — September 14, 2006 @ 5:49 pm

  7. 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, joe@abc.corp.com

    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.

    Comment by Josue — September 14, 2006 @ 5:51 pm

  8. 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, joe@abc.corp.com

    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.

    Comment by Josue — September 14, 2006 @ 5:52 pm

  9. When will we have an outlook plugin to allow for seemless sync?

    Comment by franck — September 14, 2006 @ 7:41 pm

  10. Excellent summary Rakesh. Thanks !

    Brij

    Comment by Brij — September 14, 2006 @ 8:35 pm

  11. 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”.

    Comment by bitguts — September 14, 2006 @ 10:52 pm

  12. [...] The road to Google Calendar (talk by Carl Sjogreen of Google) [...]

    Pingback by Como o google calendar foi criado « Felipe’s Journal — September 15, 2006 @ 2:45 am

  13. [...] Rakesh Agrawals Blog The road to Google Calendar (talk by Carl Sjogreen of Google) [...]

    Pingback by The sailors found the Taranteens around the raft, and pushing it - Funkmb — September 15, 2006 @ 5:06 am

  14. [...] Rakesh Agrawal has extensive notes on a talk Carl Sjogreen gave explaining how Google built Google Calendar. It gives a few interesting glimpses into Google’s software development culture. Google apprently built it because, at the time, it seemed like nothing out there had it “right”. [...]

    Pingback by » A Look At Google’s Development Philosophy, Through Google Calendar » InsideGoogle » part of the Blog News Channel — September 15, 2006 @ 6:22 am

  15. [...] Interesante lista de puntos sobre el cómo se hizo el Google Calendar. Quizá haya que destacar lo siguiente: [...]

    Pingback by Cómo se hizo el Google Calendar — September 15, 2006 @ 10:54 am

  16. [...] Interesante lista de puntos sobre el cómo se hizo el Google Calendar. Quizá haya que destacar lo siguiente: [...]

    Pingback by Buscadores en Internet » Archivo del weblog » Cómo se hizo el Google Calendar — September 15, 2006 @ 10:56 am

  17. [...] Rakesh Agrawal’s Blog » The road to Google Calendar (talk by Carl Sjogreen of Google) Details on the evolution of Google Calendar (tags: productmanagement innovation google) [...]

    Pingback by links for 2006-09-15 « mad dog in the fog — September 15, 2006 @ 11:39 am

  18. [...] O Carl Sjogreen, Product Manager da Google deu uma palestra sobre o processo de criação do Google Calendar. Rakesh Agrawal teve a bondade de transcrever em um post do blog dele. [...]

    Pingback by tellEsfera - A Esfera do Telles » Blog Archive » A criação do Google Calendar — September 15, 2006 @ 12:43 pm

  19. They thought simple

    Comment by Suresh S — September 15, 2006 @ 1:05 pm

  20. [...] Best Presentation: Carl Sjogreen – How We Built Google Calendar (great verbatim notes here). The best presentation of the event IMO. Carl did a fine job of driving home the value of iterative development and design balanced against the unfortunate (and all to widely celebrated and endorsed) notion of shipping fast and often regardless of whether your product is actually ready. No big takeaways (I’ve been doing this software building-and-shipping thing for quite a long time now) but great reinforcement and validation of some essential concepts. [...]

    Pingback by » Random thoughts on The Future of Web Apps event | Office Evolution | ZDNet.com — September 15, 2006 @ 3:36 pm

  21. [...] Here is a good blog post on “The Road to Google Calendar” by Rakesh Agrawal of SnapStream. [...]

    Pingback by The making of Google Calendar at RAJESH SEGU — September 16, 2006 @ 6:45 am

  22. [...] There’s a lot of great stuff in there, so just read it and enjoy. [...]

    Pingback by Puffskull » Late breaking news — September 17, 2006 @ 5:24 am

  23. [...] There’s a lot of great stuff in there, so just read it and enjoy. [...]

    Pingback by Twitbummuck » Late breaking news — September 17, 2006 @ 5:27 am

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

    Comment by Paul — September 17, 2006 @ 8:58 am

  25. [...] Rakesh Agrawal’s Blog » The road to Google Calendar (talk by Carl Sjogreen of Google) 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 throug (tags: google calendar ux) [...]

    Pingback by Garçon aka Martin Kopta » Blog Archive » links for 2006-09-17 — September 17, 2006 @ 11:27 pm

  26. [...] Cal Sjogreen of Google Calendar (basically a walkthrough of the process, from vision to launch, that lead to Google Calendar being created). [...]

    Pingback by Rakesh Agrawal’s Blog » Summarizing last week’s trip to ‘Future of Web Apps’ event — September 18, 2006 @ 3:40 am

  27. [...] Rakesh Agrawal’s Blog » The road to Google Calendar (talk by Carl Sjogreen of Google) (tags: google) [...]

    Pingback by margus.vaino » Blog Archive » links for 2006-09-19 — September 19, 2006 @ 12:23 am

  28. [...] Rakesh Agrawal presents an interesting summary of a talk by Carl Sjogreen describing Google’s approach to the software development process. [...]

    Pingback by Google’s approach to software development « Andy C — September 20, 2006 @ 11:47 am

  29. [...] Every fall, it seems like the conference schedule shifts into high gear after the lazy days of summer. This season, we have a busy schedule of events ahead of us. Richard Lusk and I attended the Future of Web Apps summit a couple of weeks ago and saw some interesting presentations from an assortment of people who shared lessons learned and ideas about the future of online application development. Two of the highlights, for me, were the presentations by Carl Sjogreen of Google about how the Google Calendar was built (notes here) and Tom Coates of Yahoo! who gave a talk titled, Greater Than The Sum of its Parts, about social networking. [...]

    Pingback by foldera - blog » Blog Archive » It’s Fall and conferences are springing up all over — September 24, 2006 @ 11:28 pm

  30. [...] Despite all the negative feedback Google toys have got upon their launch, including my own bi*ching, It surprises me that I still use this powerful tool. Perhaps I underestimated it because of its childish looks, perhaps I simply never used a calendar before, perhaps it was just too well engineered. Read the whole story below. Rakesh Agrawal’s Blog » The road to Google Calendar (talk by Carl Sjogreen of Google) http://rake.sh/blog/2006/09/14/the-road-to-google-calendar/ [...]

    Pingback by Google Calendar vs The Internet « Mihai Gheza — September 30, 2006 @ 3:12 pm

  31. [...] The road to Google Calendar (talk by Carl Sjogreen of Google) [...]

    Pingback by schiller.cc » Blog Archive » The road to Google Calendar (talk by Carl Sjogreen of Google) — October 17, 2006 @ 4:00 pm

  32. [...] Rakesh; Google Calendar Stumble it! TrackBack URI | digg it [...]

    Pingback by netZoo ~ WOOZradio » Future of Web Apps Summit Podcasts — October 18, 2006 @ 3:39 pm

  33. [...] The road to Google Calendar (talk by Carl Sjogreen of Google) [...]

    Pingback by MondoBlog » Blog » Google World - Num 7 — January 26, 2007 @ 11:03 pm

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

    Comment by Jhun — January 27, 2007 @ 10:12 am

  35. [...] I love google calendar and Rakesh has a post about its making. [...]

    Pingback by Vinod Live! » on The Making of Google Calendar ! — February 13, 2007 @ 6:05 pm

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

    Comment by GuillaumeB — March 23, 2007 @ 5:33 pm

  37. You have very interesting site!
    Respect you!
    http://louisellipsehandbag.iespana.es

    Comment by John — July 4, 2007 @ 6:14 am

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

    Comment by malvin — July 19, 2007 @ 7:41 pm

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

    Comment by John — August 8, 2007 @ 8:20 pm

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

    Comment by Rajat Dev — March 5, 2008 @ 5:23 am

  41. 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?

    Comment by Amyobus Key — April 28, 2008 @ 2:36 am

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

    Comment by Michael Christian — November 1, 2008 @ 4:40 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress