<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The Napkin ~ A Blog By Highgroove Studios comments on Facebookin' with Ruby on Rails</title>
    <link>http://napkin.highgroove.com/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>The Napkin ~ A Blog By Highgroove Studios comments</description>
    <item>
      <title>"Facebookin' with Ruby on Rails" by derek</title>
      <description>&lt;p&gt;Andre and I recently finished the initial launch of &lt;a href="http://placeshout.com"&gt;Placeshout&amp;#8217;s&lt;/a&gt; &lt;a href="http://facebook.com"&gt;Facebook application&lt;/a&gt;. There are several &amp;#8220;getting started&amp;#8221; tutorials available on building &lt;a href="http://developer.facebook.com"&gt;Facebook applications&lt;/a&gt; with Ruby on Rails, but there were quite a few issues we ran into that are beyond a &amp;#8220;How To&amp;#8221; blog entry.&lt;/p&gt;


	&lt;p&gt;If you are building your first Facebook application, expect very slow going at the start. I&amp;#8217;d take your time estimate and double it. Here&amp;#8217;s why:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;It takes some time to grasp Facebook in a multi-developer environment. You need to create separate Facebook applications with different names using different tunneling ports. You&amp;#8217;ll also need to create several test accounts. Inevitably, I installed one application when I meant to install another. Getting our version control system setup for our development boxes and production system took some time.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;Understanding how Facebook handles sessions. We ran into several issues &amp;#8211; knowing when to require an app install vs. a login, handling an app install redirect inside an iFrame application, etc.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;We ended up using a combination of Rails&amp;#8217; #respond_to and unique Facebook-only actions to handle requests. Many of our pages were quite different in Facebook, and trying to fit format-handling in the existing actions only made things more confusing.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;Testing was a pain. Because we integrated with Placeshout.com, we needed to integrate user accounts. Planning and testing integration steps took quite a bit of time. Facebook and rFacebook have some testing conventions, but that&amp;#8217;s like saying that because the speedometer in my Ford Escape goes up to 120 &lt;span class="caps"&gt;MPH&lt;/span&gt;, it can go 120 &lt;span class="caps"&gt;MPH&lt;/span&gt;.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;The rFacebook gem and plugin were our weapons of choice. I don&amp;#8217;t have any complaints. We modified several pieces of code to fit our application &amp;#8211; including creating a user and installing the application, but that&amp;#8217;s not out-of-the-ordinary. The rFacebook team has done a solid job in a short amount of time.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;In the end, it felt a lot like traveling to a non-English speaking country &amp;#8211; at the start it&amp;#8217;s difficult to get basic things accomplished. Once you get in a groove though, you enjoy the scenery and forget that at one time, you didn&amp;#8217;t throw up when drinking tap water.&lt;/p&gt;

</description>
      <pubDate>Mon, 12 Nov 2007 19:59:00 EST</pubDate>
      <guid>&lt;a href="/articles/2007/11/12/facebookin-with-ruby-on-rails"&gt;Facebookin' with Ruby on Rails&lt;/a&gt;</guid>
      <link>&lt;a href="/articles/2007/11/12/facebookin-with-ruby-on-rails"&gt;Facebookin' with Ruby on Rails&lt;/a&gt;</link>
    </item>
  </channel>
</rss>
