Only Write Software That Helps People Get Laid
In this article, guided by the expertise of Jean-Philippe, we explore the captivating relationship between architectural elegance and software design. Watch the enlightening video presentation below to uncover the hidden connections and parallels between these two disciplines.
Table of Contents
In the "Architecture of Happiness", a book exploring what makes a building beautiful, Alain de Botton takes a moment to compare the properties of the Salginatobel Bridge (Switzerland) and the Clifton Suspension Bridge (England), introducing us to a specific kind of beauty that he names elegance:
Both bridges accomplish daring feats, but Maillart's [Salginatobel Bridge] possesses the added virtue of making its achievement look effortless – and because we sense it isn't, we wonder at it and admire it all the more. The bridge is endowed with a subcategory of beauty we can refer to as elegance, a quality present whenever a work of architecture succeeds in carrying out an act of resistance – holding, spanning, sheltering with grace and economy as well as strength; when it has the modesty not to draw attention to the difficulties it has surmounted.
But let's get to our sheeps: software.
We don't use software for our pleasure, we use software as a tool to accomplish some task we have to do… that will lead to pleasures.
Maybe, just maybe, we find ourselves in this virtual chat realm of a dating site, armed with an arsenal of dazzling wit and charm, in a desperate attempt to lure our conversation partner into a whirlwind of desire. Ah, yes, for if they succumb to our irresistible banter, it might just give our chances of getting laid a mighty boost, to ensure the replication of our selfish DNA.
But hold on a minute! What if, in an alternative universe, we're toiling away on an article for our demanding boss, fueled by the audacious dream of securing that long-awaited promotion? Yes, indeed! Picture this: a promotion that would pave the way for an increase in our income, allowing us to rent a grandiose abode worthy of our ambitions. And oh, the wonders it would do to our romantic prospects! No longer confined to a tiny apartment, we'd have a place that could woo potential partners with its sheer impressiveness. You see, it's all in the name of bolstering our chances of getting laid and ensuring the proliferation of our mighty, selfish DNA!
Or perhaps, we find ourselves immersed in the captivating world of a 3D Configurator. Picture it: we're meticulously designing the kitchen of our dreams, an expansive masterpiece that would make Gordon Ramsay weak at the knees. This kitchen is destined to be the ultimate magnet for potential mates. Its impeccable functionality and jaw-dropping aesthetics would leave them utterly spellbound. And what do you know? Such magnetism would undeniably skyrocket our chances of getting laid, much to the immense satisfaction of our ever-evolving, DNA-driven selves.
You get the idea, emphasized by Jamie Zawinski:
"How will this software get my users laid" should be on the minds of anyone writing […] software.
We don't care about the software we use in itself. The more we notice the software we use, the more annoyed we are.
Software features can be good or bad: bad software features noisily slow down, interrupt, or block the task a user is trying to accomplish; good software features support this task directly, helping to "preserve [our] selfish molecules known as genes" to quote Richard Dawkins' "Selfish Gene".
Design is the act of making decisions. In this context, giving users choices they don't care about is a failure to design.
De Botton's elegance can be a vivid guide for software design, helping in making the right decisions.
Software (like an elegant bridge) should not expose the problems surmounted to help a user accomplish her task; software (like an elegant bridge) should at the same time have powerful features ("strength") and be simple to use (as in "grace and economy"). Yet if simplicity is associated with a lack of powerful features, the chances a software will solve a user's problem are slim.