Skills to Pay the Bills

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:

Frontend skills

The requirements here, as with the other realms we’ll look at in a moment, are basically the same as if you were building a traditional website. A solid knowledge of HTML or XHTML is key, as is a good understanding of CSS. Although some of your HTML will be replaced with FBML, you still need to be able to build the structure around those tags and understand how they work. You’ll want to have wrapped your head around JavaScript and Ajax if you’re going to do any dynamic interface elements, as well as Adobe Flash or Microsoft Silverlight if you want to do any animations, audio, video, etc. Keep in mind that the only officially supported client library for Facebook is PHP (4 and 5), so you’ll need at least some level of familiarity with that language if you’re going to integrate directly with the Facebook API (as opposed to relying entirely on FBML) or with your own backend. We’ll cover these topics largely in Chapters 6 and 7.

Backend skills

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.

Ideation, strategy, and marketing

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:

Ideation

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.

Strategy

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.

Marketing

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.

Get Facebook Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.