Marc Andreessen makes the point in his blog post below that Facebook platform application success (the Holy Grail) is either a very steep high-velocity on-ramp to the fast lane, OR like jumping from cocaine to crack (both metaphors mine, not Andreessen's... I dunno if he would agree with me or not).
I do know one thing. Facebook appeals to me in a way that MySpace NEVER did. You couldn't pay me to go on MySpace, ever. These days, I may not check in on Facebook as often as email (which is ubiquitous, for me, fairly like breathing), but I am starting to FEEL toward my Facebook connections the same way I used to feel toward email (as something to look forward to, rather than a backed-up workload to dread).
Here's some key pithy bits from Andreessen:
Analyzing the Facebook Platform, three weeks in
On May 24, Facebook launched the newest version of the Facebook Platform, a set of application programming interfaces (APIs) and services that allow outside developers to inject new features and content into the Facebook user experience.
In this post, I provide an overview and analysis of the Facebook Plaform and what we have learned about it in the three weeks since it launched.
To start, my personal opinion is that the new Facebook Platform is a dramatic leap forward for the Internet industry.
Veterans of the software industry have, hardcoded into their DNA, the assumption that in any fight between a platform and an application, the platform will always win.
Definitionally, a "platform" is a system that can be reprogrammed and therefore customized by outside developers -- users -- and in that way, adapted to countless needs and niches that the platform's original developers could not have possibly contemplated, much less had time to accommodate.
In contrast, an "application" is a system that cannot be reprogrammed by outside developers. It is a closed environment that does whatever its original developers intended it to do, and nothing more.
The classic example of an application being vanquished by a platform was the Wang word processor versus Microsoft DOS-based personal computers.
Wang word processors -- the application, in this case -- were highly evolved, fantastically successful dedicated word processing systems that owned their market, until the general-purpose PC came along. While the PC at first was inferior at word processing, within a few years of its launch the fact that outside developers had built thousands of applications for it -- like spreadsheets -- that closed Wang word processors could not match, coupled with steadily improving PC-based word processing software like Wordstar, had all but killed the Wang word processor. Wang -- one of the most succcessful technology companies of the 1970's -- went bankrupt not long after.
This is a story whose moral has historically not been embraced by the web industry to nearly the extent one would have thought.
[What's interesting to me, in reflecting on the ancient history of word processors as remembered by Andreessen, was some advice given to me by a brilliant friend years ago, advice I did not take. There isn't a day that goes by that I am not OVERJOYED to have discarded that advice, which, as delivered by my brilliant friend, was so emphatic as to be obvious and brook no argument whatsoever.
Wang word processors were the hot tech tool to have, back in those days, but I couldn't afford one anyway. My brilliant friend was a high school classmate who had taken an eighth grade punch card programming class with me, an after school enrichment thing that was fun, even if we did have to punch out the holes one at a time for this great clacketing monster of a punch card computer at the junior high.
That friend was far better at it than I was. Both of my best friends were. I pretty much sucked at thinking about binary code, math, and programming languages. By high school, another friend and I started playing with a Radio Shack TRS80, laboriously typing in that funny Basic program ELIZA, the computer shrink. Both the punch cards and the Basic typing brought out the dyslexic monster in me, however.
Meanwhile, as my brilliant friend was finishing college with a 4.0 science degree in just three years, I was deeply in lust with the new Macintosh computer, announced for the first time in that historic Super Bowl ad in 1984. I wanted one. I wanted one badly. I talked about it all the time, even to my brilliant friend.
I really didn't need the validation. Both of my parents were deep into Apple II culture, my mom teaching her third graders to program on those machines. I just needed the money. But my friend pooh-poohed me. She said it would be a total waste of time for someone like me to blow my hard-earned money on an expensive computer, when I was was just a writer and photographer anyway. I didn't do REAL stuff on the computer, she meant. Get one of those Wang word processors and be happy for what you have, she said. She basically called me frivolous and said I was falling for a silly marketing campaign. She was so absolute and certain. And she was absolutely wrong.
See, I got my classic Mac, once I could afford it, and my dyslexic brain exploded. Whole new activities and careers unfolded in front of me, aptitudes I didn't know I had. I plunged in and never looked back. Years later, I'd even find myself hanging out with engineers, and loving it.
That silly Wang word processor, glorified typewriter that it was, would have kept me in Vonnegut-imagined (Player Piano) writer/photographer ghetto with all the other mushy thinkers my scientific friend evidently didn't think were deserving of computing power.
So there, Wang. Good riddance. Let's get back to Andreessen.
In a nutshell, the Facebook API enables outside web developers to inject new features and content into the Facebook environment.
After signing up for a developer account on Facebook, the developer writes a web application (in the simplest case, a piece of web content; in the most advanced case, a full fledge web application with deep functionality) and hosts it on her own servers. The developer then registers her application with Facebook, and then users can add that application to their Facebook user experience in several different ways, including within their Facebook profile pages.
Viewed simply, this is a variant on the "embedding" phenomenon that swept MySpace over the last two years, and which Facebook prohibited.
However, what Facebook is now doing is a lot more sophisticated than simply MySpace-style embedding: Facebook is providing a full suite of APIs -- including a network protocol, a database query language, and a text markup language -- that allow third party applications to integrate tightly with the Facebook user experience and database of user and activity information.
And then, on top of that, Facebook is providing a highly viral distribution engine for applications that plug into its platform. As a user, you get notified when your friends start using an application; you can then start using that same application with one click. At which point, all of your friends become aware that you have started using that application, and the cycle continues. The result is that a successful application on Facebook can grow to a million users or more within a couple of weeks of creation.
Metaphorically, Facebook is providing the ease and user attraction of MySpace-style embedding, coupled with the kind of integration you see with Firefox extensions, with the added rocket fuel of automated viral distribution to a huge number of potential users, and the prospect of keeping 100% of any revenue your application can generate.
The leadership that the Facebook team is showing here rivals anything that the large and established software and web companies have done in this decade.
You may also notice the irony of Facebook leapfrogging MySpace on embedding at the same time that MySpace seems to be getting substantially more restrictive, in some cases even shutting down third-party widgets.
[Here's the bit I want to think about the most, how the Facebook Platform creates crack cocaine for developers used to more ambulatory on-ramps to success.]
Fourth, and perhaps most significantly, when your application takes off on Facebook, you are very happy because you have lots of users, and you are very sad because your servers blow up.
Let me explain.
I already described Facebook's viral distribution mechanism by which users became instantly aware of which applications their friends are using, can with one click start using those applications, and automatically spread them to their friends.
This is happening in an environment with 24 million active users -- active users defined as users active on the site in the last 30 days. 50% of active users return to the site daily. 100,000 new users join per day. 45 billion page views per month and growing. 50 million users, and a lot more page views, predicted by the end of 2007.
An application that takes off on Facebook is very quickly adopted by hundreds of thousands, and then millions -- in days! -- and then ultimately tens of millions of users.
Unless you're already operating your own systems at Facebook levels of scale, your servers will promptly explode from all the traffic and you will shortly be sending out an email like this.
"In our first 20 hours of opening doors we had 50,000 users sign up, and it is only accelerating. (10,000 users joined in the first 12 hrs. 10,000 more users in the next 3 hrs. 30,000 more users in the next 5 hrs!!)
We started the system not knowing what to expect, with only 2 servers, but ready with backup. Facebook's rabid userbase chewed up our 2 servers almost instantly. We doubled our capacity to catch up. And then we doubled it again. And again. And again. Oh crap - we ran out of servers!! Although iLike.com has a very healthy level of Web traffic, and even though about half of all the servers in our datacenter were sitting unused, idle, as backup capacity, we are now completely maxed out.
We just emailed everybody we know across over a dozen Bay Area startups, corporations, and venture firms in a desperate plea to find spare servers so we can triple our capacity for the continued onslaught. Tomorrow we are picking up over 100 servers from different companies to have them installed just to handle the weekend's traffic. (For those who responded to our late night pleas, thank you!)"
Yesterday, about two weeks later, ILike announced that they have passed 3 million users on Facebook and are still growing -- at a rate of 300,000 users per day.
They didn't say how many servers they're running, but if you do the math, it has to be in the hundreds and heading into the thousands.
Translation: unless you already have, or are prepared to quickly procure, a 100-500+ server infrastructure and everything associated with it -- networking gear, storage gear, ISP interconnetions, monitoring systems, firewalls, load balancers, provisioning systems, etc. -- and a killer operations team, launching a successful Facebook application may well be a self-defeating proposition.
This is a "success kills" scenario -- the good news is you're successful, the bad news is you're flat on your back from what amounts to a self-inflicted denial of service attack, unless you have the money and time and knowledge to tackle the resulting scale challenges.
Will every Facebook application go through this?
No, of course not. The ones that nobody uses will not have this problem.
But the successful ones all will.