Now that you know a little about Facebook Platform and the opportunity it represents, you may well be asking yourself what skills you’ll need in order to take advantage of it. Facebook maintains an excellent high-level view of Platform on its Developers site (http://developers.facebook.com), as well as a wiki with the nitty-gritty details of Platform (API calls, FBML tags, FBJS, FQL tables, Platform Policy, etc.) along with user-contributed content (http://wiki.developers.facebook.com), but neither of these really covers the basics. Whether you’re assembling a team to develop apps or you’re going to bravely tackle it single-handedly, you’re going to want:
As you’ll see in the coming chapters, your application actually lives on your server, rather than being hosted by Facebook. This gives you a huge amount of flexibility in terms of how you architect and develop your backend, but it can give you equally huge hosting bills if you’re not careful. If you’re aiming to build a very successful application, you’ll want to make sure you have some knowledge of industry best practices related to scaling and database design, as well as code optimization and server setup. We’ll cover backend issues in Chapters 5 and 9.
The very early days of Facebook Platform were marked by an incandescent sense of optimism, as we watched applications such as Slide’s Top Friends chart a meteoric rise toward millions of users in a matter of weeks. There was a pervasive sense of “if you build it, they will come” echoing among the cornfields of early developers as they leapt at the chance to mow them down and build baseball diamonds. However, it turns out that really does only work in the movies. Now that Platform has somewhat settled and Facebook has established more realistic rules around inviting friends to apps (which are much more focused—and rightly so—on protecting users from tidal waves of invitations at every login), it has become a widely acknowledged truth that successful application developers will need to spend some serious time on:
Defined as “the capacity for or the act of forming or entertaining ideas.” A lot of people lump “ideation” in with “synergy” as equally useless marketing terms, but both have very long histories that considerably predate our modern tech industry (the terms were first cited in 1818 and 1660, respectively, according to Merriam-Webster). Ideation, in the context of Facebook applications, means coming up with an original idea or twist on an idea. We’ll cover this, plus strategy, in Chapter 2.
Defined as “a careful plan or method.” In the context of your illustrious future career as a Facebook application tycoon, strategy refers to how you plan to approach integration with Facebook Platform’s myriad integration points, and the strategy you will use to spread your application.
People often confuse marketing and selling, which are usually two sides of the same coin. For our purposes (and often in the world outside of Facebook), marketing is building demand for your service or product, whereas selling is satisfying that demand by exchanging your service or product for cold, hard currency. A whole world of application marketing is blooming alongside the world of application development, and we’ll explore a bunch of those opportunities in Chapter 10.