Seb Paquet sent me a link to Delusions of Facebook – Should you be a Facebook Startup? I am immediately reminded of McLuhan.
When Microsoft Windows came along, many people only noticed the obvious. Windows made it easy to build a good-looking application. Microsoft offered a standard API which was usable. Microsoft Windows was used by millions of people. What a great platform for a business! However, a lot of good companies (such as Netscape, Word Perfect, Novell, Stacker, Lotus) were crushed by Microsoft because they tried hard to complement what Microsoft was offering. These companies were often not bought, just made irrelevant. Microsoft destroyed the software industry over time and few people beyond Microsoft benefited from it.
One tragic mistake some people have made is to assume you can simply move to a new platform when the time comes. The mere fact that you use Microsoft Windows this year does not preclude you to support MacOS next year, does it? But platform-dependence builds up while you are not watching and is a lot more insidious than one might think. I am not even talking about the fact that your users are on one specific platform: these are business concerns. You grow a lot of technological dependencies toward a platform without ever realizing it. Anyone who has switched from Windows to Linux, or from Linux to MacOS or from Windows to MacOS has some idea of these hard-to-describe dependencies. And over time, once you have adopted a new platform, you just work differently.
There was a large number of companies in the Unix/DOS era who just assume they could port their stuff to Windows. Most failed. Meanwhile, Oracle made platform-independence a requirement for their software from the get-go. They are still around and going strong. (Ironically, they try hard to lock their own customers into their own software.)
Then the web arrived. Again, several companies from the desktop era try to adapt themselves to the web… most failed. Even Microsoft has a very hard time adapting. And the giant of today (Yahoo!, Google…) did not even exist in the desktop-era.
So, if all you build is a facebook application, it is what you are. Even if, in theory, you can recast your technology as something else, using a new platform, it does not make it practical. If facebook makes your application irrelevant, or breaks it in some way, your company may very well die on the spot.
And, you know what, this is a great thing sometimes. As a researcher with an interest in applications, I know I will be busy for years to come.