Hearing about the latest and greatest Facebook application reminds me of reading FastCompany or Business 2.0, before it went bust. The typical story goes like this – a couple of ninja developers spend every waking moment for a year coding up the Web’s next killer site. Launched with little fanfare, the website quickly goes viral, and starts to generate huge amounts of traffic. In no time, the company is worth millions of dollars (with our without revenue is optional), and everyone is rich and happy.
The rise of Facebook hyper-charges this narrative. Facebook has dramatically compressed the time between an idea and fortune and fame. We’ve left “web years” in the dust by moving into the parallel universe of “Facebook time.” This go-round, the prototypical story goes like this – Stanford student whips up a Facebook app over the weekend and releases it on Monday. By the end of the week it has half a million users and by the end of the month the student flips the application, neatly paying for this year’s tuition.
Just as some of the women you see on the covers of women’s magazines really do exist, some of these stories are surely true. But for the rest of us, success is not so easy. It usually comes the way it has always come, through insight, perseverance, hard work and a bit of luck.
Which gets us to the point of this blog – telling the technical story behind the development of MapNotes – MapBuzz’s first Facebook application. MapNotes is a simple application – it makes it easy to put PostIt notes on a map and share them with friends.
Our naive thinking behind MapNotes was too quickly develop a Facebook application to get familiar with the platform, and then roll out a series of applications quickly thereafter. We soon discovered that a number of technical gremlins lay behind MapNote’s apparent simplicity. Above all was our desire to deeply integrate MapBuzz with Facebook, so that what users do on MapBuzz is available on Facebook and what users do on Facebook is available on MapBuzz.
Although there is plenty of information on the Web about developing one-off Facebook application, precious little exists describing the challenges of integrating a destination website with Facebook and how to support multiple facebook applications.
To share what we’ve learned, I’m kicking off a new series of posts over the coming weeks that will dive deep into the technical details of developing for Facebook. I’ll link to the articles from this page, so consider it both an introduction and Table of Contents rolled into one. Some things I’ll cover are:
- Login and installation
- Session management
- Account and link management
- Asynchronous processing
- Notifications and newsfeeds
- Using Ajax
If you’re more into usability issues and nice looking screenshots, then head over to the MapBuzz blog for more info. Enjoy!