CINXE.COM

The Cult of the Complex – A List Apart

<!doctype html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> <title>The Cult of the Complex &#8211; A List Apart</title> <meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <link rel='dns-prefetch' href='//secure.gravatar.com' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//widgets.wp.com' /> <link rel='dns-prefetch' href='//s0.wp.com' /> <link rel='dns-prefetch' href='//0.gravatar.com' /> <link rel='dns-prefetch' href='//1.gravatar.com' /> <link rel='dns-prefetch' href='//2.gravatar.com' /> <link rel='preconnect' href='//i0.wp.com' /> <link rel="alternate" type="application/rss+xml" title="A List Apart &raquo; Feed" href="https://alistapart.com/main/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/alistapart.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://149572954.v2.pressablecdn.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='co-authors-plus-coauthors-style-inline-css' type='text/css'> .wp-block-co-authors-plus-coauthors.is-layout-flow [class*=wp-block-co-authors-plus]{display:inline} </style> <style id='co-authors-plus-avatar-style-inline-css' type='text/css'> .wp-block-co-authors-plus-avatar :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-avatar :where(img){vertical-align:middle}.wp-block-co-authors-plus-avatar:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-avatar.aligncenter{display:table;margin-inline:auto} </style> <style id='co-authors-plus-image-style-inline-css' type='text/css'> .wp-block-co-authors-plus-image{margin-bottom:0}.wp-block-co-authors-plus-image :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-image :where(img){vertical-align:middle}.wp-block-co-authors-plus-image:is(.alignfull,.alignwide) :where(img){width:100%}.wp-block-co-authors-plus-image:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-image.aligncenter{display:table;margin-inline:auto} </style> <style id='safe-svg-svg-icon-style-inline-css' type='text/css'> .safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{height:100%;max-height:100%;max-width:100%;width:100%} </style> <link rel='stylesheet' id='mediaelement-css' href='https://149572954.v2.pressablecdn.com/wp-includes/js/mediaelement/mediaelementplayer-legacy.min.css?ver=4.2.17' type='text/css' media='all' /> <link rel='stylesheet' id='wp-mediaelement-css' href='https://149572954.v2.pressablecdn.com/wp-includes/js/mediaelement/wp-mediaelement.min.css?ver=6.7.1' type='text/css' media='all' /> <style id='jetpack-sharing-buttons-style-inline-css' type='text/css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='coil-monetize-css-css' href='https://149572954.v2.pressablecdn.com/wp-content/plugins/coil-web-monetization/assets/css/frontend/coil.min.css?ver=2.0.2' type='text/css' media='all' /> <link rel='stylesheet' id='coil-messaging-css' href='https://149572954.v2.pressablecdn.com/wp-content/plugins/coil-web-monetization/assets/css/messages/coil.min.css?ver=2.0.2' type='text/css' media='all' /> <link rel='stylesheet' id='ala-style-css' href='https://149572954.v2.pressablecdn.com/wp-content/themes/ala/style.css?ver=1671008582' type='text/css' media='all' /> <link rel='stylesheet' id='ala-prism-style-css' href='https://149572954.v2.pressablecdn.com/wp-content/themes/ala/js/prism/prism.css?ver=1.0' type='text/css' media='all' /> <link rel='stylesheet' id='jetpack_likes-css' href='https://149572954.v2.pressablecdn.com/wp-content/plugins/jetpack/modules/likes/style.css?ver=14.2-a.9' type='text/css' media='all' /> <link rel='stylesheet' id='sharedaddy-css' href='https://149572954.v2.pressablecdn.com/wp-content/plugins/jetpack/modules/sharedaddy/sharing.css?ver=14.2-a.9' type='text/css' media='all' /> <link rel='stylesheet' id='social-logos-css' href='https://149572954.v2.pressablecdn.com/wp-content/plugins/jetpack/_inc/social-logos/social-logos.min.css?ver=14.2-a.9' type='text/css' media='all' /> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <link rel="https://api.w.org/" href="https://alistapart.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://alistapart.com/wp-json/wp/v2/article/18857" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://alistapart.com/xmlrpc.php?rsd" /> <link rel="canonical" href="https://alistapart.com/article/cult-of-the-complex/" /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://alistapart.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Falistapart.com%2Farticle%2Fcult-of-the-complex%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://alistapart.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Falistapart.com%2Farticle%2Fcult-of-the-complex%2F&#038;format=xml" /> <style>img#wpstats{display:none}</style> <meta name="monetization" content="$ilp.uphold.com/Kh7NgDU9kqp3" /> <link rel="monetization" href="https://ilp.uphold.com/Kh7NgDU9kqp3" /> <link rel="pingback" href="https://alistapart.com/xmlrpc.php"><meta name="description" content="’Tis a gift to be simple. ALA’s Zeldman bemoans our industry’s current fetish for the needlessly complicated over the straightforward. Escape the cult of the complex! Get back to improving lives, one interaction at a time." /> <style type="text/css"> .site-title, .site-description { position: absolute; clip: rect(1px, 1px, 1px, 1px); } </style> <!-- Jetpack Open Graph Tags --> <meta property="og:type" content="article" /> <meta property="og:title" content="The Cult of the Complex" /> <meta property="og:url" content="https://alistapart.com/article/cult-of-the-complex/" /> <meta property="og:description" content="’Tis a gift to be simple. ALA’s Zeldman bemoans our industry’s current fetish for the needlessly complicated over the straightforward. Escape the cult of the complex! Get back to improving lives, o…" /> <meta property="article:published_time" content="2018-05-31T13:15:00+00:00" /> <meta property="article:modified_time" content="2019-09-22T22:45:50+00:00" /> <meta property="og:site_name" content="A List Apart" /> <meta property="og:image" content="https://i0.wp.com/alistapart.com/wp-content/uploads/2018/05/ALA340_SASS_300_1920_1001_81.jpg?fit=1200%2C626&#038;ssl=1" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="626" /> <meta property="og:image:alt" content="" /> <meta property="og:locale" content="en_US" /> <meta name="twitter:site" content="@alistapart" /> <meta name="twitter:text:title" content="The Cult of the Complex" /> <meta name="twitter:image" content="https://i0.wp.com/alistapart.com/wp-content/uploads/2018/05/ALA340_SASS_300_1920_1001_81.jpg?fit=1200%2C626&#038;ssl=1&#038;w=640" /> <meta name="twitter:card" content="summary_large_image" /> <!-- End Jetpack Open Graph Tags --> <link rel="icon" href="https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/cropped-icon_navigation-laurel-512.jpg?fit=32%2C32&#038;ssl=1" sizes="32x32" /> <link rel="icon" href="https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/cropped-icon_navigation-laurel-512.jpg?fit=192%2C192&#038;ssl=1" sizes="192x192" /> <link rel="apple-touch-icon" href="https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/cropped-icon_navigation-laurel-512.jpg?fit=180%2C180&#038;ssl=1" /> <meta name="msapplication-TileImage" content="https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/cropped-icon_navigation-laurel-512.jpg?fit=270%2C270&#038;ssl=1" /> <style type="text/css" id="wp-custom-css"> .ala-editors-note a { text-decoration: underline; } i, em, cite { font-weight: inherit; } code, kbd, tt, var { font-size: .9375em; text-transform: none; } .ala-opening-quote figure.quote blockquote p { display: inline; } .ala-opening-quote figure.quote blockquote::before, .ala-opening-quote figure.quote blockquote::after { content: ""; } .ala-opening-quote figure.quote blockquote > p:first-child::before { content: "“"; } .ala-opening-quote figure.quote blockquote > p:first-child::after { content: "”"; } @media only screen and (max-width: 47.9375em) { /* ---------------------- RESPONSIVE TABLES ---------------------- */ figure:not(.not-rwd) table { display: block; width: 100%; border-bottom: 1px solid #bfbfbf; } figure:not(.not-rwd) table caption { display: block; } figure:not(.not-rwd) table thead { display: none; visibility: hidden; } figure:not(.not-rwd) table tbody, figure:not(.not-rwd) table tr, figure:not(.not-rwd) table th, figure:not(.not-rwd) table td { border: 0; display: block; padding: 0; text-align: left; white-space: normal; } figure:not(.not-rwd) table tr { margin: 1em 0; } figure:not(.not-rwd) .gist table { display: table; } figure:not(.not-rwd) .gist table tr { display: table-row; margin-bottom: 0; } figure:not(.not-rwd) .gist table td { display: table-cell; } table th[data-title]:before, table td[data-title]:before { content: attr(data-title) ": "; font-weight: bold; font-family: "Franklin ITC", sans-serif; } table th:not([data-title]) { font-weight: bold; font-family: "Franklin ITC", sans-serif; } table td:empty { display: none; } .main-content > figure:not(.not-rwd) table tbody tr:nth-child(odd) td { background: none; } .col-1 tr :nth-child(1):not(code), .col-2 tr :nth-child(2):not(code), .col-3 tr :nth-child(3):not(code):not(span), .col-4 tr :nth-child(4):not(code) { border: none; } caption { border: none; border-bottom: 1px solid #bfbfbf; } .main-content > figure table th, .main-content > figure table td { padding-top: 8px; padding-bottom: 8px; } figure.not-rwd { overflow: auto; } .entry-content>figure table tbody tr:nth-child(2n+1) td, .entry-content>table tbody tr:nth-child(2n+1) td { background: transparent; } } </style> <!-- Jetpack Google Analytics --> <script async src='https://www.googletagmanager.com/gtag/js?id=G-F1JXXVHTDV'></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push( arguments ); } gtag( 'js', new Date() ); gtag( 'config', "G-F1JXXVHTDV" ); </script> <!-- End Jetpack Google Analytics --> </head> <body class="article-template-default single single-article postid-18857 wp-custom-logo monetization-not-initialized coil-monetized coil-public article-cult-of-the-complex" itemscope itemtype="http://schema.org/Article"> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <header id="masthead" class="site-header"> <div class="site-branding"> <a href="https://alistapart.com/" class="custom-logo-link" rel="home"><img width="960" height="98" src="https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/ala-logo-big.png?fit=960%2C98&amp;ssl=1" class="custom-logo" alt="A List Apart" decoding="async" srcset="https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/ala-logo-big.png?w=960&amp;ssl=1 960w, https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/ala-logo-big.png?resize=300%2C31&amp;ssl=1 300w, https://i0.wp.com/alistapart.com/wp-content/uploads/2019/03/ala-logo-big.png?resize=768%2C78&amp;ssl=1 768w" sizes="(max-width: 960px) 100vw, 960px" /></a> <p class="site-title"><a href="https://alistapart.com/" rel="home" itemscope itemtype="http://schema.org/ImageObject">A List Apart</a></p> <p class="site-description">For people who make websites</p> </div><!-- .site-branding --> <nav id="site-navigation" class="main-navigation" itemscope="" itemtype="http://schema.org/SiteNavigationElement"> <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><span class="screen-reader-text">Primary Menu</span></button> <div class="menu-site-header-container"><ul id="primary-menu" class="menu"><li id="menu-item-6000493" class="ala-home-url menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-6000493"><a href="https://alistapart.com" itemprop="url"><span itemprop="name">Home</span></a></li> <li id="menu-item-6000494" class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-6000494"><a href="https://alistapart.com/articles/" itemprop="url"><span itemprop="name">Articles</span></a></li> <li id="menu-item-6000495" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000495"><a href="https://alistapart.com/events/" itemprop="url"><span itemprop="name">Events</span></a></li> <li id="menu-item-6000496" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000496"><a href="https://alistapart.com/topics/" itemprop="url"><span itemprop="name">Topics</span></a></li> <li id="menu-item-6000497" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000497"><a href="https://alistapart.com/about/contribute/" itemprop="url"><span itemprop="name">Write for Us</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href="#" class="mlp-language-nav"><span itemprop="name">Language (English) <i class="arrow-down"></i></span></a><ul class="sub-menu mlp-languages"><li class="site-id-"2" mlp-language-nav-item menu-item menu-item-type-mlp_language menu-item-object-mlp_language"><a rel="alternate" href="https://alistapart.com/it" itemprop="url"><span itemprop="name">Italian</span></a></li></ul></li></ul></div> <form role="search" method="get" class="search-form" action="https://alistapart.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" /> </label> <input type="submit" class="search-submit" value="Search" /> </form> </nav><!-- #site-navigation --> </header><!-- #masthead --> <div id="content" class="site-content"> <div id="primary" class="content-area"> <main id="main" class="site-main"> <article id="post-18857" class="post-18857 article type-article status-publish has-post-thumbnail hentry category-code category-css category-html category-javascript category-state-of-the-web category-workflow-tools"> <figure class="hero-wide" itemprop="image" itemscope="" itemtype="http://schema.org/ImageObject"> <div class="post-thumbnail"> <img width="1920" height="1001" src="https://149572954.v2.pressablecdn.com/wp-content/uploads/2018/05/ALA340_SASS_300_1920_1001_81.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" itemprop="contentUrl" decoding="async" srcset="https://i0.wp.com/alistapart.com/wp-content/uploads/2018/05/ALA340_SASS_300_1920_1001_81.jpg?w=1920&amp;ssl=1 1920w, https://i0.wp.com/alistapart.com/wp-content/uploads/2018/05/ALA340_SASS_300_1920_1001_81.jpg?resize=300%2C156&amp;ssl=1 300w, https://i0.wp.com/alistapart.com/wp-content/uploads/2018/05/ALA340_SASS_300_1920_1001_81.jpg?resize=768%2C400&amp;ssl=1 768w, https://i0.wp.com/alistapart.com/wp-content/uploads/2018/05/ALA340_SASS_300_1920_1001_81.jpg?resize=1024%2C534&amp;ssl=1 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /> </div><!-- .post-thumbnail --> <span class="illustrator-credit" itemprop="contributor" itemscope itemtype="http://schema.org/Person"> Illustration by <a href="https://alistapart.com/author/kcornell/" title="Posts by Kevin Cornell" class="author url fn" rel="author">Kevin Cornell</a> </span> </figure> <header class="entry-header"> <h1 class="entry-title" itemprop="headline">The Cult of the Complex</h1> <div class="entry-meta"> <span class="byline"> by <span class="author vcard" itemprop="author" itemscope itemtype="http://schema.org/Person"><a class="url fn n" href="https://alistapart.com/author/zeldman/" itemprop="url"> <span itemprop="name">Jeffrey Zeldman</span></a></span></span><span class="posted-on"><time class="entry-date published" datetime="2018-05-31T09:15:00-04:00">May 31, 2018</time><time class="updated" datetime="2019-09-22T18:45:50-04:00">September 22, 2019</time></span> <div class="entry-topic"> <span class="cat-links">Published in <a href="https://alistapart.com/blog/topic/code/" rel="category tag">Code</a>, <a href="https://alistapart.com/blog/topic/css/" rel="category tag">CSS</a>, <a href="https://alistapart.com/blog/topic/html/" rel="category tag">HTML</a>, <a href="https://alistapart.com/blog/topic/javascript/" rel="category tag">JavaScript</a>, <a href="https://alistapart.com/blog/topic/state-of-the-web/" rel="category tag">State of the Web</a>, <a href="https://alistapart.com/blog/topic/workflow-tools/" rel="category tag">Workflow &amp; Tools</a></span> </div> </div><!-- .entry-meta --> </header><!-- .entry-header --> <div class="entry-content"> <p>’Tis a gift to be simple. Increasingly, in our line of work, ’tis a rare gift indeed.</p> <div class="aside-breaker"><span>Article Continues Below</span></div> <div class="ala-single-sidebar-wrapper"> <span class="screen-reader-text">Article Continues Below</span> <aside class="ala-single-sidebar-minutiae"> <a href="https://alistapart.com/article/cult-of-the-complex/#comments" class="ala-comment-bubble" >17 Comments</a> <div class="ala-share"> <div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon sd-sharing"><h3 id="section1" class="sd-title">Share this:<a class="subhead-anchor" href="#section1">#section1</a></h3><div class="sd-content"><ul><li class="share-facebook"><a rel="nofollow noopener noreferrer" data-shared="sharing-facebook-18857" class="share-facebook sd-button share-icon no-text" href="https://alistapart.com/article/cult-of-the-complex/?share=facebook" target="_blank" title="Click to share on Facebook" ><span></span><span class="sharing-screen-reader-text">Click to share on Facebook (Opens in new window)</span></a></li><li class="share-twitter"><a rel="nofollow noopener noreferrer" data-shared="sharing-twitter-18857" class="share-twitter sd-button share-icon no-text" href="https://alistapart.com/article/cult-of-the-complex/?share=twitter" target="_blank" title="Click to share on Twitter" ><span></span><span class="sharing-screen-reader-text">Click to share on Twitter (Opens in new window)</span></a></li><li class="share-end"></li></ul></div></div></div> </div> <section id="custom_html-6" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><a href="https://www.patreon.com/alistapart" class="patreon-bubble">Become a patron</a></div></section> </aside> <aside class="ala-single-sidebar-1"> <section id="block-2" class="widget widget_block"><div class="banner"> <a href="https://toddle.dev?utm_source=ala"> <img decoding="async" class="banner-logo" src="https://149572954.v2.pressablecdn.com/wp-content/uploads/2024/09/A-List-Apart-toddle.png" alt="Toddle.dev Logo" /> <p>The open-source editor for front-end dev teams. Ditch the text editor and get real-time output and cross-team collaboration.</p> </a> </div> <div class="banner ala-banner"> <a href="https://abookapart.com/"> <img decoding="async" src="https://149572954.v2.pressablecdn.com/wp-content/uploads/2019/03/logo_a-book-apart-color.png" alt="A Book Apart Logo" class="banner-logo" /> <p>A Book Apart:<br> Brief books for people who make websites.</p> </a> </div></section> </aside> </div> <p>In an industry that extols innovation over customer satisfaction, and prefers algorithm to human judgement (forgetting that every algorithm has human bias in its DNA), perhaps it should not surprise us that toolchains have replaced know-how.</p> <p>Likewise, in a field whose hiring practices overwhelmingly favor young white men, it’s perhaps to be expected that web making has become something of a dick measuring competition.</p> <p>It was not always this way, and it needn’t stay this way. If we wish to get back to the business of quietly improving people’s lives, one thoughtful interaction at a time, we must rid ourselves of the cult of the complex. Admitting the problem is the first step in solving it.</p> <h2 id="section2">And the div cries Mary<a class="subhead-anchor" href="#section2">#section2</a></h2> <p>In 2001, more and more of us began using CSS to replace the <a href="http://www.ironspider.ca/webdesign102/tables4layout2.htm">non-semantic HTML table layouts</a> with which we’d designed the web’s earliest sites. I soon noticed something about many of our new CSS-built sites. I especially noticed it in sites built by the era’s expert backend coders, many of whom viewed HTML and CSS as baby languages for non-developers.</p> <p>In those days, whether from contempt for the deliberate, intentional (designed) limitations of HTML and CSS, or ignorance of the HTML and CSS framers’ intentions, many code jockeys who switched from table layouts to CSS wrote markup consisting chiefly of divs and spans. Where they meant list item, they wrote span. Where they meant paragraph, they wrote div. Where they meant level two headline, they wrote div or span with a classname of h2, or, avoiding even that tragicomic gesture toward document structure, wrote a div or span with verbose inline styling. Said div was followed by another, and another. They bred like locusts, stripping our content of structural meaning.</p> <p>As an early adopter and promoter of CSS via my work in The Web Standards Project (kids, ask your parents), I rejoiced to see our people using the new language. But as a designer who understood, at least on a basic level, how HTML and CSS were supposed to work together, I chafed.</p> <h2 id="section3">Cry, the beloved font tag<a class="subhead-anchor" href="#section3">#section3</a></h2> <p>Everyone who wrote the kind of code I just described thought they were advancing the web merely by walking away from table layouts. They had good intentions, but their executions were flawed. My colleagues and I here at <i>A List Apart</i> were thus compelled to explain a few things.</p> <p>Mainly, we argued that HTML consisting mostly of divs and spans and classnames was in no way better than table layouts for content discovery, accessibility, portability, reusability, or the web’s future. If you wanted to build for people and the long term, we said, then simple, structural, semantic HTML was best—each element deployed for its intended purpose. <em>Don’t use a div when you mean a p.</em></p> <p>This basic idea, and I use the adjective advisedly, along with other equally rudimentary and self-evident concepts, formed the basis of my 2003 book <a href="https://en.wikipedia.org/wiki/Designing_with_Web_Standards"><i>Designing With Web Standards</i></a>, which the industry treated as a revelation, when it was merely common sense.</p> <h2 id="section4">The message messes up the medium<a class="subhead-anchor" href="#section4">#section4</a></h2> <p>When we divorce ideas from the conditions under which they arise, the result is dogma and misinformation—two things the internet is great at amplifying. Somehow, over the years, in front-end design conversations, the premise “don’t use a div when you mean a p” got corrupted into “divs are bad.”</p> <p>A backlash in defense of divs followed this meaningless running-down of them—as if the W3C had created the div as a forbidden fruit. So, let’s be clear. No HTML element is bad. No HTML element is good. A screwdriver is neither good nor bad, unless you try to use it as a hammer. Good usage is all about appropriateness.</p> <p>Divs are not bad. If no HTML5 element is better suited to an element’s purpose, divs are the best and most appropriate choice. Common sense, right? And yet.</p> <p>Somehow, the two preceding simple sentences are never the takeaway from these discussions. Somehow, over the years, a vigorous defense of divs led to a defiant (or ignorant) overuse of them. In some strange way, stepping back from a meaningless rejection of divs opened the door to gaseous frameworks that abuse them.</p> <p>Note: We don’t mind so much about the abuse of divs. After all, they are not living things. We are not purists. It’s the people who use the stuff we design who suffer from our uninformed or lazy over-reliance on these div-ridden gassy tools. And that suffering is what we protest. <code>div</code>-ridden, overbuilt frameworks stuffed with mystery meat offer the developer tremendous power—especially the power to build things quickly. But that power comes at a price your users pay: a hundred tons of stuff your project likely doesn’t need, but you force your users to download anyway. And that bloat is not the only problem. For who knows what evil lurks in someone else’s code?</p> <h2 id="section5">Two cheers for frameworks<a class="subhead-anchor" href="#section5">#section5</a></h2> <p>If you entered web design and development in the past ten years, you’ve likely learned and may rely on frameworks. Most of these are built on meaningless arrays of divs and spans—structures no better than the bad HTML we wrote in 1995, however more advanced the resulting pages may appear. And what keeps the whole monkey-works going? JavaScript, and more JavaScript. Without it, your content may not render. With it, you may deliver more services than you intended to.</p> <p>There’s nothing wrong with using frameworks to quickly whip up and test product prototypes, especially if you do that testing in a non-public space. And theoretically, if you know what you’re doing, and are willing to edit out the bits your product doesn’t need, there’s nothing wrong with using a framework to launch a public site. Notice the operative phrases: <em>if you know what you’re doing, and are willing to edit out the bits your product doesn’t need</em>.</p> <p>Alas, many new designers and developers (and even many experienced ones) feel like they can’t launch a new project without dragging in packages from NPM, or Composer, or whatever, with no sure idea what the code therein is doing. <a href="https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5">The results can be dangerous.</a> Yet here we are, training an entire generation of developers to build and launch projects with untrusted code.</p> <p>Indeed, many designers and developers I speak with would rather dance naked in public than admit to posting a site built with hand-coded, <a href="https://alistapart.com/article/understandingprogressiveenhancement">progressively enhanced</a> HTML, CSS, and JavaScript they understand and wrote themselves. For them, it’s a matter of job security and viability. There’s almost a fear that if you haven’t mastered a dozen new frameworks and tools each year (and by mastered, I mean used), you’re slipping behind into irrelevancy. HR folks who write job descriptions listing the ten thousand tool sets you’re supposed to know backwards and forwards to qualify for a junior front-end position don’t help the situation.</p> <h2 id="section6">CSS is not broken, and it’s not too hard<a class="subhead-anchor" href="#section6">#section6</a></h2> <p>As our jerrybuilt contraptions, lashed together with fifteen layers of code we don’t understand and didn’t write ourselves, start to buckle and hiss, we blame HTML and CSS for the faults of developers. This fault-finding gives rise to ever more complex cults of specialized CSS, with internecine sniping between cults serving as part of their charm. New sects spring up, declaring CSS is broken, only to splinter as members disagree about precisely which way it’s broken, or which external technology not intended to control layout should be used to “fix” CSS. (Hint: They mostly choose JavaScript.)</p> <p>Folks, CSS is not broken, and it’s not too hard. (You know what’s hard? Chasing the ever-receding taillights of the next shiny thing.) But don’t take my word for it. Check these out:</p> <ul> <li><a href="https://www.smashingmagazine.com/2018/05/guide-css-layout/">Getting Started with CSS Layout—Rachel Andrew, <i>Smashing Magazine</i></a></li> <li><a href="http://jensimmons.com/post/feb-27-2017/learn-css-grid">Learn CSS Grid—Jen Simmons</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout—MDN web docs</a></li> <li><a href="https://gridbyexample.com/examples/">Grid by Example—Rachel Andrew</a></li> <li><a href="https://css-tricks.com/snippets/css/complete-guide-grid/">A Complete Guide to Grid—Chris House, CSS-Tricks</a></li> <li><a href="https://alistapart.com/article/practical-grid">Practical CSS Grid: Adding Grid to an Existing Design—Eric Meyer, <i>A List Apart</i></a></li> <li><a href="http://labs.jensimmons.com/">Jen Simmons Labs</a></li> <li><a href="https://www.youtube.com/layoutland">Layout Land—YouTube</a></li> <li><a href="https://abookapart.com/products/the-new-css-layout">A Book Apart: <i>The New CSS Layout</i>, by Rachel Andrew</a></li> <li><a href="https://alistapart.com/article/the-story-of-css-grid-from-its-creators">The Story of CSS Grid, from its Creators—Aaron Gustafson, <i>A List Apart</i></a></li> <li><a href="http://www.zeldman.com/2018/05/02/transcript-intrinsic-web-design-with-jen-simmons-the-big-web-show/">Transcript: Intrinsic Web Design with Jen Simmons (The Big Web Show)</a></li> </ul> <p>CSS Grid is here; it’s logical and fairly easy to learn. You can use it to accomplish all kinds of layouts that used to require JavaScript and frameworks, plus new kinds of layout nobody’s even tried yet. That kind of power requires some learning, but it’s good learning, the kind that stimulates creativity, and its power comes at no sacrifice of semantics, or performance, or accessibility. Which makes it web technology worth mastering.</p> <p>The same cannot be said for our deluge of frameworks and alternative, JavaScript-based platforms. As a designer who used to love creating web experiences in code, I am baffled and numbed by the growing preference for complexity over simplicity. Complexity is good for convincing people they could not possibly do your job. Simplicity is good for everything else.</p> <h2 id="section7">Keep it simple, smarty<a class="subhead-anchor" href="#section7">#section7</a></h2> <p>Good communication strives for clarity. Design is its most brilliant when it appears <a href="https://www.lukew.com/ff/entry.asp?1945">most obvious</a>—most simple. The question for web designers should never be how complex can we make it. But that’s what it has become. Just as, in pursuit of “<a href="https://twitter.com/mulegirl/status/997143427048357888">delight</a>,” we forget the true joy reliable, invisible interfaces can bring, so too, in chasing job security, do we pile on the platform requirements, forgetting that design is about solving business and customer problems … and that baseline skills never go out of fashion. As ALA’s Brandon Gregory, writing elsewhere, explains:</p> <figure id="figure1" class="quote"> <blockquote><p>I talk with a lot of developers who list Angular, Ember, React, or other fancy JavaScript libraries among their technical skills. That’s great, but can you turn that mess of functions the junior developer wrote into a custom extensible object that we can use on other projects, even if we don’t have the extra room for hefty libraries? Can you code an image slider with vanilla JavaScript so we don’t have to add jQuery to an older website just for one piece of functionality? Can you tell me what recursion is and give me a real-world example?</blockquote><figcaption>“<a href="https://medium.com/front-end-hacking/i-interview-web-developers-heres-how-to-impress-me-196029d8849e">I interview web developers. Here&#8217;s how to impress me.</a>&#8220;</figcaption></figure> <h2 id="section8">Growing pains<a class="subhead-anchor" href="#section8">#section8</a></h2> <p>There’s a lot of complexity to good design. Technical complexity. UX complexity. Challenges of content and microcopy. Performance challenges. This has never been and never will be an easy job.</p> <p>Simplicity is not easy—not for us, anyway. Simplicity means doing the hard work that makes experiences <em>appear</em> seamless—the sweat and torture-testing and failure that eventually, with enough effort, yields experiences that seem to “just work.”</p> <p>Nor, in lamenting our industry’s turn away from basic principles and resilient technologies, am I suggesting that CDNs and Git are useless. Or wishing that we could go back to FTP—although I did enjoy the early days of web design, <a href="http://5by5.tv/bigwebshow/172">when one designer could do it all</a>. I’m glad I got to experience those simpler times.</p> <p>But I like these times just fine. And I think you do, too. Our medium is growing up, and it remains our great privilege to help shape its future while creating great experiences for our users. Let us never forget how lucky we are, nor, in chasing the ever-shinier, lose sight of the people and purpose we serve.</p> <div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-158094726-18857-677a58d8ce17e' data-src='https://widgets.wp.com/likes/?ver=14.2-a.9#blog_id=158094726&amp;post_id=18857&amp;origin=alistapart.com&amp;obj_id=158094726-18857-677a58d8ce17e&amp;n=1' data-name='like-post-frame-158094726-18857-677a58d8ce17e' data-title='Like or Reblog'><h3 id="section9" class="sd-title">Like this:<a class="subhead-anchor" href="#section9">#section9</a></h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div> <div class="ala-single-sidebar-wrapper sidebar-related"> <aside id="related" class="ala-single-sidebar-related"> <div class="ala-sidebar-content" > <section class="ala-sb-rel__latest"> <h3 class="ala-sb-rel__latest__title"> Recently by Jeffrey Zeldman </h3> <article> <h3 class="ala-sb-rel__latest__entry-title"> <a href="https://alistapart.com/article/i-am-a-creative/">I am a creative. </a></h3> <div class="ala-sb-rel__latest__entry-content">Don’t ask about process. I am a creative. </php></div> </article> </section> <section class="ala-sb-rel__category"> <h3 class="ala-sb-rel__cat__title"> Further reading about <a href="https://alistapart.com/blog/topic/code/">Code</a> </h3> <article> <h3 class="ala-sb-rel__cat__entry-title"> <a href="https://alistapart.com/article/opportunities-for-ai-in-accessibility/">Opportunities for AI in Accessibility </a></h3> <div class="ala-sb-rel__cat__entry-content">Microsoft's Accessibility Innovation Strategist discusses AI's potential for accessibility, emphasizing the need for responsible use and diverse teams to mitigate harm and promote inclusion for people with disabilities.</div> </article> <article> <h3 class="ala-sb-rel__cat__entry-title"> <a href="https://alistapart.com/article/mobile-first-css-is-it-time-for-a-rethink/">Mobile-First CSS: Is It Time for a Rethink? </a></h3> <div class="ala-sb-rel__cat__entry-content">Is mobile-first CSS always the best option? Patrick Clancey explores the pros and cons of the classic methodology, as well as when other solutions might work better.</div> </article> </section> </div> </aside> </div> </div><!-- .entry-content --> </article><!-- #post-18857 --> <footer class="ala-author"> <div class="ala-author__content clear"> <a name="panelist0"></a> <h4 class="ala-author__about">About the Author</h4> <div class="ala-author__avatar"> <img width="150" height="150" src="https://i0.wp.com/alistapart.com/wp-content/uploads/2003/09/photo_116023.jpg?resize=150%2C150&amp;ssl=1" class="avatar avatar-150 photo wp-post-image" alt="" /> </div> <h3 class="ala-author__name">Jeffrey Zeldman</h3> <div class="ala-author__description">Designing and blogging since 1995, <a href="http://www.zeldman.com/">Jeffrey Zeldman</a> (<a href="http://www.twitter.com/zeldman/">Twitter</a> | <a href="https://www.threads.net/@zeldman">Threads</a>) founded <i><a href="http://www.alistapart.com/">A List Apart</a></i> in 1998 and the <a href="https://www.happycog.com/">Happy Cog™</a> design studio in 1999; co-founded the design &amp; front-end conference An Event Apart (2005-2023) with <a href="https://meyerweb.com/">Eric Meyer</a>; publishes <a href="http://www.abookapart.com/">A Book Apart</a>—brief books for people who make websites (cofounder <a href="https://jasonsantamaria.com/">Jason Santa Maria</a>, CEO <a href="https://liminalbloom.co/">Katel LeDu</a>); wrote the industry-changing front-end bible <i><a href="http://en.wikipedia.org/wiki/Designing_with_Web_Standards">Designing With Web Standards</a></i>, currently in a third edition co-authored by <a href="https://ethanmarcotte.com/">Ethan Marcotte</a>; was a founding faculty member of the <a href="http://www.flickr.com/photos/svaixd/">MFA Interaction Design</a> program at School of Visual Arts NYC directed by <a href="https://www.linkedin.com/in/bobulate/">Liz Danzico</a>; and hosted <a href="http://5by5.tv/bigwebshow">The Big Web Show</a>, an internet radio spectacular co-founded with <a href="https://danbenjamin.com/">Dan Benjamin</a>. He is currently the Talent Chief Content Officer at <a href="https://automattic.com/about/">Automattic</a>, the people behind <a href="https://wordpress.com/">WordPress.com</a>, <a href="https://woo.com/">Woo</a>, <a href="https://www.tumblr.com/">Tumblr</a>, and more. Further details: <a href="http://en.wikipedia.org/wiki/Jeffrey_Zeldman">Wikipedia</a> | <a href="https://www.zeldman.com/about/">About page</a>.</div> </div> <aside class="ala-author__more"> <h3 class="ala-author__more_title">More from this author</h3> <h4 class="ala-author__article"> <a href="https://alistapart.com/article/i-am-a-creative/">I am a creative. </a> </h4> <h4 class="ala-author__article"> <a href="https://alistapart.com/article/nothing-fails-like-success/">Nothing Fails Like Success </a> </h4> <h4 class="ala-author__article"> <a href="https://alistapart.com/article/were-looking-for-people-who-love-to-write/">We’re Looking for People Who Love to Write </a> </h4> <h4 class="ala-author__article"> <a href="https://alistapart.com/article/a-list-apart-volunteer-update/">A List Apart volunteer update </a> </h4> <h4 class="ala-author__article"> <a href="https://alistapart.com/article/new-a-list-apart-wants-you/">New A List Apart wants you! </a> </h4> </aside> <aside class="ala-author-book clear"> <figure class="ala-author-book__cover"> <a class="ala-author-book__purchase-url" href="https://www.amazon.com/Designing-Web-Standards-Jeffrey-Zeldman/dp/0321616952"> <img width="232" height="300" src="https://i0.wp.com/alistapart.com/wp-content/uploads/2003/09/Google_Chromesnaps002.png?fit=232%2C300&amp;ssl=1" class="ala-author-book__cover" alt="" decoding="async" srcset="https://i0.wp.com/alistapart.com/wp-content/uploads/2003/09/Google_Chromesnaps002.png?w=599&amp;ssl=1 599w, https://i0.wp.com/alistapart.com/wp-content/uploads/2003/09/Google_Chromesnaps002.png?resize=232%2C300&amp;ssl=1 232w" sizes="(max-width: 232px) 100vw, 232px" /> </a> </figure> <article class="ala-author-book__description"> <h4 class="ala-author__also">Also from this author</h4> <h2><a class="ala-author-book__purchase-url" href="https://www.amazon.com/Designing-Web-Standards-Jeffrey-Zeldman/dp/0321616952">Designing With Web Standards, 3rd Edition <span class="ala-author-book__author-name">by Jeffrey Zeldman</span></a></h2> <div class="ala-author-book__description__body"><p>“A web designer without a copy of <i>Designing with Web Standards</i> is like a carpenter without a level. With this third edition, Zeldman continues to be the voice of clarity; explaining the complex in plain English for the rest of us.” — Dan Cederholm, author, <i>Bulletproof Web Design</i> and <i>Handcrafted CSS</i></p> </div> <a class="ala-author-book__purchase-url--cta" href="https://www.amazon.com/Designing-Web-Standards-Jeffrey-Zeldman/dp/0321616952"><span>➝</span> Buy now</a> </article> </aside> </footer> <aside class="widget-area pre-footer-widget-area pre-footer-single"> <section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="pre-footer-email-signup"> <strong>Get our latest articles in your inbox.</strong> <a href="https://alistapart.com/email-signup">Sign up for email alerts</a>. </div> </div></section> </aside><!-- .pre-footer-widget-area --> <div class="comment-area-wrap two-column-layout"> <div id="comments" class="comments-area column-content"> <h2 class="comments-title"> 17 Reader Comments </h2><!-- .comments-title --> <ol class="comment-list"> <li id="comment-27596" class="comment even thread-even depth-1"> <article id="div-comment-27596" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/9d53b9c942663513bb23e2e64f095d10?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/9d53b9c942663513bb23e2e64f095d10?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn"><a href="http://t.co/1LAUfWkX2P" class="url" rel="ugc external nofollow">nonsponsored</a></b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27596"><time datetime="2018-06-01T13:46:45-04:00">June 1, 2018 at 1:46 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>With many of the development trends, it seems like the problems are self-inflicted by not quite understanding something. So in creating a solution, the core problem isn&#8217;t understood and results in overcomplication.</p> <p>I think the business pressure of &#8216;deliver fast&#8217; has also played a part in complicating workflows under the guise of automation. If I can say such and such is automated, it&#8217;s immediately perceived as being efficient, even though the costs of set up, maintenance and on-boarding aren&#8217;t considered.</p> <p>It&#8217;s also interesting that we say we care about the environment and being inclusive, yet don&#8217;t approach development with the mindset that every byte has a cost, nor make accessibility a requirement.</p> <p>So my question is, where are the companies and agencies who focus on these things &#8211; solving the actual problem and taking the time to simplify the complex? This mindset must still be out there somewhere, right?</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27597" class="comment odd alt thread-odd thread-alt depth-1"> <article id="div-comment-27597" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/53e138f11320c0ec89e2a2450c127f57?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/53e138f11320c0ec89e2a2450c127f57?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">JF</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27597"><time datetime="2018-06-01T17:50:02-04:00">June 1, 2018 at 5:50 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>> where are the companies and agencies who focus on these things</p> <p>I&#8217;ve been involved with web accessibility for 18 years now, and currently the company I work for provides, amongst other things, instructor led training on how to meet accessibility requirements. I routinely meet &#8220;developers&#8221; who don&#8217;t even know basic HTML. Here&#8217;s one for you: next time you are talking to a developer, ask them about Description lists (previously called definition lists, but renamed in HTML5). If they can&#8217;t code up something as basic as that, is it any wonder they don&#8217;t get the whole &#8216;semantic structure&#8217; bit of HTML?) Double bonus points if they know how table headers and ids work.</p> <p>I lament the fact that there is no formal training in web technologies, so you have a legion of developers out there who don&#8217;t know what they don&#8217;t know. It&#8217;s fine and dandy to know how to work with frameworks, but I challenge hiring managers to have potential candidates hand code a basic web page in notepad during their interview, and if they can&#8217;t do that, why are you hiring them? And is it any wonder things start to crumble when they aren&#8217;t built on a solid foundation?</p> <p>BTW, if you aren&#8217;t sure:<br /> Description Lists &#8211; <a href="https://webplatform.github.io/docs/guides/html_lists/#Description-list-markup" rel="nofollow ugc">https://webplatform.github.io/docs/guides/html_lists/#Description-list-markup</a></p> <p>Table headers and ids &#8211; <a href="https://www.w3.org/TR/WCAG20-TECHS/H43.html" rel="nofollow ugc">https://www.w3.org/TR/WCAG20-TECHS/H43.html</a></p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27598" class="comment even thread-even depth-1"> <article id="div-comment-27598" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/854de2ae7f60c842339c827ff4c4bdd6?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/854de2ae7f60c842339c827ff4c4bdd6?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">C.S.Rhymes</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27598"><time datetime="2018-06-02T04:23:46-04:00">June 2, 2018 at 4:23 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Sometimes, not very often, npm goes down. Then I literally can&#8217;t work anymore as I need to do an npm install to pull down hundreds of packages before I can write a single line of code. </p> <p>Times like this make me realise what life as a web developer has become.</p> <p>I completely agree, web development has become too complex and I don&#8217;t know what to focus on and what to learn anymore. As soon as you learn something its out of date and replaced by something else. It makes me concerned with the future of the industry and my future career. </p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27599" class="comment odd alt thread-odd thread-alt depth-1"> <article id="div-comment-27599" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/e2a5c77fe7eb6ef470916422f171525f?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/e2a5c77fe7eb6ef470916422f171525f?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">jasha</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27599"><time datetime="2018-06-02T15:38:45-04:00">June 2, 2018 at 3:38 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Mr. Zeldman thanks for this article, is really fresh air! I work in a fantastic small reality where we still know almost 100% of the code (both frontend and backend) we are using for websites or web applications.<br /> But having a glance at job offers or when we need to cooperate with some other professionists, it seems the world cannot live without knowing at least 3 frameworks and the &#8220;basic&#8221; knowledge of HTML, CSS, js is not even mentioned nor considered, just something school thing, not professional.<br /> So it is some time I have been asking myself if I am outdated with my &#8220;hand made&#8221; coding way, even if I don&#8217;t feel, as I could solve any problems, interface with any system.<br /> Reading your article, a source for sure &#8220;on the topic&#8221;, really lift me up. So thanks a lot!</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27600" class="comment even thread-even depth-1"> <article id="div-comment-27600" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/6917b4ae9072301b20498ae8aa78edc6?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/6917b4ae9072301b20498ae8aa78edc6?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn"><a href="http://shallowthoughts.org" class="url" rel="ugc external nofollow">bridgestew</a></b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27600"><time datetime="2018-06-02T16:24:37-04:00">June 2, 2018 at 4:24 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>This article really pleased me. I said to my team recently, after we spent time going through Jen Simmons excellent Grid tutorials, &#8220;I think CSS frameworks are doomed. Why will we need them anymore when layout can be this simple?&#8221;</p> <p>I used the word &#8220;simple&#8221; referring to how slim the HTML markup was, thanks to the power of a true layout engine in CSS. </p> <p>This kind of simplification has spread to how we will handle our progressive enhancement as well. This excellent video: <a href="https://www.youtube.com/watch?v=-hmOZU7Zk10" rel="nofollow ugc">https://www.youtube.com/watch?v=-hmOZU7Zk10</a> had us discussing that our next move is to provide very simple, clean layouts to all browsers that do not support grid. Since we no longer have to use hacks (floats, inline blocks, or other tricks) to create the layouts we have, we plan to ditch them entirely for browsers that can&#8217;t comprehend a layout engine. I&#8217;m also discouraging &#8220;flex-box fallbacks&#8221; so that we are planning to use Grid in the way our team intends and Flexbox in the way our team intends, not as a supplemental workaround.</p> <p>I&#8217;m dreaming of really tight CSS files with this mindset and really tiny HTML &#8211; and I couldn&#8217;t be more excited! </p> <p>Now, to use the &#8220;The results can be dangerous&#8221; link from your article to scare my workplace (e-commerce site) into ditching a fair amount of the 3rd party services and cookies in use and I will watch our performance scores soar! 🙂</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27601" class="comment odd alt thread-odd thread-alt depth-1"> <article id="div-comment-27601" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/aef734e5b6c57fac5b64a21e342a20eb?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/aef734e5b6c57fac5b64a21e342a20eb?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">Sacha</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27601"><time datetime="2018-06-02T21:12:37-04:00">June 2, 2018 at 9:12 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>&#8220;I am baffled and numbed by the growing preference for complexity over simplicity. &#8221;</p> <p>I think we should all remember that &#8220;complexity&#8221; and &#8220;simplicity&#8221; can be relative notions. There&#8217;s a near-endless supply of programmers who think functional programming is the simplest thing ever, but are baffled by &#8220;float: right&#8221;. </p> <p>Also, dismissing a new technology as &#8220;too complex&#8221;, &#8220;overkill&#8221;, etc. is often a lazy way of not having to adapt to a changing landscape. </p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27602" class="comment even thread-even depth-1"> <article id="div-comment-27602" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/9c73a5a5a982488a3aedd1db2de20297?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/9c73a5a5a982488a3aedd1db2de20297?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">AllenHMay</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27602"><time datetime="2018-06-05T07:27:08-04:00">June 5, 2018 at 7:27 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Great insight (as always) Jeffrey.</p> <p>This leaves me with many questions like:</p> <p>How do we &#8216;disrupt&#8217; the trend of &#8216;complex&#8217; to raise the emphasis on a semantic and purposeful web?</p> <p>How do we reward the efforts of those who choose less tools (less complex) in favor of better HTML? </p> <p>The craft-beer movement has &#8216;disrupted&#8217; the corporate beer making industry, could there be a similar &#8216;craft web making&#8217; movement that would &#8216;upset&#8217; the trend of complexity?</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27603" class="comment odd alt thread-odd thread-alt depth-1"> <article id="div-comment-27603" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/39e906fdcf2c77d66e4232ab98c66b6e?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/39e906fdcf2c77d66e4232ab98c66b6e?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn"><a href="http://www.theimpartlab.com" class="url" rel="ugc external nofollow">Loughlin</a></b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27603"><time datetime="2018-06-06T05:20:57-04:00">June 6, 2018 at 5:20 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Back in 2003 it was this website that got me properly thinking about and exploring building page layouts using CSS and HTML. Over the years I&#8217;ve been turned on to new approaches and technologies by revisiting ALA on a regular basis. I have to say when things like SAAS and LESS came out and even before that when jQuery was finding its feet it used to just baffle me that people were using these tools without a clear fundamental understanding of the layer that they working on top of. It&#8217;s like the many Rails developers I know these days who have a really bad &#8211; I mean a REALLY BAD &#8211; understanding of basic Ruby development principals. Or the many front-end developers who rely on mixins to accommodate older browsers without understanding why browsers vendors have (or had) their own specific CSS rules. Or the many WordPress &#8220;developers&#8221; who can only write PHP when the code being written is strictly defined within the syntax and functionality of the core WordPress libraries. </p> <p>I think the main takeaway from this article is that, much like history, if you don&#8217;t understand the mistakes you made in the past then you are forced to repeat them in the future. Using a framework or a library or whatever is actually pretty pointless if you don&#8217;t know WHY you are using it and WHAT its doing and HOW its doing it. Because if you understand the WHY and the WHAT and the HOW chances are you won&#8217;t use it. You&#8217;ll do it by hand. Because you know how to do it by hand. And for me that&#8217;s the skill I look for when hiring a front-end developer because anyone who understands the foundational principles of HTML, CSS and vanilla JS will have zero trouble mastering Angular or React or whatever other (excellent) framework may be required for a particular project.</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27607" class="comment even thread-even depth-1"> <article id="div-comment-27607" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/f5d9c50a081036e91f01355015a85429?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/f5d9c50a081036e91f01355015a85429?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">Marcus J. Pippen</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27607"><time datetime="2018-06-14T02:25:04-04:00">June 14, 2018 at 2:25 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>It is a common conception that most online webmasters and the web world as a whole is occupied by the 18 to 34 year old male. Though this may be prevalent thinking, there is booming evidence of today&#8217;s&#8217; retiree, making websites, and as astute in internet business endeavors as their younger counterparts, with a unique set of qualifications in their favor</p> <p><a href="https://www.dandalaw.com/" rel="nofollow ugc">https://www.dandalaw.com/</a></p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27608" class="comment odd alt thread-odd thread-alt depth-1"> <article id="div-comment-27608" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/e62ee7f76eb0fd3e6fcb57e9b06c90e0?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/e62ee7f76eb0fd3e6fcb57e9b06c90e0?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">infoseek</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27608"><time datetime="2018-06-25T16:42:44-04:00">June 25, 2018 at 4:42 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>&#8220;in a field where young straight white dudes take an overwhelming majority of the jobs (including most of the management jobs) it’s perhaps to be expected that web making has lately become something of a dick measuring competition.&#8221;</p> <p>I think it&#8217;s worth considering whether sexualized slurs based on skin color, gender, or sexual orientation really serve to advance what you&#8217;re trying to say. It might seem like harmless bigotry, but racism is a process that needs fuel to sustain itself. Statements like the ones you&#8217;re making promote the idea that we should evaluate people on the basis of their external characteristics rather than by the content of their character. It&#8217;s an attitude that is profoundly toxic to positive discourse, and it&#8217;s worth emphasizing that those you&#8217;re choosing to stereotype won&#8217;t be the only people (or even the primary ones) that are negatively affected by this kind of thinking.</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27609" class="comment even thread-even depth-1"> <article id="div-comment-27609" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/487c1f2afc6b0303b35cf50fafac0f76?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/487c1f2afc6b0303b35cf50fafac0f76?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">Marvin587</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27609"><time datetime="2018-07-18T03:53:24-04:00">July 18, 2018 at 3:53 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Enjoyed reading the article above , really explains everything in detail,the article is very interesting and effective.Thank you and good luck for the upcoming articles</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-27610" class="comment odd alt thread-odd thread-alt depth-1"> <article id="div-comment-27610" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/c815257ef3812c65cc3ceb6351750f51?s=120&#038;d=identicon&#038;r=pg' srcset='https://secure.gravatar.com/avatar/c815257ef3812c65cc3ceb6351750f51?s=240&#038;d=identicon&#038;r=pg 2x' class='avatar avatar-120 photo' height='120' width='120' loading='lazy' decoding='async'/> <b class="fn">Gioncy963</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://alistapart.com/article/cult-of-the-complex/#comment-27610"><time datetime="2018-07-18T06:23:37-04:00">July 18, 2018 at 6:23 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>As a developer that used to love developing internet experiences in code, I am frustrated as well as numbed by the growing choice for complexity over simpleness. Intricacy benefits convincing people they might not potentially do your work. Simpleness benefits everything else. <a href="https://telldunkin.us" rel="nofollow ugc">https://telldunkin.us</a></p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-38652" class="pingback even thread-even depth-1"> <div class="comment-body"> Pingback: <a href="https://zeldmanproduction.wpcomstaging.com/2019/12/01/bluebeanieday2019/" class="url" rel="ugc external nofollow">Another Blue Beanie Day - Zeldman on Web and Interaction Design</a> </div> </li><!-- #comment-## --> <li id="comment-39021" class="pingback odd alt thread-odd thread-alt depth-1"> <div class="comment-body"> Pingback: <a href="https://prog.world/statements-from-3-famous-people-about-the-problems-of-modern-software-development/" class="url" rel="ugc external nofollow">Statements from 3 famous people about the problems of modern software development - Prog.World</a> </div> </li><!-- #comment-## --> <li id="comment-39148" class="pingback even thread-even depth-1"> <div class="comment-body"> Pingback: <a href="https://zeldman.com/2024/04/03/the-more-things-change-or-whats-in-a-job-title/" class="url" rel="ugc external nofollow">The More Things Change… (or: What’s in a Job Title?) - Zeldman on Web and Interaction Design</a> </div> </li><!-- #comment-## --> <li id="comment-39951" class="pingback odd alt thread-odd thread-alt depth-1"> <div class="comment-body"> Pingback: <a href="https://sethgoldstein.me/the-cult-of-the-complex/" class="url" rel="ugc external nofollow">The Cult of the Complex - SethGoldstein.me</a> </div> </li><!-- #comment-## --> <li id="comment-40197" class="pingback even thread-even depth-1"> <div class="comment-body"> Pingback: <a href="https://courtneybearse.com/daily-links-monday-sep-2nd-2024/" class="url" rel="ugc external nofollow">Daily Links: Monday, Sep 2nd, 2024 | From Pixels to Particles</a> </div> </li><!-- #comment-## --> </ol><!-- .comment-list --> <div class="comments-off"> <h3 class="comments-off-title"> Got something to say?</h3> <p class="no-comments">We have turned off comments, but you can see what folks had to say before we did so.</p> </div> </div><!-- #comments --> <div class="column-sidebar ala-posts"> <h2 class="section-title">More from ALA</h2> <article id="post-7174424" class="home-post-content post-7174424 article type-article status-publish has-post-thumbnail hentry category-user-experience category-user-research"> <header class="entry-header"> <h4 class="home-post-title"><a href="https://alistapart.com/article/user-research-is-storytelling/" rel="bookmark">User Research Is Storytelling</a></h4> <div class="entry-meta"> <span class="byline"> by <span class="author vcard" itemprop="author" itemscope itemtype="http://schema.org/Person"><a class="url fn n" href="https://alistapart.com/author/gerry-duffy/" itemprop="url"> <span itemprop="name">Gerry Duffy</span></a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <div class="entry-content"> At a time when budgets for user experience research seem to have reached an all-time low, how do we get stakeholders and executives alike invested in this crucial discipline? Gerry Duffy walks us through how the research we conduct is much like telling a compelling story, complete with a three-act narrative structure, character development, and conflict resolution—with a happy ending for researchers and stakeholders alike. </div><!-- .entry-content --> <footer class="footer-meta entry-meta"> <span class="cat-links"><a href="https://alistapart.com/blog/topic/user-experience/" rel="category tag">User Experience</a></span><span class="posted-on"><time class="entry-date published" datetime="2024-05-30T14:04:43-04:00">May 30, 2024</time><time class="updated" datetime="2024-06-27T07:39:24-04:00">June 27, 2024</time></span> </footer><!-- .entry-meta --> </article><!-- #post-## --> <article id="post-7174340" class="home-post-content post-7174340 article type-article status-publish has-post-thumbnail hentry category-content-strategy category-information-architecture category-user-experience"> <header class="entry-header"> <h4 class="home-post-title"><a href="https://alistapart.com/article/prepersonalization-workshop/" rel="bookmark">To Ignite a Personalization Practice, Run this Prepersonalization Workshop</a></h4> <div class="entry-meta"> <span class="byline"> by <span class="author vcard" itemprop="author" itemscope itemtype="http://schema.org/Person"><a class="url fn n" href="https://alistapart.com/author/colineagan/" itemprop="url"> <span itemprop="name">Colin Eagan</span></a></span>, <span class="author vcard" itemprop="author" itemscope itemtype="http://schema.org/Person"><a class="url fn n" href="https://alistapart.com/author/jeffmacintyre/" itemprop="url"> <span itemprop="name">Jeffrey MacIntyre</span></a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <div class="entry-content"> Looking to tailor your UX to your individual users’ needs? Colin Eagan and Jeffrey MacIntyre have a workshop framework for you! </div><!-- .entry-content --> <footer class="footer-meta entry-meta"> <span class="cat-links"><a href="https://alistapart.com/blog/topic/content-strategy/" rel="category tag">Content Strategy</a></span><span class="posted-on"><time class="entry-date published" datetime="2024-04-16T15:51:34-04:00">April 16, 2024</time><time class="updated" datetime="2024-04-17T09:34:32-04:00">April 17, 2024</time></span> </footer><!-- .entry-meta --> </article><!-- #post-## --> <article id="post-7174282" class="home-post-content post-7174282 article type-article status-publish has-post-thumbnail hentry category-state-of-the-web category-web-strategy"> <header class="entry-header"> <h4 class="home-post-title"><a href="https://alistapart.com/article/the-wax-and-the-wane-of-the-web/" rel="bookmark">The Wax and the Wane of the Web</a></h4> <div class="entry-meta"> <span class="byline"> by <span class="author vcard" itemprop="author" itemscope itemtype="http://schema.org/Person"><a class="url fn n" href="https://alistapart.com/author/stegrainer/" itemprop="url"> <span itemprop="name">Ste Grainer</span></a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <div class="entry-content"> Ste Grainer takes a brief look at the history of the web, where we are now, and how we can shape its future. </div><!-- .entry-content --> <footer class="footer-meta entry-meta"> <span class="cat-links"><a href="https://alistapart.com/blog/topic/state-of-the-web/" rel="category tag">State of the Web</a></span><span class="posted-on"><time class="entry-date published" datetime="2024-02-29T09:45:00-05:00">February 29, 2024</time><time class="updated" datetime="2024-02-29T10:02:54-05:00">February 29, 2024</time></span> </footer><!-- .entry-meta --> </article><!-- #post-## --> <article id="post-7174245" class="home-post-content post-7174245 article type-article status-publish has-post-thumbnail hentry category-accessibility category-code category-content category-workflow-tools"> <header class="entry-header"> <h4 class="home-post-title"><a href="https://alistapart.com/article/opportunities-for-ai-in-accessibility/" rel="bookmark">Opportunities for AI in Accessibility</a></h4> <div class="entry-meta"> <span class="byline"> by <span class="author vcard" itemprop="author" itemscope itemtype="http://schema.org/Person"><a class="url fn n" href="https://alistapart.com/author/agustafson/" itemprop="url"> <span itemprop="name">Aaron Gustafson</span></a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <div class="entry-content"> In this article, Aaron Gustafson muses on some of the many ways we can—and should—harness the capabilities of AI to create a more accessible world. </div><!-- .entry-content --> <footer class="footer-meta entry-meta"> <span class="cat-links"><a href="https://alistapart.com/blog/topic/accessibility/" rel="category tag">Accessibility</a></span><span class="posted-on"><time class="entry-date published" datetime="2024-02-07T09:00:00-05:00">February 07, 2024</time><time class="updated" datetime="2024-02-10T10:43:50-05:00">February 10, 2024</time></span> </footer><!-- .entry-meta --> </article><!-- #post-## --> <article id="post-7174236" class="home-post-content post-7174236 article type-article status-publish has-post-thumbnail hentry category-career category-content category-creativity category-design category-industry-business category-process category-writing tag-creative tag-creativity tag-process tag-work tag-working"> <header class="entry-header"> <h4 class="home-post-title"><a href="https://alistapart.com/article/i-am-a-creative/" rel="bookmark">I am a creative.</a></h4> <div class="entry-meta"> <span class="byline"> by <span class="author vcard" itemprop="author" itemscope itemtype="http://schema.org/Person"><a class="url fn n" href="https://alistapart.com/author/zeldman/" itemprop="url"> <span itemprop="name">Jeffrey Zeldman</span></a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <div class="entry-content"> A List Apart founder and web design OG Zeldman ponders the moments of inspiration, the hours of plodding, and the ultimate mystery at the heart of a creative career. </div><!-- .entry-content --> <footer class="footer-meta entry-meta"> <span class="cat-links"><a href="https://alistapart.com/blog/topic/career/" rel="category tag">Career</a></span><span class="posted-on"><time class="entry-date published" datetime="2024-01-29T10:53:09-05:00">January 29, 2024</time><time class="updated" datetime="2024-02-01T10:21:02-05:00">February 01, 2024</time></span> </footer><!-- .entry-meta --> </article><!-- #post-## --> </div><!-- .home-post-wrap clear --> </div> </main><!-- #main --> </div><!-- #primary --> </div><!-- #content --> <div class="widget-area header-widget"> <section id="block-3" class="widget widget_block"><div class="banner"> <a href="https://toddle.dev?utm_source=ala"> <img decoding="async" class="banner-logo" src="https://149572954.v2.pressablecdn.com/wp-content/uploads/2024/09/A-List-Apart-toddle.png" alt="Toddle.dev Logo" /> <p>The open-source editor for front-end dev teams. Ditch the text editor and get real-time output and cross-team collaboration.</p> </a> </div></section> </div><!-- .header-widget --> <footer id="colophon" class="site-footer" itemscope itemtype="https://schema.org/WebPage"> <nav class="footer-navigation footer navigation-top" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div class="menu-footer-pages-container"><ul id="footer-top-left-menu" class="footer-top-left-menu"><li id="menu-item-6000544" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000544"><a href="https://alistapart.com/about/" itemprop="url">About</a></li> <li id="menu-item-6000545" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000545"><a href="https://alistapart.com/authors/" itemprop="url">Authors</a></li> <li id="menu-item-6000546" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000546"><a href="https://alistapart.com/about/masthead/" itemprop="url">Masthead</a></li> <li id="menu-item-6000547" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000547"><a href="https://alistapart.com/about/style-guide/" itemprop="url">Style Guide</a></li> <li id="menu-item-6000548" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000548"><a href="https://alistapart.com/contact/" itemprop="url">Contact</a></li> <li id="menu-item-6000549" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000549"><a href="https://alistapart.com/about/sponsor/" itemprop="url">Sponsorships</a></li> </ul></div><div class="menu-footer-social-container"><ul id="footer-top-right-menu" class="footer-top-right-menu"><li id="menu-item-6000550" class="footer-menu-title menu-item menu-item-type-custom menu-item-object-custom menu-item-6000550"><a itemprop="url">Follow us:</a></li> <li id="menu-item-7171602" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-7171602"><a href="https://alistapart.com/about/rss-feed/" itemprop="url">RSS</a></li> <li id="menu-item-6000552" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000552"><a href="https://alistapart.com/email-signup/" itemprop="url">Email</a></li> <li id="menu-item-6000553" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6000553"><a href="https://www.facebook.com/alistapart" itemprop="url">Facebook</a></li> <li id="menu-item-6000554" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6000554"><a href="https://www.twitter.com/alistapart" itemprop="url">Twitter</a></li> </ul></div> </nav> <div class="widget-area footer-widget-area-wrap"> <div class="widget-area footer-widget-area"> <section id="custom_html-7" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><div class="footer-promo"> <a href="https://abookapart.com"> <img data-recalc-dims="1" src="https://i0.wp.com/alistapart.com/wp-content/uploads/2019/04/promo_aba_2.jpg?w=960&#038;ssl=1" alt="A Book Apart. Brief books for people who design, write, and code."> <div class="footer-promo-copy"> <p class="promo-title">A Book Apart</p> <p>Brief books for people who design, write, and code.</p> <p>Bundle books and save!</p> <p class="arrow">Shop now</p> </div> </a> </div> </div></section> </div> </div> <div class="site-info-wrap"> <div class="site-info"> <p> ISSN 1534-0295 &middot; Copyright &copy; <span itemprop="copyrightYear"> 1998–2025</span> <span itemprop="copyrightHolder"> A List Apart &amp; Our Authors</span> </p> <p> <a href="https://wordpress.com/wp/?partner_domain=alistapart.com&#038;utm_source=Automattic&#038;utm_medium=colophon&#038;utm_campaign=Concierge%20Referral&#038;utm_term=alistapart.com" class="imprint" target="_blank" rel="nofollow">Proudly powered by WordPress.</a> <a href="https://pressable.com/?utm_source=Automattic&#038;utm_medium=rpc&#038;utm_campaign=Concierge%20Referral&#038;utm_term=concierge" class="imprint" target="_blank" rel="nofollow">Hosted by Pressable.</a> </p> </div><!-- .site-info --> </div><!-- .site-info-wrap --> <nav class="footer-navigation footer navigation-bottom"> <ul id="footer-bottom-left-menu" class="footer-bottom-left-menu"><li id="menu-item-6000555" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6000555"><a href="https://alistapart.com/about/copyright/" itemprop="url">Permissions &#038; Copyright</a></li> <li id="menu-item-6000556" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-6000556"><a rel="privacy-policy" href="https://alistapart.com/about/privacy-policy/" itemprop="url">Privacy Policy</a></li> <li id="menu-item-6000558" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6000558"><a href="https://webtype.com/" itemprop="url">Fonts by Webtype</a></li> </ul><ul id="footer-bottom-right-menu" class="footer-bottom-right-menu"><li id="menu-item-6000559" class="aea menu-item menu-item-type-custom menu-item-object-custom menu-item-6000559"><a href="http://aneventapart.com/" itemprop="url"><span class="screen-reader-text">An Event Apart</span></a></li> <li id="menu-item-6000560" class="aba menu-item menu-item-type-custom menu-item-object-custom menu-item-6000560"><a href="http://abookapart.com/" itemprop="url"><span class="screen-reader-text">A Book Apart</span></a></li> </ul> </nav> </footer><!-- #colophon --> </div><!-- #page --> <script type="text/template" id="tmpl-subscriber-only-message"> <div class="coil-message-inner"> <div class="coil-message-header"> <# if ( data.headerLogo ) { #> {{{data.headerLogo}}} <# } #> <# if ( data.title ) { #> <p class="coil-message-title">{{data.title}}</p> <# } #> <# if ( data.content ) { #> <p class="coil-message-content">{{data.content}}</p> <# } #> <# if ( data.button.href ) { #> <a target="_blank" href="{{data.button.href}}" class="coil-message-button">{{data.button.text}}</a> <# } #> </div> </div> </script> <script type="text/template" id="tmpl-streaming-widget-message"> <div class="streaming-widget"> <# if ( data.widget.href ) { #> <a target="_blank" href="{{data.widget.href}}"> <# if ( data.headerLogo ) { #> <img src="{{data.headerLogo}}"> <# } #> <# if ( data.widget.text ) { #> <div> {{data.widget.text}} </div> <# } #> </a> <# } #> <span class="streaming-widget-dismiss" id="js-streaming-widget-dismiss">&times;</span> </div> </script> <!-- Google Analytics --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
 })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 ga('create', 'UA-11757054-1', 'auto');
 ga('send', 'pageview');

 </script> <!-- End Google Analytics --> <div style="display:none"> <div class="grofile-hash-map-9d53b9c942663513bb23e2e64f095d10"> </div> <div class="grofile-hash-map-53e138f11320c0ec89e2a2450c127f57"> </div> <div class="grofile-hash-map-854de2ae7f60c842339c827ff4c4bdd6"> </div> <div class="grofile-hash-map-e2a5c77fe7eb6ef470916422f171525f"> </div> <div class="grofile-hash-map-6917b4ae9072301b20498ae8aa78edc6"> </div> <div class="grofile-hash-map-aef734e5b6c57fac5b64a21e342a20eb"> </div> <div class="grofile-hash-map-9c73a5a5a982488a3aedd1db2de20297"> </div> <div class="grofile-hash-map-39e906fdcf2c77d66e4232ab98c66b6e"> </div> <div class="grofile-hash-map-f5d9c50a081036e91f01355015a85429"> </div> <div class="grofile-hash-map-e62ee7f76eb0fd3e6fcb57e9b06c90e0"> </div> <div class="grofile-hash-map-487c1f2afc6b0303b35cf50fafac0f76"> </div> <div class="grofile-hash-map-c815257ef3812c65cc3ceb6351750f51"> </div> </div> <script type="text/javascript"> window.WPCOM_sharing_counts = {"https:\/\/alistapart.com\/article\/cult-of-the-complex\/":18857}; </script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-includes/js/underscore.min.js?ver=1.13.7" id="underscore-js"></script> <script type="text/javascript" id="wp-util-js-extra"> /* <![CDATA[ */ var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; /* ]]> */ </script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-includes/js/wp-util.min.js?ver=6.7.1" id="wp-util-js"></script> <script type="text/javascript" id="coil-monetization-js-js-extra"> /* <![CDATA[ */ var coilParams = {"content_container":".content-area .entry-content","paywall_title":"Keep Reading with Coil","loading_content":"Verifying Web Monetization status. Please wait...","paywall_message":"We partnered with Coil to offer exclusive content. Access this and other great content with a Coil membership.","streaming_widget_unpaid_message":"Support us with Coil","streaming_widget_paid_message":"Thanks for your support!","show_streaming_widget_to_members":"1","streaming_widget_link":"https:\/\/coil.com\/","paywall_button_text":"Become a Coil Member","paywall_button_link":"https:\/\/coil.com\/","post_excerpt":"\u2019Tis a gift to be simple. ALA\u2019s Zeldman bemoans our industry\u2019s current fetish for the needlessly complicated over the straightforward. Escape the cult of the complex! Get back to improving lives, one interaction at a time.","has_coil_divider":"","coil_message_branding":"coil_logo","streaming_widget_theme":"dark","streaming_widget_size":"large","streaming_widget_position":"bottom-right","streaming_widget_margin_top":"32","streaming_widget_margin_right":"32","streaming_widget_margin_bottom":"32","streaming_widget_margin_left":"32","streaming_widget_enabled":"1","site_logo":"https:\/\/i0.wp.com\/alistapart.com\/wp-content\/uploads\/2019\/03\/ala-logo-big.png?fit=960%2C98&ssl=1","coil_logo":"https:\/\/alistapart.com\/wp-content\/plugins\/coil-web-monetization\/assets\/images\/coil-icn-black.svg","coil_logo_streaming":"https:\/\/alistapart.com\/wp-content\/plugins\/coil-web-monetization\/assets\/images\/coil-icn-black-streaming.svg","coil_logo_white":"https:\/\/alistapart.com\/wp-content\/plugins\/coil-web-monetization\/assets\/images\/coil-icn-white.svg","coil_logo_white_streaming":"https:\/\/alistapart.com\/wp-content\/plugins\/coil-web-monetization\/assets\/images\/coil-icn-white-streaming.svg","exclusive_message_theme":"light","font_selection":"","admin_missing_id_notice":"This post is monetized but you have not set your payment pointer ID in the <a href=\"https:\/\/alistapart.com\/wp-admin\/admin.php?page=coil\">Coil settings page<\/a>. Only content set to show for all visitors will show."}; /* ]]> */ </script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/plugins/coil-web-monetization/assets/js/initialize-monetization.min.js?ver=2.0.2" id="coil-monetization-js-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/plugins/coil-web-monetization/assets/js/js-cookie.3.0.0.min.js?ver=2.0.2" id="messaging-cookies-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/themes/ala/js/navigation.js?ver=20151215" id="ala-navigation-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/themes/ala/js/prism/prism.js?ver=1.0" id="ala-prism-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/themes/ala/js/skip-link-focus-fix.js?ver=20151215" id="ala-skip-link-focus-fix-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/themes/ala/js/sidebar-related.js?ver=1" id="sidebar-related-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/themes/ala/js/adchecka.js?ver=1.0" id="ala-adchecka-js"></script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/themes/ala/js/loadadchecka.js?ver=1.0" id="ala-loadadchecka-js"></script> <script type="text/javascript" src="https://secure.gravatar.com/js/gprofiles.js?ver=202501" id="grofiles-cards-js"></script> <script type="text/javascript" id="wpgroho-js-extra"> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/plugins/jetpack/modules/wpgroho.js?ver=14.2-a.9" id="wpgroho-js"></script> <script type="text/javascript" src="https://stats.wp.com/e-202501.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script type="text/javascript" id="jetpack-stats-js-after"> /* <![CDATA[ */ _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"158094726\",\"post\":\"18857\",\"tz\":\"-5\",\"srv\":\"alistapart.com\",\"hp\":\"atomic\",\"ac\":\"3\",\"amp\":\"0\",\"j\":\"1:14.2-a.9\"}") ]); _stq.push([ "clickTrackerInit", "158094726", "18857" ]); /* ]]> */ </script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/plugins/jetpack/_inc/build/likes/queuehandler.min.js?ver=14.2-a.9" id="jetpack_likes_queuehandler-js"></script> <script type="text/javascript" id="sharing-js-js-extra"> /* <![CDATA[ */ var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"}; /* ]]> */ </script> <script type="text/javascript" src="https://149572954.v2.pressablecdn.com/wp-content/plugins/jetpack/_inc/build/sharedaddy/sharing.min.js?ver=14.2-a.9" id="sharing-js-js"></script> <script type="text/javascript" id="sharing-js-js-after"> /* <![CDATA[ */ var windowOpen; ( function () { function matches( el, sel ) { return !! ( el.matches && el.matches( sel ) || el.msMatchesSelector && el.msMatchesSelector( sel ) ); } document.body.addEventListener( 'click', function ( event ) { if ( ! event.target ) { return; } var el; if ( matches( event.target, 'a.share-facebook' ) ) { el = event.target; } else if ( event.target.parentNode && matches( event.target.parentNode, 'a.share-facebook' ) ) { el = event.target.parentNode; } if ( el ) { event.preventDefault(); // If there's another sharing window open, close it. if ( typeof windowOpen !== 'undefined' ) { windowOpen.close(); } windowOpen = window.open( el.getAttribute( 'href' ), 'wpcomfacebook', 'menubar=1,resizable=1,width=600,height=400' ); return false; } } ); } )(); var windowOpen; ( function () { function matches( el, sel ) { return !! ( el.matches && el.matches( sel ) || el.msMatchesSelector && el.msMatchesSelector( sel ) ); } document.body.addEventListener( 'click', function ( event ) { if ( ! event.target ) { return; } var el; if ( matches( event.target, 'a.share-twitter' ) ) { el = event.target; } else if ( event.target.parentNode && matches( event.target.parentNode, 'a.share-twitter' ) ) { el = event.target.parentNode; } if ( el ) { event.preventDefault(); // If there's another sharing window open, close it. if ( typeof windowOpen !== 'undefined' ) { windowOpen.close(); } windowOpen = window.open( el.getAttribute( 'href' ), 'wpcomtwitter', 'menubar=1,resizable=1,width=600,height=350' ); return false; } } ); } )(); /* ]]> */ </script> <iframe src='https://widgets.wp.com/likes/master.html?ver=20250105#ver=20250105&#038;n=1' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe> <div id='likes-other-gravatars' class='wpl-new-layout' role="dialog" aria-hidden="true" tabindex="-1"><div class="likes-text"><span>%d</span></div><ul class="wpl-avatars sd-like-gravatars"></ul></div> <script type="text/javascript"> (function() { var t = document.createElement( 'script' ); t.type = 'text/javascript'; t.async = true; t.id = 'gauges-tracker'; t.setAttribute( 'data-site-id', '606492000b21314ec4b22148' ); t.src = '//secure.gaug.es/track.js'; var s = document.getElementsByTagName( 'script' )[0]; s.parentNode.insertBefore( t, s ); })(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10