I’ve been hearing a lot about the new Facebook application platform lately, so I decided to finally check it out over Thanksgiving weekend. I thought it might be fun to port one of the schmedley schmidgets (widgets) into a Facebook “application”. Turns out, it was definitely not fun. In fact, it was a weekend filled with frustration.
I decided to go with something really simple, so the schmidget I chose was the “sticky note”. I was inspired by J-Squared Media‘s Sticky Note application. Don’t get me wrong – I wasn’t trying to build a better mousetrap – I actually admire this company and their product. I learned about them through TechStars this past summer and have been following their progress, and am amazed at their success in monetizing a Facebook application/widget. So my journey here was really a proof-of-concept – can a schmedley schmidget be ported to Facebook?
After I immersed myself in Facebook’s developer documentation I set about downloading the example applications, reading FAQs, looking at other examples contributed by other developers, etc., etc. I then made my stand-alone widget. Basically my widget does two things – 1. lets the user change the color of the “sticky” and “save” that preference, and – 2. lets the user change the text on the “sticky” and “save” that as well. The saving is done by generating a very simple cookie with the text and color preferences in it, so that when a user visits the page w/ the sticky note again, it populates those preferences. The great part of this approach is that no server-side coding is needed and we have a very simple strictly client-side app. I ran the stand-alone widget in my local environment and everything went according to plan. I then uploaded it to my development server, and all worked fine there as well. Now, let’s go put this sucker on Facebook…
Strike Two – I get my sticky all loaded up in an iframe on the “canvas” page and you can probably guess what happens next. I can get the app to read from my stored cookie just fine, but I can’t get it to STORE any settings when i change the color or text at all. As you all know, any item presented in an iframe that is coming from a different URL is considered “3rd party” and is usually restricted from creating/writing cookies by most browsers. And asking users to ease up on their security preferences is NOT an option. I tried all sorts of ways to accomplish writing to that cookie and just couldn’t do it. I tried passing a value to a PHP script on my server that would write the cookie. I tried loading a “web bug” image with a URL containing a query string to that PHP file on my server. Absolutely nothing worked. It seems that Facebook’s “platform” blocks all of your app’s communication w/ the outside world once loaded in the page. It did READ from the cookie just fine. So now I’ve got a Facebook application that doesn’t “do” anything.
Strike Three – It seems to me that the main (and only) interaction between the user and the app is when it is being initially created/configured. And once those settings have been determined – that’s it. You’ve got a static finished product. The other sticky note I mentioned earlier is a perfect example. When you go to add it to your profile, you start on a configuration page (which is a flash application), where you choose the text that goes on your sticky note and the color. The application then generates an image of your sticky note that resides on your profile page. You can’t change it – all you can do is delete it and create another one. I find it hard to call something an “application” if you can’t interact with it.
I’m sure there are SOME cool things you can do if you want to take the time to learn Facebook’s proprietary languages and really spend some time digging into their API to access their large chunks of data. But if you can’t “mash up” that data with other data from the outside world (or use the outside world’s data exclusively) and execute changes to the way that data is presented to the user dynamically – then what good is it?
* some interesting stats and related links…
• of the 5,000 apps on Facebook, 87% of the usage goes to the top 84
• of those 84, only 45 applications have more than 100,000 active users
Good News, Bad News about Facebook Application Market: Long Tail Rules
another insightful article about Facebook applications…
The Children’s Hour: Facebook Apps Are for Toddlers (There, We Said It)