Skip to content

Facebook, leaky abstractions, and gettin’ used to it

by Robert W Gehl on April 4th, 2010


Robert W. Gehl

In a famous blog post, computer programmer Joel Spolsky proposed the “Law of Leaky Abstractions,” arguing that it is inevitable that computer abstractions will fail because lower-level layers of computer code will eventually come bubbling up to the surface. The easiest way to explain this is to point to a very common phenomenon: the Blue Screen of Death in Windows. If you’re using Windows XP, and something’s really, really wrong with your computer’s memory, you’ll see the BSOD. It supersedes the icons and file folders you’re used to. This means that the abstraction of the graphical interface is sitting on top of the abstractions associated with memory addresses (among other layers). But if your memory is failing, that lower layer bubbles up to the top and confronts you. In short, this is abstraction failure. The abstraction-GUI fails because something more fundamental went wrong. As Spolsky puts it,

Abstractions fail. Sometimes a little, sometimes a lot. There’s leakage. Things go wrong. It happens all over the place when you have abstractions.

Since this is, after all, a “law,” it has a sort of inevitability. If your computer keeps giving you the BSOD, but if it seems to work well for a while after you press and hold the power key, then you sorta get used to it. If a bug happens, you can get mad, but really you’re supposed to throw your hands up and say, “It happens.” Dealing with bugs is part of owning computers.

Facebook’s rites of spring seem to be the Web 2.0 version of the law of leaky abstractions. It seems like every spring Facebook deals with a privacy controversy. This year’s controversy is centered on a blog post in which Facebook announced a pre-emptive policy to share user data with “pre-approved” third-party Web sites. The announcement starts innocuously enough:

Today, when you use applications such as games on Facebook.com or choose to connect to Facebook on sites across the web, you are able to find and interact with your friends. These applications require a small set of basic information about you in order to provide a relevant experience. After feedback from many of you, we announced in August that we were moving toward a model that gives you clearer controls over what data is shared with applications and websites when you choose to use them.

Ho-hum. The controversial bit appears in the next paragraph:

In the proposed privacy policy, we’ve also explained the possibility of working with some partner websites that we pre-approve to offer a more personalized experience at the moment you visit the site. In such instances, we would only introduce this feature with a small, select group of partners and we would also offer new controls.

For an example of the concern this raises (outside of just reading the comments on the Facebook blog), head over toTechCrunch; the article expresses concerns, and there’s a whole host of backlinks to other blogs with varying degrees of anger over this privacy policy change.

Apparently, this change is mitigated by a global opt-out choice offered to users. However, the default is that we all of us Facebookers are enrolled in this program.

The raison d’etre of Facebook is to observe our connections and watch us communicate with one another, archive those activities, and then sell the resulting data to advertisers. This is an ugly fact of the service. However, this ugly fact can be covered up with the Web 2.0 version of the software abstraction. If Facebook puts enough glossy apps such as photo sharing or Farmville on top of the legal agreements and surveillance technologies it houses in its servers, most users don’t really notice or think about being watched by Papa John’s or Walmart or whomever is “partnering” with the social network.

However, whenever Facebook makes a change to its privacy policy, this ugly layer bubbles up to the surface. It’s a leaky abstraction. It’s a bit like our computers. Most of the time, we can forget about the hardware and the device drivers that the machine uses to work, because we have nifty GUIs to play with. But when something fails, we kick and scream a bit, reminded that we are using very complex machines. Facebook, likewise, is a complex machine built upon the desire to reduce our associations to consumer preferences and “likes,” a desire encoded in the Terms of Service.

In the end, the reaction to this policy change doesn’t quite match the outrage over last year’s “We Can Do Anything We Want With Your Content. Forever” policy change, where their Terms of Use policy seemed to indicate that they claimed ownership over user content, even after users leave the service. This leads me to wonder: are we just getting used to these occasional leaky abstractions? Are we just getting used to the very powerful legal agreements and surveillance technologies residing just beneath the surface? Is “privacy dead,” as Mark Zuckerberg didn’t say but everyone says he said? In this sense, trading away the details of our private lives for the profit of a Web service is a bit like computer bugs. It’s part of the Web.

This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

From → Commentary

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS

*