It wasn't a secret that I went to last night's Facebook Hackathon @ Union Square Ventures as a skeptic and a cynic toward the Facebook Platform. And as always happens to skeptics and cynics when they learn more about a phenomenon, I definitely gained some clarity on the issue of developing applications on the Facebook Platform. I'll use some of that clarity here, in outlining my guide to developers making, or thinking about making, Facebook applications:
Ask yourself: Is this a Facebook App or YourApp on Facebook?
It's an important question: Are you developing an extension of your app on the Facebook Platform, or are you developing an application which solely exists within Facebook?
If you're developing an extension of your application on the Facebook Platform, there are two kinds of apps you can be:
1. YourFacebookApp as a Viral Ad for YourRealApp (i.e. no real functionality on Facebook, other than to show off your real application and give your fans a way of spreading the word about your service).
In this scenario, your objective is to get as many people as possible to leave Facebook, do whatever it is your users do on yoursite.com, and then come back to Facebook and spread the word. At last night's NY Facebook Hackathon, it was clear that several of the more popular facebook apps are of this variety. I say "good for you" to these folks, but don't call yourself a Facebook App, and don't call yourselves Facebook Developers. Your work will be simple and whether or not it's worthwhile isn't that big of a deal.
2. If its not YourApp on Facebook, and you're truly developing a Facebook Appliation, then what kind of application are you going to be? A quick and dirty mash-up, the 10th crazy-poke or crazy-gift app of the day, or something with some real depth?
Of all the Facebook Applications out there, simple mash-ups, crazy-poke, and crazy-gift apps -- those built in short order and utilizing the basic functionality provided by the platform itself -- are either tied for first place with YourApp on Facebook in number implemented, or in first place. What we don't see on Facebook yet are the rich applications the Internet as a platform is becoming so well known for. Okay, so you made a to-do list application, but where's the functionality where it shows people who have to do the same thing? It's not there... why? Because the Facebook Platform doesn't allow you to reach outside your friend network to find people with similarities in that application, or find similar to-dos in lists on other "to-do" applications, of which there are several.
Of course I'm using the to-do list example as a model to ask these questions (which you must ask yourself): Can you really develop a rich internet application as a Facebook application? What does a "Rich Facebook Application" look like? And what rules are Facebook imposing on developers that stifle innovation?
More on this in a moment, but first let's talk about business models, because it actually focuses us on the real problems more acutely:
Pick a Business Model for Facebook Apps (and don't talk to me about banners)
There are two ways to make money with Facebook Applications, if what you have is truly a Facebook Application (and not YourApp on Facebook).
Why do I say "don't talk to me about banners"? Let's assume for a moment that Facebook is in the business of selling advertising. Some may say that they're in the business of changing the Internet (and thus the world) -- and smarter people would point out that they'll be able to employ those two principals of business above whenever they want -- but for now, let's say they're in the business of selling advertising.
So now you go and try to sell advertising. At this point you can't put ads on profile widgets (where most of the eyeballs are), so instead you put advertising on your application page. Great. How many pageviews are you going to get? Will the best of the best applications get 2,000,000 pageviews a month on the application page? Let's try that. What's your CPM going to be? A high $1 CPM for not-so-targeted ads? Great, you're the best app on Facebook and earning $2,000 a month. That doesn't even make payroll for one person...
While a handful of applications may prove this back-of-envelope calculation wrong, the chances of a real industry appearing from this model are low. Think about the real Internet for a moment, and how many real Internet only companies can exist on advertising alone? It's significant, but divide that number by the portion of Internet traffic Facebook enjoys, and it's not enough to support an industry of Facebook-only/advertising-only companies.
So you're left with real business models.
The first I mention is "to cause a transaction." What does this mean? Quite simply, you need to make your application the middle-man in the exchange of money. Whether it's by implementing an affiliate program (see: Amazin' Wishlist) or by getting Facebook users paid for doing services through your application (my ideal Facebook app would be a Mechanical Turk integration). However you do it, if you can cause a transaction and stand in the middle of it, you can make money. Also falling into this category is My Bucks, which, by creating an un-official Facebook currency, has the potential of standing in the middle of transactions in the future.
The second business model I mention is actually the real test of the Facebook Platform itself. I've already covered in the first half of this post, so you know I'm talking about creating a Rich Facebook Applications, much like people are creating Rich Internet Applications. How "rich" does your Facebook Application have to be? Rich enough to get people to pay for your services (a la Basecamp, Typepad, Plaxo, etc).
So here's the catch: If you're making a Rich Facebook Application, you're doing it because you want functionality which can only be found on Facebook (otherwise you'd just make YourApp.com, and then make a YourApp on Facebook, which is fine, but not what we're talking about here). So, if you're making a real Facebook Application, with real Facebook specific functionality that is creating real value for your users (thus encouraging them to pay for your services), then here's the catch:
The catch is that you're now developing an application where there are rules that can't be broken. Developing on the Internet, you can make truly revolutionary things happen by looking two or five years out and imaging what can be done with the Internet as the Platform. There are no rules there, so it's all about your imagination and ability to execute.
However, as a Facebook Application developer, you can never look 3 or 5 years out and imagine, because the rules will always be dictated to you: How you contact your users; how they interact with each other through your application; how they interact with your application. All of this is left out of your hands, and instead of spending time trying to figure out how to innovate, you're left spending time trying to get around barriers, and not getting caught, and then adapting to new barriers.
Innovation is not adaptation.
I think there are many opportunities for making money on the Facebook Platform, but I think most of that opportunity is for Facebook, Inc. rather than for the brains who are developing on their platform. For those who want to develop for Facebook, I just hope you are comfortable having the rules of the game dictated to you, because for true innovators, that's not a comfortable situation to invest yourself into.