We've built our share of Facebook apps and formatted a few fan pages and, as with any technology, it's a moving target. What worked last year doesn't work today, and who knows what will work next year.
The problem is that Facebook's programming environment seems to be moving like John Cleese's Silly Walk -- it bobs and jumps and swings and you never know where the next leg is going to go. As soon as you think you have something pinned down, it flies off with an amazing angle and speed.
And we just found something new... I assume in their attempt to solve the horrors of a rapidly changing programming environment, they have quietly been letting old developers continue to use the old programming interface, so when we developed the app on our development account, the tools didn't match the new page our client had set up and huge chunks of code were broken.
Not that Facebook documents this, so we only found out when we moved it to the new account.
The problem with this whole "app" thing (Facebook, iPhone, Kindle, droid... the list keeps growing) is that you have to keep current on your core programming language AND the changing whims of corporate "standards" that have less to do with functionality and more to do with who's suing the corporation this week.
Facebook has played with the way the Like button works more times than... (let's just assume I have a really dirty joke to go with that phrase). Last week we were able to force people to Like something to see some content. Last week Facebook announced new Like button behaviors, and suddenly the thing doesn't work in the new environment (still seems to work on our old implementations, though).
But there's this kind of investment roulette going on here -- our clients are paying us good money to build something that, honestly, has a lot of uncontrollable variables. Whether it's Facebook unceremoniously breaking things that we slowly crafted, or Apple removing an App from the store without comment, these arbitrary decisions are costing us time and money.
I don't have to just worry about hiring programmers who know what they're doing, now I have to worry about some six degrees of Kevin Bacon's IT Staff -- a programmer in Fremont decides to "clean something up" in the API, or a lawyer in LA says, "we gotta make this go away" or a sales person in New York says, "we gotta change that."
Kind of like trying to manage by the same principles of social media -- random crap taking you by surprise...
Who owns your friends?
Content for Social Media
Kristen: Re: Agonies of Programming for Facebook
It's about GenY. I cannot begin to say this enough: the world of technology is geared toward and is being *influenced by* GenY, and one of their big hallmarks is *constant change*. FB is made up of GenY and that is where they are targeting content.
Taylor Singletary: Re: Agonies of Programming for Facebook
You should be very clear to your clients that if they want to create an application for Facebook, iOS, Android, etc that they are in for a long commitment with recurring costs and development time on an irregular, sometimes unpredictable schedule. If that makes them uncomfortable, then they probably shouldn't be making an application (or contracting the development of an application) for those platforms.
As much as it sounds reasonable to have a write-once-and-forget-about-it application, on these platforms it's not feasible. Sure, everyone wants to be in places like Facebook & the iPhone, but they should understand that they have to approach it as a long-term, continually reuptaking investment.
That might scare them away to a competitor of yours that doesn't want to be as honest about it. They'll see how that works out for them.
Michael Bissell: Re: Agonies of Programming for Facebook
I agree completely about the risks of Facebook apps and being completely honest with the client about what to expect, and at this point I'm able to explain the risk and costs to my clients who insist "we should be on Facebook."
And, honestly, it's not new. Microsoft has been known to break software with new OS releases, cross-browser issues have been a pain to deal with since Netscape and Mosaic, and there's never been "write-once-and-forget-about-it applications" and there's always been investment roulette in technology.
It's just that the landscape has gone from one or two companies that can break your code to countless players who can make life a little more annoying...