J-Squared Media: Inside

Facebook, Rails and Scaling

July 31, 2007 · 4 Comments

Common rails development philosophy is to build your app and worry about scaling later. As 37Signals suggets, we should, “Create a great app and then worry about what to do once its wildly successful. Otherwise you may waste energy, time, and money fixating on something that never even happens”. While this would generally be great advice, we quickly learned that the facebook platform may reduce the time between initial deployment and wild success to less than a week or even 24 hours.

Sticky Notes was launched on a Wednesday and had tens of thousands of users by Monday. Needless to say, scaling quickly became our primary issue. So much so that we enlisted the help of Tony from Clickcaster, Darren from Photobucket, Alex from Twitter, Mike from Fuser, and Brian and the guys at Viget Labs. Our discussions ranged from server and database architecture to rails and mongrel configuration. We would like to thank everyone for their great advice.

Over the next few posts we’ll discuss many of these issues and try to shed some light on what we’ve learned about scaling rails in the last four weeks. It’s important to remember that the Facebook platform instantly introduces your application to millions of potential users, so scaling should be more than an afterthought.

Categories: Uncategorized

What Facebook Users Want

July 31, 2007 · 7 Comments

Of the applications that have been most successful, several common themes exist. Following is a list of what users want, based on these applications. Most of this advice is self explanatory – but we’ve qualified things a bit to give you some context.

  • Users want to be entertained. Users are bored, but they’re bored in small chunks. Give them something that they can accomplish in less than a few minutes and still be entertained.
  • Users want to communicate. Communication is at the heart of the social graph. If you create a game that lets users fight evil predators, that’s fine. But you better make sure social interaction with friends is at the heart of the game.
  • Users want status. Make people feel important. If a user can declare their glory to the rest of their community, they will. It gives them pride, and entices other users to participate more. Just be careful that you don’t make things too ‘gamey’ (unless it’s a game, of course).
  • Users want bells and whistles. Black and white is boring. Straight lines are boring. Two dimensional is boring. Make your application media rich if possible.
  • Users want something cooler. If a user can do ‘X’ on Facebook, why not just make ‘X ‘a little cooler? We call these apps ‘profile enhancers,’ and they’re usually very successful.
  • Users want to express themselves. The more personal you can make your application, the better. Allow the user to declare themselves to the community. This can be done in many different ways – and the most creative expression enablers are the most successful.
  • Users want simplicity. Right now, Facebook users want simple apps. If you’re building a virtual e-commerce world inside of Facebook, think about dumbing it down a bit. Not that users are dumb, they’re just busy.

Disclaimer: None of these points are ultimatums. Think about what your app provides to the user. Play up the points above that best relate to your product.

Categories: Business

How People Use Facebook

July 31, 2007 · 5 Comments

Facebook users are interesting. We’ve come to know them very well. Our users are adamant, bored, and expressive. Unfortunately, most developers don’t seem to understand how people use Facebook.

The profile is a spring board from which stuff bounces in or out. Most people think it’s just a place to house information, like a Netvibes or a MyYahoo. If you can understand that a profile is about the user, and not who won the baseball game last night, you’re already one step in front of the crowd.

Categories: Business