In praise of the sub-optimal solution…


Here’s an interesting trend – an increased incidence of people praising the ill-designed. Firstly let’s start with a post at new favourite weblog In a long post about RSS called In praise of evolvable formats, he states:

“RSS 0.9x and 2.0 are the Whoopee Cushion and Joy Buzzer of syndication formats. For anyone who has tried to accomplish anything serious with metadata, it?s pretty obvious that of the various implementations of a worldwide syndication format, we have the worst one possible. Except, of course, for all the others.”

As all of us who have been watching RSS know, there are now three main competing standards – (Dave Winer‘s favourites and personal missions) 0.91 and 2.0 and the alternative 1.0. The three standards fall into two main groups that share many features, but have some remarkable differences as well. These differences are generally beyond my technical expertise, but seem to be polarised between ‘messy, unrigorous and evolving’ and ‘clean, complex and relatively static’. Mark continues:

“Designed formats start out strong and improve logarithmically. Evolvable formats start out weak and improve exponentially. RSS 2.0 is not the perfect syndication format, just the best one that?s also currently practical. Infrastructure built on evolvable formats will always be partially incomplete, partially wrong and ultimately better designed than its competition.”

The other interesting post on these lines comes from Matt Jones. He cites an interview with Don Norman in which is stated: “The Internet has been successful, but it could have been designed better”. Jones’ retort? “Arrrgh! The internet is successful precisely because it was engineered to be ‘good enough’, it’s strength is that it is suboptimal; and, most importantly, doesn’t stop people designing it better.”

I’m vaguely fascinated by these arguments. I like this idea of the useful fudge that doesn’t try to be the most elegant and functional solution, but is evolvable. But I’m having trouble geting a grasp on the precise criteria for developing such solutions. One answer might be in attempting to design simple systems which have the capacity to inter-relate and which can be removed and replaced like components – components which don’t necessarily all have to co-exist to make a useful product. Another might be the holy-grail of creation on the internet – open standards which allow many people to add their minor creative addition to the mix – inspiring in turn subsequent developments – pushing creativity. A final one might be the simplicity of the governing rules of the system – or perhaps even something as simple as the ability to generate something functional with the most limited set of instructions or components. Or perhaps I’m completely missing the point?

Addendum: I had an interesting conversation with Matt Webb following this post, of which this was my most significant contribution: “There’s an interesting paradox in play when you start talking about the best things being suboptimal, when in fact what you’re actually saying is that the various criteria of optimality are simply not what they are perceived to be by people operating in a traditional product-oriented mode. Nonetheless I like the concept of aiming towards suboptimality – it kind of reminds me of the suggestions of postmodernity that the Enlightenment project is directed towards closure and hygenic perfection – the clockwork universe – a model that can conceive of no place for things outside itself and attempts to reduce those things to irrelevance – when in fact when you push the model to its absolute limits it collapses in on itself leaving nothing at all…”