[Update]: It’s now running on it’s own EC2 instance using Apache and Mongrel. So far so good.
I’ve been playing with facebook recently and have built my first app. It simply lets you display your favorite BBC Radio channels in your profile with a link to play and information about who’s currently on. Go install it and let me know what you think.
It’s a rails app that uses the BBC Web API (beta) to find all the schedule information. In order to push all the updated show info to facebook there is a cronjob running that in-turn runs a rake task in my rails app to look for new data. If it finds any it pushes that data to handles within my facebook app’s namespace and each users profiles fetch data from these handles.
It has been a bit of trial and error along the way due to facebooks API being very new; Their documentation being lacking and incorrect at times, and Oh, their crazy session handling. I’m sure these things will be addressed in the future. They use a push system when it comes to showing stuff in people’s profiles. So in order for me to stop making more and more requested to facebook’s server every time a new user, and networks chosen, I’m using the handler approach of sending data about each network to facebook. The users profile then just collects the network info from facebook when it needs them. This means that hopefully the app won’t die the more people use it (saying that it dies already once, but that was out of my control). It’s actually running on one mongrel instance at the moment until I sort out mongrel clusters and apache proxy forwarding. Not ideal but we’ll see what happens.
I can see why the likes of flickr and lastfm have not created crazy apps yet. In fact I don’t see how they can currently. Without posting info about every user up to facebook every few minutes their apps are gonna struggle to be useful.