OAuth of Fealty: Resignation beyond sorrow on the Facebook Platform and beyond
m.bogost.com
m.bogost.com
Occasionally I found basic features on Facebook website just don't work. For example: 2-3 days ago, I can't put description on my newly uploaded photo. I have to complete the photo upload workflow, and then click the newly uploaded photo on my album and edit the description.
Regression on basic feature.
I suppose Facebook is just like any other companies with sharp growth: you don't want to know what's inside it (or how the sausage is made). That boils down to ship features and ignore everything else (documentation, good design, good habit, better architecture, better quality, etc).
I'm not saying that's a very bad idea for them because I've seen this practice a lot in our industry.
Having said that, this is one of the many reasons why young startups want to hire the brightest and smartest engineers out of college: they need warm bodies smart enough to move forward, to deal with legacy codebases and figuring a clever (but may be dirty) hack to workaround the legacy design decision, less on solving complex new problems. The latter may be reserved for the infrastructure teams where people develop back-end infrastructure component like Haystack or something along that line.
The recent "rant" stories/articles of the quality of Facebook Platform showed us the same repeated story we've read before in the past and to confirm that Facebook engineers were not way much better than Googlers or Yahoo or Microsoft engineers.
Wasn't it the brightest and smartest engineers who created these problems?
> Move fast and break things.
"Apple pushes new iOS releases...breaking software written relatively recently"
Can this really be considered true? I can't remember anything deprecated that didn't still function in iOS, with the exception of the UDID and mac address APIs which were deprecated for privacy reasons (and developers have had ages to move away from UDID). iOS 3 era code I download from Github still runs fine. At worst, this summer Apple required apps to support the iPhone 5 format, but that's a pretty easy upgrade to support, and a major user facing one.
Nothing terrible, but back on topic, I too dislike touching 3rd-party stuff, FB or Twitter...
The presenting view controller is responsible for dismissing the view
controller it presented. If you call this method on the presented view
controller itself, it automatically forwards the message to the
presenting view controller."Facebook is like a kindergarten run by child molesters."
Hell, I still remember when MSN tried to integrate with AIM and Y! messenger by reverse-engineering the protocols and putting them into the MSN client.
20 years ago we hardly had cell phones and that was just fine, if you actually loved your Grandmother you'd always find a way to send her some baby photos... and now we start to cry because Diaspora is kinda basic? Even though that would change real quick if only 5% of the FB users would switch to it. I think that's silly, so I for one am reachable by phone and email, and my friends are always welcome to join me "on the actual web". Until then, I'm not supporting them in their self-harm: for whatever reasons people use Facebook, I try to avoid being one of them (edit: one of the reasons, that is).
Hmm, I guess that means diaspora wouldn't change anything there, for me. I'm not going to be another human TV for them, no matter the protocol.
But the fact that alternatives* exist and people don't use them just because they don't want to do the first step and actively pull their friends with them, is just sad? That's basically admitting Facebook can do whatever the it wants, since people are (or rather feel) trapped.
(and more than that; many of these networks allow you to sign up for updates of people on other pods of other networks.. Facebook isn't even thinking of playing in the same league, it's just that the UI is similar and has words and photos in it)
Certainly these things are cyclic, but that doesn't mean they're completely beyond the influence of ordinary people, let alone the kinds of people who tend to hang out on HN.
Did a small oauth project a few weeks back trying to integrate with web mail providers - gmail, ymail and outlook.
Gmail was a bit of a pain, but basically worked.
Ymail - a much huger pain, and extra hoops and far less usable documentation explaining basic workflow - "oauth" libraries continually failed me, and only using the crappy php4-style example code worked. At the end of the day, it didn't come close to being easy to use (and required my users to jump through extra hoops).
Outlook/microsoft webmail? Just didn't work at all . Oauth connectivity worked, as easily as gmail, but they simply don't allow sending at all - no access to the inbox at all. Oh sure I can 'download contacts!' but can't use outlook/livemail to actually handle the sending programmatically.
It really hit me that as bad or potentially bad that google might be in this space, they're 'winning' hearts and minds just because they're less bad than the alternatives. I used to wonder why so many services and add-ons were built on Google properties vs Yahoo and MS, but I wonder no more; Yahoo/MS just don't want to compete in that space (making stuff at least usable for developers). Facebook also seems to fall in to that camp, but right now they don't have any major competition (except from G+ it seems). But FB still has an upper hand with a full platform (however crappy). I suspect when G+ rolls out stronger API stuff, the game will change dramatically.
The Facebook Platform is a shape-shifting, chimeric shadow of suffering and despair, a cruel joke perpetrated upon honest men and women at the brutish whim of bloodthirsty sociopaths sick with bilious greed and absent mercy or decency. Developing for the Facebook Platform is picking out the wallpaper for one's own death row holding cell, the cleaver for one's own blood sacrifice.
Twitter has their share of warts, but they're markedly different when it comes to the speed of "breaking things".
Something to keep in mind though: You're working with someone else's platform which means you participate at their pleasure. Any API provider can do whatever they please with their product so try to decouple API handling from the rest of your client as much as you can so you can reduce the likelihood of being pulled by the tides.
Twitter's responsibility does seem somewhat less, anyway, in that they've never been as platformy as Facebook: Facebook actively claimed that this was a place to deploy your games and other apps, but then broke stuff constantly.
If he would've said black instead of white or dudette instead of dude, Hacker News would have had this guy's header on a platter. Racists, the lot of you.
http://reasonableconversation.wordpress.com/2012/07/19/punch...