Skip to main content

How I almost killed Facebook

It is a little-known fact that I nearly killed Facebook before it started.

At least, that's what I like to think. Though, perhaps it was inevitable that Facebook would have happened despite my attempted interference. I should make it clear that I'm a huge fan of Facebook and am, well, kind of addicted to it. But imagine how different the world might have been...

You see, back in 2004, Mark Zuckerberg was a student in my Operating Systems course (the much-feared and oft-maligned CS161, widely known as one of the more challenging courses at Harvard). Zuck was one of those students who pretty much nailed the course material without my having to teach it to him; this trait often goes hand-in-hand with having plenty of, shall we say, extracurricular interests and as a result he was not coming to lectures very regularly. At one point I called him to my office to find out where he had been, since class participation (by which I roughly mean, coming to lecture and not falling asleep) is part of the course grade.

Zuck explained that he was very busy starting a new social networking website called Facebook. Besides, he had also been in some trouble with the University for appropriating the digital database of student photo IDs and putting up a kind of "hot-or-not" site where visitors rated the relative attractiveness two randomly-selected pictures. (I like to think that I taught Zuck something about how to implement that in an efficient and deadlock-free manner, but that would no doubt be giving myself too much credit.)

Of course, at that time I thought that social networking sites were a complete waste of time -- both for the users and those developing the sites -- so I earnestly tried to talk Mark out of squandering his precious Harvard education on such a frivolous endeavor. "You think you're going to compete against Friendster and Orkut?" was the general outline of my argument. There were already too many social networking sites out there, I claimed, and building yet another one was clearly a waste of time. After all, didn't he want to graduate? And make an A in CS161 while he was at it?

Zuck was -- remarkably! -- unphased by this line of thinking and went ahead and built Facebook, and just to prove how useless everything we teach about efficiency and careful software design in CS161 really is, he implemented it in PHP. And it worked. Oh yeah, and he managed to grow the site to over 175 million users. So clearly I know pretty much zip when it comes to figuring out what a good startup business strategy is going to be, which explains why I should remain safely ensconced in my office at Harvard.

I want to take a little credit for one aspect of Facebook, though. At a later meeting (after Zuck had left Harvard and gone off to raise millions in capital) we were talking about the future of Facebook and I suggested to him that they really needed to find a way to get people to login to the site regularly. With most social networking sites, you sign up, add your few dozen friends, and maybe for one or two weeks get a kick out of messaging them as they join your friend list. But after that, there's little or no reason to keep returning to the site -- as a result your profile just stagnates. Well, wouldn't you know it -- a few months later Facebook came out with the News Feed feature which shows you what all of your friends are up on on an up-to-the-minute basis. Pure genius! Had I only thought to patent the idea before Mark got his grubby hands on it I would be a very rich (and far less grumpy) man right now.

Ah well. It is, after all, my firmly held conviction that the goal of academia is to broadly disseminate good ideas for others to exploit. All I really need to do is keep publishing papers, and I don't care how many millions that News Feed is worth, it ain't good enough to get into SOSP. Right?

One last thought. If, by any chance, you are thinking about forming your own startup, by all means come talk to me first, and do exactly the opposite of what I tell you. Guaranteed success!

