Thursday, September 14, 2006

Building Google Calendar

Rakesh Agrawal posts detailed notes on a talk by Google PM Carl Sjogreen on how Google built Google Calendar.

My favorite tidbits mostly were in the lessons learned at the end:
Easy is the most important feature.

Always have an eye on the minimum useful feature set that most people will use.

Go talk to "real" customers .... Talk to grandma.

Focus on what the web can do that paper can't: collaboration, access from anywhere.
Well worth reading.

[Found via Philipp Lenssen]


Anonymous said...

At the risk of being the usual detractor: I find it interesting that the main thing they learned from the study is, essentially, the same bias they went with into the study: "Easy is the most important feature".

I guess I just don't understand Google's obsession with oversimplification. Well, I understand where it came from. It came from their search box web interface. That brought them so much success that I think they believe every other task in the history and future of computing needs to be done this way, too.

But I still don't see why you/they/etc. are so against the "right tool for the right job" approach. I mean, think about Adobe Photoshop. Easy is not the most important feature. Powerful is the most important feature. Photoshop is a bear to use. Masks, layers, filters, blending, slices.. it is all very confusing. But once you understand it, you can do absolutely amazing things.. things that no algorithm could ever do. Again, powerful is more important than easy. In this particular case.

I guess what I am having the hardest time with is understanding who Google's user really is. Maybe easy really is the most important feature, for a certain subset of customers. But then why are they talking to Grandma? I don't know about you, but my Grandma's calendar consists of a whiteboard with 30 boxes, laid out in 7 columns. It is attached to the fridge. If she has a doctor appointment, or a grandkid with a birthday, she just writes it on the whiteboard.

My grandmother is not technologically unsavvy. She does email. She plays online card games with her friends. Uses IM. etc. But when you talk about her calendar needs, she is more than fulfilled with her whiteboard.

