Google OpenSocial and the perils of abstraction

Google has announced the imminent release of something they call OpenSocial. My understanding from the press coverage, though not necessarily correct, is that Google is trying to abstract away (using a framework) the specifics of developing apps for certain social platforms. It sounds interesting, but we in Sun tools know what a dangerous path this is; abstraction is a religion among software developers for dealing with complexity. Sadly, this religion is founded on a lie.

My opinion for the last couple of years, as a tool provider, has increasingly been that we need to stop thinking like software architects ("abstract everything", "there can be only one") and instead deal with the real, messy, heterogeneous world. We need to dive into the chaos and find other strategies for dealing with it (or to reflexively use my argument above, there is not just one general strategy, abstraction, for dealing with complexity).

There is usually one overriding reason for abstraction in software: productivity. Abstraction gives people a conceptual handle to a larger number of specific things than is otherwise possible to manage in a fixed amount of time. This works well when the level of complexity is low and when specific instances fit well into a single conceptual framework. Unfortunately, most things don't--oh, they look like they do at first, but quickly the edge cases the abstraction cannot deal with become more of the problem than the original productivity problem. This is when a new paradigm shift is born, the old technologies and tools are swept away, and a new wave of technology and tools emerges (usually built around a different, but simpler, abstraction that is easier to grasp, until it too becomes top-heavy).

Abstraction is inherently limited in what it can do precisely because it ignores specifics; this is why abstraction is a useful, but not an ideal, strategy in the real world. I think we are well past the days on the Web when abstraction alone can help us be more productive. Now, it's up to more powerful methods of expression plus domain-tailored tools that will really help us deal with complexity without the religion of abstraction.

However, there is another way to meet the same productivity goal as abstraction, at least in the medium range where there are more than a few and less than a lot of specific instances: raise productivity through other means, like the use of disposable software. Thus, one could argue that you don't need a metaplatform like OpenSocial in order to plug into various platforms if instead plugging into those platforms is essentially as easy as a couple lines of code. Plus, when you have something this productive, you can still take advantage of platform specifics and better tailor the integration and user experience.


Agreed in general, because the devil is in the details: The "Random House Dictionary of Popular Proverbs and Sayings" by Gregory Y. Titelman (Random House, New York, 1996) shows this phrase as a variation of "God is in the details - Whatever one does should be done thoroughly; details are important. The saying is generally attributed to Gustave Flaubert (1821-80), who is often quoted as saying, 'Le bon Dieu est dans le detail' (God is in the details). Other attributions include Michelangelo, the architect Ludwig Mies van der Rohe, and the art historian Aby Warburg. 'The Devil is in the details' is a variant of the proverb, referring to a catch hidden in the details. 'Governing is in the details''and 'The truth, if it exists, is in the details' are recent variants. Listed as an anonymous saying in the sixteenth edition of Barlett's 'Familiar Quotations,' edited by Justin Kaplan."

Posted by Serge on October 31, 2007 at 11:18 AM PDT #

You mean -- there is no ideal car for everyone? Hmm ...

Posted by Jirka Kopsa on October 31, 2007 at 11:23 AM PDT #

IBM built PC for everyone. I think someone soon will build car for everyone. Indeed, no ideal...

Posted by Serge on November 02, 2007 at 06:37 AM PDT #

Todd....I see your comments were dated last Oct 2007....when the effort was just question is have looked at the api recently?....Lord knows we have been down the abtraction path before..together.....some of it worked...some did not....I am curious what you opinion is based on your latest loo at the api and its effort.

Posted by Charles Beckham on April 25, 2008 at 11:48 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed



« February 2017