(Update 2/26/09: Some of those commenting here seem to have missed the intended irony of this post. In response to one of the comments, yes, I did in fact invent the Internet. As it turns out, I am also responsible for many other features of Facebook, including the ability to link to your friends, set your status, post photos, and of course -- my favorite feature by far -- superpoke. These were all originally my ideas and I hope you have enjoyed using them during your own Facebook experience. Thanks for giving me the opportunity to clarify!)


  1. this is hilarious. reminds me of when i first saw the web. my reaction was: ftp + mouse. so what?

  2. The newsfeed idea actually originated in conversations between Sean Parker and AOL for their partnership with FB (for status updates).

  3. If you can do, if you can't teach.

  4. If you can't teach, do.

  5. Great story. It's little known that Stanford students were developing a "Facebook" back in '99. However, unlike Zuck they didn't survive the legal threats brought down on them by the university.

    Original Stanford Daily article:

  6. Ya, Stanford and ton of others. The only reason Facebook took off the way it did was because first, Geocities didn't connect people, it connected pages. Then, along came MySpace and they let people have too much control (scary pages). Then came Facebook, a dictator who feed their populous what they wanted and kept up a good appearance.

    Right place at the right time is all. Even if Geocities did try it way back then the Internet's user base still would've preferred anonymity.

    Im sorry, but Zuckerberg did nothing innovative. It's still C.R.U.D. like the rest of the net.

  7. Takes the ideas guy and entrepreneur to build the basics to the point where it takes off. Then you need those quality programming graduates to make it efficient, to scale, etc. You need both to succeed to this level.

    That said, first guy gets rich sometimes while the commodity programmers just have jobs.

  8. I wouldn't say get rich. 175m users and they still can't make money. Unless they sell to a big corp, I don't see how you keep 175m people online.

  9. Unfazed, not unphased. :)

  10. Mark was also in CS91r at the time, as recounted here:

  11. Thanks, Matt. The status update is my favourite thing about Facebook.

  12. Are you really taking credit for the newsfeed page because, "I suggested to him that they really needed to find a way to get people to login to the site regularly."? Jeez, did you also invent the internet?

  13. If you can punctuate, please do.

  14. I hesitated between teaching and starting a company. I'm glad you and a few hundred essays ot read were here to point me in the right direction. I'll hope all my life that my mext paper wasn't about a new form of energy.

    Will remain anonmous

  15. ha. too bad you didn't teach UI usability. i'd take a few deadlocks if i could just figure out how to navigate that damn thing.

  16. I wonder if Zuck knew about the Stanford Facebook from 1999? If so, the claims the Winkelvoss twins used to sue him are pretty bogus. the whole story is here:

  17. This comment has been removed by a blog administrator.

  18. Great story. I believe in addition to intellect which Zuck had tons of, what made him this successful is his courage to take risks and make his way out of the sticky 'privacy' issues that FB has been facing for a long time now.

  19. I've heard the story of Feed straight from Chris Cox, who was hired specifically to create it. I'm quite sure Zuck had thought of it more than "several months" before its launch.


Post a Comment

Popular posts from this blog

Why I'm leaving Harvard

The word is out that I have decided to resign my tenured faculty job at Harvard to remain at Google. Obviously this will be a big change in my career, and one that I have spent a tremendous amount of time mulling over the last few months.

Rather than let rumors spread about the reasons for my move, I think I should be pretty direct in explaining my thinking here.

I should say first of all that I'm not leaving because of any problems with Harvard. On the contrary, I love Harvard, and will miss it a lot. The computer science faculty are absolutely top-notch, and the students are the best a professor could ever hope to work with. It is a fantastic environment, very supportive, and full of great people. They were crazy enough to give me tenure, and I feel no small pang of guilt for leaving now. I joined Harvard because it offered the opportunity to make a big impact on a great department at an important school, and I have no regrets about my decision to go there eight years ago. But m…

Rewriting a large production system in Go

My team at Google is wrapping up an effort to rewrite a large production system (almost) entirely in Go. I say "almost" because one component of the system -- a library for transcoding between image formats -- works perfectly well in C++, so we decided to leave it as-is. But the rest of the system is 100% Go, not just wrappers to existing modules in C++ or another language. It's been a fun experience and I thought I'd share some lessons learned.

Why rewrite?

The first question we must answer is why we considered a rewrite in the first place. When we started this project, we adopted an existing C++ based system, which had been developed over the course of a couple of years by two of our sister teams at Google. It's a good system and does its job remarkably well. However, it has been used in several different projects with vastly different goals, leading to a nontrivial accretion of cruft. Over time, it became apparent that for us to continue to innovate rapidly wo…

Running a software team at Google

I'm often asked what my job is like at Google since I left academia. I guess going from tenured professor to software engineer sounds like a big step down. Job titles aside, I'm much happier and more productive in my new role than I was in the 8 years at Harvard, though there are actually a lot of similarities between being a professor and running a software team.

I lead a team at Google's Seattle office which is responsible for a range of projects in the mobile web performance area (for more background on my team's work see my earlier blog post on the topic). One of our projects is the recently-announced data compression proxy support in Chrome Mobile. We also work on the PageSpeed suite of technologies, specifically focusing on mobile web optimization, as well as a bunch of other cool stuff that I can't talk about just yet.

My official job title is just "software engineer," which is the most common (and coveted) role at Google. (I say "coveted&quo…