And therein, for me, lies the paradox. If Google wants to keep it easy for grandma, well... grandma has it as easy as humanly possible without ever booting up her computer. It would actually be less easy to have to boot up, log in (she's still on dialup), and go to Google every time she wanted to use the calendar. The easiest solution is just to use the whiteboard.

Like said, the right tool for the right job.

But if Google isn't targetting grandma, then whom? The busy exec or jetsetting salesperson already has a crackberry. The rest of the professional world tied to their desktops already use Outlook. I think their needs are pretty much met, at least as much as they really care about them being met.

And the grandmas of the world have their needs met on the front of their fridge.

So, keep it easy... for whom? The professional user needs powerful tools (e.g. the photoshop example). The rogue amateur (grandma) doesn't need the computer to accomplish her calendering goals.

So who is Google's audience?

Greg Linden said...

Ah, right, you have a good point here, but I wouldn't take the "grandma" line quite this literally.

I think Google Calendar is targeting the casual user who could benefit from sharing.

One thing that paper calendars don't do well is help you see someone else's schedule and combine your schedules. Another thing is access from anywhere, away from your desk or on the road.

My wife used a paper calendar until recently. I used Outlook. We switched to Google Calendar to be able to view and combine our schedules from anywhere.

Now, I may be a geek, but she definitely is not. She is the kind of person who only uses technology when it is easy and saves her time.

I was thinking this case is pretty common. Do you agree? Are there a lot of people with simple collaboration needs who would benefit from a web-based calendar?

Anonymous said...

I think Google Calendar is targeting the casual user who could benefit from sharing.

I have heard Google say this. But I still do not know who these casual users actually are.

Like your wife, my wife is also definitely not a geek. She still does use paper, too. But we have found that, like my grandmother, the best way to coordinate our schedules is with a whiteboard calendar on the front of the fridge.

Think about it. The whiteboard calendar is a very simple IO device. It is in one of the most frequently accessed locations in our home, ensuring that it will be "visited" often and updates made by one user of the system will be seen by the other. It does not require a lot of overhead, in terms of network connection or even a computer.

I suppose one disadvantange is that it cannot be accessed remotely. If I am going to be home late from work today, I cannot update the calendar from work, and have it show up on the fridge whiteboard. But in cases like that, I usually just call my wife, and let her know I'll be home late. A calendar for that is overkill.

But other than that drawback, I cannot see how Google calendar provides a better solution than our current one. Not just equal. But better, so that there is incentive to switch.

So I agree with you that husband/wife/family coordination is fairly common. However, the family situation is also characterized by centralized living arrangements, and that often obviates the need for distributed (i.e. online) solutions.

So what other situations do people have, in which "calendrical" coordination is necessary, physical proximity of the team is distributed, and people have constant or at least regular access to a network connection? I am really having a hard time coming up with such situations.

That presentation you watched.. did the Google engineer specifically identify a common use or user of the system?

Actually, I have one more idea as to how it might be used. In grad school I was on a summer softball team. At the beginning of the season the whole team got the schedule, but because of rain, games would often have to be rescheduled. Being able to have those changes automatically show up on my calendar would be very nice.

However, this is one and only one usage scenario. There is a certain amount of overhead with getting everyone on Google accounts, getting everyone to check their calendar regularly, etc. If softball is the one and only one item someone would ever use this for, it seems hardly worth the trouble of going through the whole Google process. Very heavy. Not simple at all. Not lightweight.

It would almost be easier at that point just for one person on the team (captain) to host a wiki on his/her web page, and update that page as necessary. No need to build a full calendar app around it... even an app as simple and lightweight on features as a Google-style app, y'know what I mean?

So to answer your question: "Are there a lot of people with simple collaboration needs who would benefit from a web-based calendar?"

At this point, I don't think there are a lot of these people. When there are situations here and there that occasionally require lightweight, collaborative calendering like this, a simple wiki page might suffice. "Check the web page" for softball schedule updates. Perhaps even a wiki with an wysiwyg interface, for grandma, and then lightweight xml microformats, so that all I have to do is point Outlook or my Palm OS calendar app to that page, and it automatically extracts (and updates, as that page updates) all the relevant date information, and adds it to my calendar.

That way, for people who do use a calendar on a regular basis, no matter whose calendar, the data is readily, easily, automatically available. No Google account required. And for those who don't want to use a calendar, they can still get the info through the wiki page.

I dunno.. I remain unconvinced. And I fail to see what this all has to do with Google's search mission. There are so many more interesting problems Google could be solving with its 2000 phds.. content-based video and image search. Scanned sheet music search. Etc. This whole calendar thing just seems like.. well.. a poor utilization of resources.

Greg Linden said...

I fail to see what this all has to do with Google's search mission. There are so many more interesting problems Google could be solving ...

I pretty much agree with you here. I do think that Google should be spending all of its time on search and advertising (like Amazon should be spending its time on online shopping) and that all this other stuff is a distraction.

On the other hand, there are a few reasons to think this is not a particular wasteful or costly distraction.

First, the team appears to be quite small (4 people involved) and most people at Google do seem to be working on their core of search and advertising.

Second, products like this do seem to create some value, both in direct ad revenue (Gmail is rumored to already be paying for itself in ad revenue) and in indirect effects like keeping Google users on Google.

Finally, it seems to create a costly distraction for competitors (e.g. the 2G limit on GMail accounts may cost a lot more for Microsoft and Yahoo, with their bigger market share, to match than for Google to support).

Anonymous said...

If it really does take up only four people, then yes, it might not be that costly.

But I guess it is the totality of what I see. This is just one of hundreds of little four-person "startups" inside Google. And if this is actually one of the breakout products, one that made it out of the labs and into the raging torrent of the blogosphere, what the heck are they doing with the other couple hundred projects? Are the rest even tinier and less useful than this one?

I think I agree with you that it might actually create some small value for some small population. I've yet to understand who these people actually are, and what it is they are actually doing to really derive value from it. But I'll grant that they're out there.

Yet even if a couple of these people exist, when you look at the totality of little Google projects like this one, it really starts feeling like feature-creep.. on a massive systemic level. One project might not be a resource hog, but the other couple hundred, combined, are.

Remember a couple months ago we had a discussion about MS Word? You didn't like it because it was bloated and didn't do "one task really well". I don't particularly love it, either, but overall don't really mind it, because I've learned how to just use the features I need to use. When I can, I use Latex. But Word doesn't phase me.

Well, let's liken the whole Google services experience to MS Word. Take the entirety of Google as a single "web application", an application whose purpose is to help me organize my interaction with all the world's information. Well, then it starts to feel like Google Calendar is just another bloated Word feature, a menu item, another shortcut button. There will be some small number of people that use the Word feature, just like there will be a small number of people that use the Calendar feature. But most of us, most of the time, really don't and won't. Most of us on Google will, like with Word, stick with those main features that we need to use to get us through the day.

I mean, what's the difference really? Why is Word bad, and Google good? Because Google hides all the rich functionality for you, behind a clean interface? Turn a couple of those button shortcuts into buried menu items, and Word would be the same thing.

Oh, and as far as being a costly distraction for competitors.. I don't know if you're right or wrong about that, but consider the consequences of being right. That means that with all these little projects, Google is going against its motto of focusing on the user, and letting everything else follow. Instead, the primary purpose of the little project is to disrupt the competitor. Or build the wall around the Google garden one brick higher (by making everyone have Google accounts to log in to a shared calendar, rather than just letting one Google user post calendar microformat events on that person's Google hosted page)...and letting Outlook users scrape the info.

In the 90s Microsoft had vaporware as a way of staving off competitors. Google now has spongeware. Little Word-like feature creeps whose real purpose it is to try and soak up excess energy, time and resources of potential competitors. And of all the rest of us that spend our time reading and writing about all these little spongewares.

Ok, that is enough criticism for one day. Really, I expend all this energy because, as we talked about before, I just want to see them do a better job at their core purpose. I think all these little projects are just silly. I'd rather they dedicate a large, 200-person team to some really difficult problem like content-based video search, and really go somewhere with the project. Instead, they piddle away their time with 50 four-person projects, none of which really amount to anything. I really don't understand their approach.