While creating my first Facebook application for a client i’ve been going through a lot of problems, bugs, missing documentation, missing methods and more. Facebook developer community support is quite bad as most posts on the Developer Forum stay unanswered and lot’s of examples found on other pages are outdated (due to the high change rate Facebook makes).
I spent most of my time on debugging, searching for answers/examples, try and error mainly. There’s a sandbox mode, but you’ll have to create testusers or even testpages if you wanna do proper testing.
So here’s my wishlist on Facebook from a developer point of view:
1. Upload/Change a User’s Profile Picture
It is not possible to change a user’s profile image. This could be considered as some kind of privacy issue, but at least there could be function to add an image to the user’s profile images album so the user could change the profile image himself.
While writing this post there’s a known bug that makes it impossible to post directly into the user profile image album. That’s because the profile image album has the same ID as the user/feed itself.
Currently you can create an automatically created Application album inside the user’s albums, but you have to tell him how he can pick an profile image from there, because the regular profile image change function does not allow selecting an image from another album (you have to go into the new album, select the image and then there’s a “use as profile picture” link at the bottom).
I can’t think of any API i have used that does not allow changing the user’s profile image.
2. Upload To a Page’s Fan Album
Even a page’s fan album has an unique ID you can post to this album. I simply don’t know why (see 6.)
3. Publish To a Page’s Wall and Automatically Create An Entry In The “Fan Photos”
When a user posts something to a page’s wall the image included in that post will automatically be posted to the page’s fan album. When doing so using the API it won’t.
4. Add Feed Entry Actions (Or One At Least)
It would be great to allow at least one custom action inside the feed actions on a user’s wall (next to the comment, like, share actions). This would allow custom feed entry related functions like “dislike” or “add as favourite”. Currently this can only be achieved using Firefox Addons for examples.
5. Proper API Error Messages
Most API errors that are permissions errors actually do not return a proper error message. Instead of “missing permissions for stream_publish” for example the API will return nothing, an empty array or other non-proper messages.
6. Proper Documentation On Pages Interaction
The current Facebook documentation really lacks details on interacting with pages. Well it actually lacks details on lot’s of things, is outdated or includes vague statements like “this function is about to change or to be deleted mid 2010″, but since lot’s of developers write Applications that relate to pages on Facebook i would expect some developer guide specific to this topic.
This is important since you would expect Facebook to allow changing a user’s profile for example when writing a concept for an application.
7. Missing GraphApi Functions
Since 1st of june the GraphApi is the primary Facebook API. You can still use the REST API, but since you want to stay up2date you’ll prefer using the GraphApi…. but compared to the REST API the “new” GraphApi really misses a lot of functions or requires more coding to get the same result. For example: try to find out if User ID N is fan of page N via the GraphApi. Using the REST API this is simply one call that returns a boolean.
8. High Change Rate
When you start with Facebook development most ebooks on that topic are outdated due to recent privacy issues Facebook and other changes (new GraphApi and so on). This ain’t really a wishlist point, but it would be nice if those changes have a proper timing and documentation on the Developer Roadmap.
9. Separate Permissions For Pages
There are no seperate permissions for pages (except the Insights Perms) so it’s totally unclear if permissions like “user_photos” will work for pages, too or not. Also due to this it’s unclear what’s the best way to integrate applications for pages (create the application profile via the page’s developer settings or simply link the application and have the profile inside the developer’s account?). If you setup the application via the page’s account will “me” (GraphApi wise) refer to the page? If embedding the application that way will the developer need full access to the pages account?
Conclusion
Missing documentation, missing community support, multiple ways to interact with the API, bugs, a Developer Roadmap with lot’s a changes coming, nonproper error messages and even more make Facebook development suck badly.
I ended up using a mixture of the PHP SDK, FMBL, the JS SDK, some old REST API function calls and some new GrapApi function calls.
I think Facebook is not allowed to name the thing they created API because it isn’t a application programming Interface since it does not reflect the functions found in the UI. It behaves differently (like posting the a pages wall including an image will not publish this image to the page’s fan album and the UI function does) and it misses functions that can be used via the regular UI (change profile image and more).
Tags: api, developer, development, facebook, graphapi, restapi
Posted in development, facebook, web |
I registered as iPhone Developer on that Day the SDK was released. On the Day the iPhone 3G was released i bought one. 1+1=2 so on the same Day i started doing some Stuff with XCode and the Emulator but soon i wanted to try some real World testing on my Phone and not on the Emulator so i applied for the Standard Developer Program… Instead of dropping the Program into the Shopping Card i ended up on a Page that told me that i’ll shortly receive Information about my Enrollment Status. What?
I tried again. Same Result.
I contacted the ADC Support via Email. No Repsonse (except an automatic Confirmation Email letting my know they received my Request).
1 Week later i tried again. Again i ended up on that Enrollment Status Page…
Antoher Email to ADC Support, another automatic Reply, another no Answer.
I tried again, but this time not with my existing Developer Account, but creating a completely new Apple Account and “TaDa!” the iPhone Developer Program went into the Shopping Card.
Ain’t it strange? Existing Users get an Enrollment Notice but no chance to buy the Program and new Users can shop it directly? Tsk Tsk Tsk.
Dann warte ich jetzt mal sehnsüchtig auf die ersten Programme von dir. Beta-Tester? Hier!
Cert ist heute gekommen, kann also los gehen … i’ll keep you up to date
I like many facebook tools. But some are too odd. Though several are very smart.