{"id":586,"date":"2006-12-15T00:09:47","date_gmt":"2006-12-15T00:09:47","guid":{"rendered":"https:\/\/www.joelonsoftware.com\/?p=586"},"modified":"2006-12-15T00:09:47","modified_gmt":"2006-12-15T00:09:47","slug":"elegance","status":"publish","type":"post","link":"https:\/\/www.joelonsoftware.com\/2006\/12\/15\/elegance\/","title":{"rendered":"Elegance"},"content":{"rendered":"<p>Alain de Botton, writing in <a href=\"http:\/\/www.alaindebotton.com\/architecture.asp\">The Architecture of Happiness<\/a> (Pantheon Books, 2006) has a section on elegance that any software designer will find familiar.<\/p>\n<p>He compares the Salginatobel Bridge, in Switzerland&#8230;<\/p>\n<p>&nbsp;<img data-recalc-dims=\"1\" decoding=\"async\" border=\"0\" alt=\"\" src=\"https:\/\/i0.wp.com\/www.joelonsoftware.com\/wp-content\/uploads\/2006\/12\/15salginatobel.png?w=730&#038;ssl=1\" \/>&nbsp;<\/p>\n<p>&#8230;to the Clifton Suspension Bridge, in England:<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" border=\"0\" alt=\"\" src=\"https:\/\/i0.wp.com\/www.joelonsoftware.com\/wp-content\/uploads\/2006\/12\/15clifton.png?w=730&#038;ssl=1\" \/><\/p>\n<p>&#8230; in one of the most amazing books about architecture I&#8217;ve ever read:<\/p>\n<blockquote style=\"MARGIN-RIGHT: 0px\" dir=\"ltr\">\n<p>\u201cBoth Robert Maillart\u2019s Salginatobel and Isambard Brunel\u2019s Clifton Suspension bridges are structures of strength; both attract our veneration for carrying us safely across a fatal drop\u2014and yet Maillart\u2019s bridge is the more beautiful of the pair for the exceptionally nimble, apparently effortless way in which it carries out its duty. With its ponderous masonry and heavy steel chains, Brunel\u2019s construction has something to it of a stocky middle-aged man who hoists his trousers and loudly solicits the attention of others before making a jump between two points, whereas Maillart\u2019s bridge resembles a lithe athlete who leaps without ceremony and bows demurely to his audience before leaving the stage. Both bridges accomplish daring feats, but Maillart\u2019s possesses the added virtue of making its achievement look effortless\u2014and because we sense it isn\u2019t, 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\u2014holding, spanning, sheltering\u2014with grace and economy as well as strength; when it has the modesty not to draw attention to the difficulties it has surmounted.\u201d<\/p>\n<\/blockquote>\n<p>In that context, I\u2019d like revisit my recent themes of choices and simplicity and add a third concept, elegance.<\/p>\n<p>People, for the most part, are not playing with their software because they want to. They\u2019re using the software as a tool to accomplish something else that they would like to do. Maybe they are using a chat program to try and seem witty, in hopes that the person they are chatting with will want to spend time with them, so that, ultimately, they have a better chance of getting laid, so that, ultimately, their selfish DNA will get to replicate itself. Maybe they are using a spreadsheet to try and figure out if they can afford a bigger apartment, so that, ultimately, dates will be more impressed when they come over, increasing their chance of getting laid, again, benefitting the DNA. Maybe they\u2019re working on a PowerPoint for the boss so that they will get a promotion so that they\u2019ll have more money which they can use to rent a larger apartment that would attract mates, thus increasing their chance of getting laid, (getting the idea yet?) so the selfish DNA can replicate. Maybe they are looking for a recipe for goat cheese ravioli on the Internet, etc., etc., \u2026 DNA.<\/p>\n<p>Unless they\u2019re software reviewers for a living, they don\u2019t really care about the software itself, and the more they notice it, the more annoyed they\u2019re going to be.<\/p>\n<p>Choices, therefore, can be good or bad. They\u2019re good when they support the task the user is trying to accomplish fairly directly. I want to be able to <em>choose<\/em> who to chat with (duh.) They\u2019re bad when they represent an intrusion into the user\u2019s actual DNA-replication goals. Every few days some crappy software I can\u2019t even remember installing pops up noisy bulletins asking me if I want to upgrade something or other. <em>I could not care LESS. I\u2019m doing something. Leave me alone!<\/em> I\u2019m <em>sure<\/em> that the team at Sun Microsystems who just released this <em>fabulous<\/em> new version of the Java virtual machine have been thinking about the incremental release night and day for months and months, but the other 5,000,000,000 of us here on the planet really don\u2019t give a flying monkey. You just cannot <em>imagine<\/em> how <em>little<\/em> I want to spend <em>even three seconds of my life<\/em> thinking about whether or not to install that new JVM. Somebody out there is already firing up Gmail to tell me that the JVM mustn\u2019t just upgrade itself \u201cbecause that might break something.\u201d Yeah, if the entire collective wisdom of the Java development team doesn\u2019t know if it\u2019s going to break something, how am <em>I<\/em> supposed to know? Sheeesh.<\/p>\n<p>If you\u2019re using the term simplicity to mean \u201cgrace and economy\u201d or \u201celegance,\u201d that\u2019s terrific. A great example of this is the difference between the way you search for music on Rhapsody and the way you search for music on iTunes. Rhapsody makes you decide if you want to search for albums, tracks, or artists. iTunes doesn\u2019t give you any choice: it just searches all fields, which works just as well and is easier. Economy means power, in this case, and it\u2019s a feature.<\/p>\n<p>On the other hand, if you\u2019re using simplicity to mean a lack of power, a lack of features, that\u2019s fine, if you want to be in the paper clip business, good luck with that, but the chances that your product will solve my exact problems starts to shrink and your potential market share does, too.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alain de Botton, writing in The Architecture of Happiness (Pantheon Books, 2006) has a section on elegance that any software designer will find familiar. He compares the&hellip; <span class=\"read-more\"><a class=\"more-link\" href=\"https:\/\/www.joelonsoftware.com\/2006\/12\/15\/elegance\/\" rel=\"bookmark\">Read more <span class=\"screen-reader-text\">&#8220;Elegance&#8221;<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3,2],"tags":[],"class_list":["post-586","post","type-post","status-publish","format-standard","hentry","category-software-designer","category-news"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/s83KNI-elegance","_links":{"self":[{"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/posts\/586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":0,"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/posts\/586\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/media?parent=586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/categories?post=586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.joelonsoftware.com\/wp-json\/wp\/v2\/tags?post=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}