Future of RFacebook

I’ve been maintaining RFacebook for the last 9 months or so, and recently I haven’t had the time to maintain it. Unfortunately, I don’t have any current projects that actually use the Facebook platform on a daily basis, so I have had to rely primarily on patches from the community (thank you!) and bug reports from other developers.

When I wrote the initial library, I was fairly new to Ruby and proper language idioms. Needless to say, this has led to some not-so-great designs that are difficult to fix while maintaining backward-compatibility. In particular, the direct access to the API via method_missing has turned out to be problematic for some people. Also, the so-called facepricot chaining (which gives quick access to XML parsing) is particularly poorly designed and I would like to get rid of it if possible.

Ideally, RFacebook 1.0 would do away with the cruft and simplify some of the design. As I considered certain aspects to redesign, I definitely re-evaluated Facebooker, a very solid looking Gem and plugin from Chad Fowler and some other experienced Ruby guys. Much of the improvements I would like to make to RFacebook are already present in Facebooker - API objects converted to Ruby objects, API methods are Ruby-ified, solid documentation, simplified Rails support, etc. Since RFacebook 1.0 would break a lot of applications (with the removal of facepricot and others), I am considering deferring to Facebooker for future Rails Facebook development. I am a big fan of not reinventing the wheel, and I feel that the Facebooker team has already achieved the improvements that RFacebook needs.

Through the process of writing and maintaining RFacebook, I’ve definitely learned quite a bit about Ruby, Rails, behavior-driven development, and the community around it all. Your comments, feedback, and encouragement helped make it a valuable experience. However, at this time I would really like to take on some new projects.

Regardless, I definitely do not want to leave existing RFacebook developers hanging. If you want to take over the RFacebook project, please let me know via the comments. I have also contacted the Facebooker developers to see if they are interested in a compatibility module (which I would write) for Facebooker to ease the transition from RFacebook to Facebooker. Please let me know your thoughts.

16 Responses to “Future of RFacebook”

  1. Gerald Bauer Says:

    I’m the editor of the rfacebook questions & answers site (that also covers Facebooker or any other Ruby libraries for Facebook). I’d be interested in keeping the rfacebook project going and add patches, add more FBML helpers etcetera and build up a new team. Here in Vancouver, B.C where I live I know a couple of developers using rfacebook in production (since I’m the organizer of the Vancouver edition of the Facebook Developer Garage). Cheers.

  2. Paul Dowman Says:

    I’ve recently started development of my first facebook app and rfacebook saved me a huge amount of time. So thanks, you did a great job!

  3. Q: What’s the state of rfacebook? Rails 2.0 Ready? « facebook for ruby // questions & answers / news / discussions / more Says:

    […] Update (Jan/12): Matt Pizzimenti’s published a story about the state of rfacebook titled “The Future of RFacebook“. […]

  4. Matt Says:

    @Gerald

    Thanks for volunteering. I can add you to the devs if you just email me your Rubyforge username at matt [ at ] livelearncode.com

  5. John Weathers Says:

    First off, let me say thank you very much for all the work you did on RFacebook! Despite having a few bugs here and there that I had to patch myself, it was ultimately an enormous help for me as I developed my company’s Facebook application and the code wasn’t too hard to sort through when things went wrong.

    I am possibly interested in contributing to any team that wishes to keep RFacebook alive though I’m not sure at this point how much time I can commit. I do have some changes that I would like to pass back to the community (although they may already be in RFacebook 0.9.8).

    Also, if Facebooker does get released it might be a good idea to only support RFacebook until Facebooker matures and then help existing users make the switch if after looking at the Facebooker project you have deemed it to be the better designed solution.

    I tried Facebooker very, very briefly and couldn’t get it working because I had no documentation, lots of time pressure, and RFacebook had already been proven in the field.

    Thanks again for RFacebook!

  6. Ryan Chase Says:

    I would like to join in on the fun as well. I lead a team at my company to launch a facebook app and I would love to see this library continue on. It was a huge help in getting us up and running.

    I would like to offer some help as well as one other member of my team. If there is anything that we can do to help keep this alive please let me know. I don’t know how much time we can guarantee on working on this, but if given the chance I would love to help keep rfacebook alive.

    Thanks Matt! For all your hard work on this!

  7. Fernando Correia Says:

    Hi! Maybe you should post a notice about this on RFacebook website. This way, people just starting and looking for a solution would be advised to consider Facebooker instead of RFacebook.

  8. sudara Says:

    Another word of thanks to Matt.

    Though facebooker also exists, I would choose rFacebook over it any day due to documentation and the number of active users.

    You have done a great job - either pass the baton or keep up the good work!

  9. Matt Says:

    @Fernando
    Good point, website update ;)

    @sudara
    Thanks for the kind words. There have been numerous people volunteering to maintain the project, so I’ve been adding them to the project.

  10. [Learning Note] Facebook => rfacebook => Facebooker « World of Ruby Indonesia Says:

    […] [Learning Note] Facebook => rfacebook => Facebooker 21 01 2008 It’s a matter of time. I knew this blog for a long time ago, now I just got time to read it, I was wondering how I could set up my facebook app using the new facebooker that’s been said more advanced and better than rfacebook (I’m lazy to copy paste its link, Google for that, I’m sure you can get it in less than second) as its blog writer also confessed that facebooker creator is involving Chad (a familiar ruby guy in both ruby and ruby on rails communities), so it’s better and he wants it to be much better than rfacebook and he emphasized that he doesn’t want to leave existing RFacebook developers hanging. So when I just read this post now I just got the answer, I just knew that I have to do […]

  11. josh morgan Says:

    Facebooker looks good, however as far as I am aware it is expecting your entire app to be a facebook app. In many recent products I have written this is not the case and we use alternative view formats within the same code base to achieve the facebook interface.

    However rFacebook does allow a facebook app to exist within an existing web app easily and it would be a shame to lose this support.

  12. Shanti Braford Says:

    Matt - you rock, dude!

    Thank you for all of the hard work on RFacebook.

    I’m just about to deploy some new apps to production using it, and have also created a “Quick FB” app template leveraging your work with rfacebook:
    http://shanti.railsblog.com/tinkering-with-git-quick-facebook-app-template

    I wanted to submit this code (see Rails section that I added) re: uninstalling for consideration in rfacebook:

    http://wiki.developers.facebook.com/index.php/Post-Remove_URL

  13. mjpizz Says:

    @Shanti

    Thanks! You should really submit patches to the Rubyforge project:

    http://rubyforge.org/tracker/?func=add&group_id=3607&atid=13798

    That way, anybody working on the project can add it in.

  14. Shekhar Yadav Says:

    rfacebook has been a great help for me to get into the facebook application development. Thanks for all the hard work, and I would really want to see it exist for some more time. Cheers!!

  15. Steve Ehrenberg Says:

    I’d also love to jump on the bandwagon of developers looking to help maintain RFacebook. I think Facebooker and RFacebook have their own differences that make each of them great while also falling back in other areas. I would love to see more native ruby object support in RFacebook as well as the ability to use restful routes, but I’d also love to see a little bit more polish and organization to the Facebooker code and I really miss the method_missing with the new design coming through (meaning in order to use Facebooker, the new API methods have to be hard coded into the plugin) … I’ve got a couple of ideas and would love to contribute some code in the coming couple of weeks.

  16. curtis Says:

    i started up a new rfacebook branch if you will and i’m calling it “rplatform” (http://github.com/tehcurtis/rplatform/) since I’m hoping it’ll allow compatibility with any network that chooses to implement facebook’s Platform.