{"version":"https://jsonfeed.org/version/1","title":"Aaron Gustafson: Content tagged writing","description":"The latest 20 posts and links tagged writing.","home_page_url":"https://www.aaron-gustafson.com","feed_url":"https://www.aaron-gustafson.com/feeds/writing.json","author":{"name":"Aaron Gustafson","url":"https://www.aaron-gustafson.com"},"icon":"https://www.aaron-gustafson.com/i/og-logo.png","favicon":"https://www.aaron-gustafson.com/favicon.png","expired":false,"items":[{"id":"https://www.aaron-gustafson.com/notebook/links/ai-is-accidently-making-documentation-accessible/","title":"🔗 AI is accidently making documentation accessible","summary":"Documentation written for clarity is better for everyone — human or machine!","content_html":"<p>The real takeaway is that documentation written for clarity is better for everyone — human or machine!</p>\n<p>In other words, AI use is reinforcing what good documentation has always required: clear structure, explicit language, sensible headings, and fewer assumptions about what the reader already knows. That’s good for machines, sure, but it’s even better for people navigating with assistive tech, reading in a second language, or simply trying to get an answer quickly.</p>\n<blockquote>\n<p>AI has not invented new rules for writing, it has made the cost of ignoring the old ones obvious.</p>\n</blockquote>\n","social_text":"AI didn’t invent better documentation practices; it just exposed how valuable structure, clarity, and explicitness have always been.","url":"https://www.aaron-gustafson.com/notebook/links/ai-is-accidently-making-documentation-accessible/","external_url":"https://gerireid.com/blog/ai-is-accidently-making-documentation-accessible/","tags":["accessibility","AI/ML","writing"],"image":"https://gerireid.com/images/open-graph.png","date_published":"2026-04-23T12:15:00Z"},{"id":"https://www.aaron-gustafson.com/notebook/learning-web-design-6th-edition-is-out/","title":"✍🏻 Learning Web Design, 6th Edition is out!","summary":"It’s here! Nearly 900 pages of guidance on how to build web pages, to which I contributed a little over 100 pages: Learning Web Design, 6th Edition.","content_html":"<p>It’s here! Nearly 900 pages of guidance on how to build web pages, to which I contributed a little over 100 pages: <a href=\"https://www.oreilly.com/library/view/learning-web-design/9781098137670/\"><cite>Learning Web Design, 6th Edition</cite></a>.</p>\n<p>Congrats to <a href=\"https://www.linkedin.com/in/jennifer-niederst-robbins\">Jennifer</a> on the book and many thanks for bringing me along for the ride!</p>\n","social_text":"It’s here! Nearly 900 pages of guidance on how to build web pages, to which I contributed a little over 100 pages: Learning Web Design, 6th Edition.","url":"https://www.aaron-gustafson.com/notebook/learning-web-design-6th-edition-is-out/","tags":["writing"],"image":"https://www.aaron-gustafson.com/i/posts/2025-07-10/lwd-6e.jpg","date_published":"2025-07-11T00:25:40Z"},{"id":"https://www.aaron-gustafson.com/notebook/dont-outsource-your-perspective-to-a-llm/","title":"✍🏻 Don’t Outsource Your Perspective to a LLM","summary":"I’m seeing a lot of article pitches lately that were clearly written by a Large Language Model rather than a human being. There was clearly some thought put into the prompt, but no follow though to really take ownership of the resulting output. Please don’t be “that guy.”","content_html":"<p>At <a href=\"https://alistapart.com/\"><cite>A List Apart</cite></a>, I’m seeing a lot of article pitches that were clearly written by a Large Language Model (LLM) rather than a human being. In many cases, the people making the submission clearly put a lot of thought into the prompts they used to get the output they desired, but had zero follow though when it came to taking ownership of the output they were handed. To be clear, the issue I have here is not that they used an LLM as part of their process, but rather how they failed to wield such powerful tool effectively.</p>\n<h2 id=\"improv\" tabindex=\"-1\"><a class=\"header-anchor\" href=\"#improv\" aria-hidden=\"true\">#</a> Improv</h2>\n<p>A while back, I read <a href=\"https://theconversation.com/chatgpt-is-great-youre-just-using-it-wrong-198848\">a great piece from Johnathan May</a> that discussed where LLMS fail us (factual knowledge) and where they excel (conversation). He highlighted how awful they are when it comes to retrieving facts (LLMs are <em>not</em> the reference librarian you think they are), but how useful they can when factuality is not as important. Armed with this knowledge, he did some experimentation and discovered how well LLMs perform as an improv partner… someone to bounce ideas off of.</p>\n<p>It was with that idea in mind that I decided to test out this approach when working on <a href=\"https://presentations.aaron-gustafson.com/SE8HHb/accessibility-beyond-code-compliance\">my axe-con keynote </a> last year. I already had an outline for the talk and knew what I wanted to say, but took some time to bounce my ideas off of ChatGPT and see how it responded to them. In most cases it responded with paragraphs of prose clearly demonstrating its lack of reasoning on any subject—not surprising though, LLMs are word prediction engines. In other instances, however, it surprised me with how the words it predicted managed to “frame”<sup class=\"footnote-ref\"><a href=\"#fn1\" id=\"fnref1\">1</a></sup> particular concepts in novel ways, prompting me to think differently about how I might approach it in my talk.</p>\n<p>I feel confident claiming that <a href=\"https://www.aaron-gustafson.com/notebook/accessibility-beyond-code-compliance/\">the talk</a> was entirely a product of my own efforts. At the same time, I’m also appreciative of ChatGPTs role as an improv partner in the process of creating it.</p>\n<h2 id=\"hope\" tabindex=\"-1\"><a class=\"header-anchor\" href=\"#hope\" aria-hidden=\"true\">#</a> Hope</h2>\n<p>I guess I’m hopeful more people will embrace using LLMs in this way. We need to recognize what tools like these are good at and what they aren’t. Hammers are awesome at driving in nails, but they’re only reasonably good at removing them—from wood, yes; from drywall no. Hammers are also the entirely wrong tool if you’re looking to drive or remove a screw.</p>\n<p>LLMs are excellent at reworking stuff you’ve written—summarizing content, adjusting it to a particular reading level, helping you craft a suitable conclusion for an article or talk based on your existing content. <a href=\"https://www.scientificamerican.com/article/to-educate-students-about-ai-make-them-use-it/\">They are not fact machines</a>. Furthermore, they can’t replicate or replace your unique perspective on a subject and that’s the very humanness that makes your writings, talks, and other forms of communication worthy of our time.</p>\n<h2 id=\"parting-words\" tabindex=\"-1\"><a class=\"header-anchor\" href=\"#parting-words\" aria-hidden=\"true\">#</a> Parting words</h2>\n<p>If you find LLMs useful in your process, more power to you. If you don’t, that’s cool too. Just be aware of their limitations while embracing their power to help. And don’t ever try to pass off their writing as your own. Not only can we tell, but it robs us of the chance to hear what <em>you</em> think. And that’s what we really want to read.</p>\n<p>P.S. - In case you’re wondering: No, I didn’t use an LLM to help me write this post 😉</p>\n<hr class=\"footnotes-sep\">\n<section class=\"footnotes\">\n<h4 class=\"hidden\">Footnotes</h4>\n<ol class=\"footnotes-list\">\n<li id=\"fn1\" class=\"footnote-item\"><p>To be clear, I am not trying to anthropomorphize the LLM here. <a href=\"#fnref1\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n</ol>\n</section>\n","social_text":"I’m seeing a lot of article pitches that were clearly written by a #LLM. The submitters clearly put some thought into the prompts, but didn’t bother putting any effort into owning the output.","url":"https://www.aaron-gustafson.com/notebook/dont-outsource-your-perspective-to-a-llm/","tags":["AI/ML","writing"],"image":"https://www.aaron-gustafson.com/i/posts/2024-02-02/hero.jpg","date_published":"2024-02-02T18:44:53Z"},{"id":"https://www.aaron-gustafson.com/notebook/going-offline/","title":"✍🏻 Going Offline","summary":"I was stoked when Jeremy Keith asked me to write the foreword for his latest book, Going Offline. With his permission (and A Book Apart’s), I’m reprinting the foreword here.","content_html":"<p>As you’ve probably gathered if you’ve been following my work for the last few years, I’m super-jazzed about Progressive Web Apps. I think they have the potential to improve user experience, performance, access, and so much more for so many people. So I was stoked when <a href=\"https://adactio.com\">Jeremy Keith</a> asked me to write the foreword for his latest book, <a href=\"https://abookapart.com/products/going-offline\"><cite>Going Offline</cite></a>, which tackles the complex topic of Service Workers with aplomb.</p>\n<p>With his permission (and A Book Apart’s), I’m reprinting the foreword here.</p>\n<blockquote>\n<p>We often talk gleefully about the open and ubiquitous nature of the web, but it has an Achilles’ heel: network connectivity. If your career is spent working on the web, chances are you might rarely encounter networking issues in your day-to-day life. When it comes to networks, many of us are spoiled with sweet, sweet speed and incredible reliability. We take it for granted that everyone in the world experiences the web like we do.</p>\n<p>With an uncertain network connection, the web can be elusive. Broken page layouts. Missing functionality. Lost images. Dinosaurs. Broken hearts. Frustration.</p>\n<p>With no network at all, the web ceases to exist.</p>\n<p>Over the years, scores of people far smarter than I have looked for ways to help the web overcome its complete dependence on the network. Browser caching, Application Cache, Local (and Session) Storage, and client-side databases have all helped to some degree (well, maybe not AppCache) but these technologies have been somewhat limited in both scope and capability.</p>\n<p>Then along came the service workers. Service workers are one of the most powerful tools we’ve had at our disposal, enabling us to control how we handle network requests. They even enable us to decide whether to make a network request at all. Of course, that power also gives us the ability to completely break our sites—if we’re not careful.</p>\n<p>Which brings me to the book you hold in your hands. In <cite>Going Offline</cite>, Jeremy Keith breaks down heady concepts into approachable prose and easy-to-follow code examples. He also points out service worker gotchas and shows you how to deftly avoid them. Invest a scant few hours with this book, and you’ll gain a solid understanding of how to put this new technology to work for you right away. No, really—within fifteen to twenty minutes of putting it down.</p>\n<p>Armed with the knowledge you gain from Jeremy’s words, I have no doubt you’ll do wonders to improve the resilience of the web.</p>\n<p>—Aaron Gustafson</p>\n</blockquote>\n<p>You can (and should) <a href=\"https://abookapart.com/products/going-offline\">purchase <cite>Going Offline</cite> directly from A Book Apart</a>. You can also <a href=\"https://alistapart.com/article/going-offline\">read Chapter 1 of <cite>Going Offline</cite> on <cite>A List Apart</cite></a>.</p>\n","url":"https://www.aaron-gustafson.com/notebook/going-offline/","tags":["web design","web development","writing","progressive web apps","performance"],"date_published":"2018-04-10T14:59:41Z"},{"id":"https://www.aaron-gustafson.com/notebook/mac-like-special-characters-in-windows/","title":"✍🏻 Mac-like Special Characters in Windows","summary":"I love the way OS X/macOS handles special characters and was looking to implement something similar on Windows. Here’s how I did it.","content_html":"<p>I am a bit of a geek for proper punctuation: Em dashes… en dashes… curly quotes… ellipses… I love them all! Prior to 2007, I was a long-time Windows user and was a master of the <kbd>Alt + <var>numeric code</var></kbd> system of entering special characters on that operating system.<sup class=\"footnote-ref\"><a href=\"#fn1\" id=\"fnref1\">1</a></sup> For nearly a decade, however, I’ve been writing and developing on a Mac and I absolutely love how much easier it is to use special characters. When I started setting up my new Surface Book, I began searching for a way to bring Mac-like special character entry to Windows 10.</p>\n<p><em>Disclaimer: I take absolutely no credit for the code you see below. I will give full credit to the sources as I discuss each. I just wanted to bring it all into one place so it’ll save you a few hours of research to get everything working.</em></p>\n<h2 id=\"step-1%3A-set-up-autohotkey\" tabindex=\"-1\"><a class=\"header-anchor\" href=\"#step-1%3A-set-up-autohotkey\" aria-hidden=\"true\">#</a> Step 1: Set up AutoHotKey</h2>\n<p><a href=\"https://thejournal.com/articles/2016/01/26/how-to-create-keyboard-shortcuts-for-special-characters-in-windows-10.aspx\">David Nagel’s solid article on mapping keystrokes in Windows</a>, I introduced me to <a href=\"https://autohotkey.com/\">AutoHotKey</a>. It’s an incredibly powerful program that’s like the lovechild of <a href=\"https://textexpander.com/\">TextExpander</a> and <a href=\"https://qsapp.com/\">Quicksilver</a>.</p>\n<p>In his article, David walks through the process of getting set up with AutoHotKey:</p>\n<ol>\n<li><a href=\"https://autohotkey.com/download/\">Download</a> &amp; install it.</li>\n<li>Create a new <code>.ahk</code> file (<samp>New &gt; AutoHotKey Script</samp> in Windows Explorer) and name it whatever you like.<sup class=\"footnote-ref\"><a href=\"#fn2\" id=\"fnref2\">2</a></sup></li>\n<li>Right-click the script, and choose <samp>Edit Script</samp> from the context menu.</li>\n<li>Enter some keyboard shortcuts (more on that in a moment).</li>\n<li>Save the script. I chose to save it to Dropbox to make it portable.</li>\n<li>Double click it to run the script.</li>\n<li>Open up your favorite writing tool and see your handiwork in action.</li>\n</ol>\n<h2 id=\"step-2%3A-create-some-shortcuts\" tabindex=\"-1\"><a class=\"header-anchor\" href=\"#step-2%3A-create-some-shortcuts\" aria-hidden=\"true\">#</a> Step 2: Create some shortcuts</h2>\n<p>AutoHotKey is completely scriptable and adding shortcuts is relatively straightforward. There are a few reserved characters, but once you understand what they are it’s pretty easy to get going very quickly. Here’s Dave’s intro example:</p>\n<pre class=\"language-txt\" tabindex=\"0\"><code class=\"language-txt\">!-::–\n!+-::—</code></pre>\n<p>In AutoHotKey scripting, “!” stands in for <kbd>Alt</kbd> and “+” stands in for <kbd>Shift</kbd>. So, to translate:</p>\n<ol>\n<li><kbd>Alt + -</kbd> will produce an en dash (–)</li>\n<li><kbd>Shift Alt + -</kbd> will produce an em dash (—)</li>\n</ol>\n<p>With these two examples, I was able to jump right in and map many of the most common shortcuts I use while writing. Before I got too far, however, I realized I really needed accents, umlauts, and the like. I searched some more and eventually discovered <a href=\"https://autohotkey.com/board/topic/27801-special-characters-osx-style\">a post in the AutoHotKey forum archive by “Veil” from way back in 2008</a>.</p>\n<p>Veil broke his solution into two parts, but I’ve combined them here to make it easier for your to copy into your AutoHotKey script file. This code has provided everything I’ve needed so far, so Veil—wherever you are—<strong>thank you</strong>!</p>\n<pre class=\"language-txt\" tabindex=\"0\"><code class=\"language-txt\">#UseHook\n!VKC0SC029::Return \t; grave -> the grave ` accent gave some probs, used the virtualkey + scancode instead\n!e::Return         \t; acute\n!i::Return          ; circumflex\n!t::Return         \t; tilde\n!u::Return          ; umlaut\n\n;                  1 2 3 4 5 6 7 8 9 1\n;                                    0\n;              r   g G a A c C t T u U\n*a::diacritic(\"a\",\"à,À,á,Á,â,Â,ã,Ã,ä,Ä\")\n*e::diacritic(\"e\",\"è,È,é,É,ê,Ê,e,E,ë,Ë\")\n*i::diacritic(\"i\",\"ì,Ì,í,Í,î,Î,i,I,ï,Ï\")\n*o::diacritic(\"o\",\"ò,Ò,ó,Ó,ô,Ô,õ,Õ,ö,Ö\")\n*u::diacritic(\"u\",\"ù,Ù,ú,Ú,û,Û,u,U,ü,Ü\")\n*n::diacritic(\"n\",\"n,N,n,N,n,N,ñ,Ñ,n,N\")\n*y::diacritic(\"y\",\"y,Y,y,Y,y,Y,y,Y,ÿ,Ÿ\")\n\ndiacritic(regular,accentedCharacters) {\n    StringSplit, char, accentedCharacters, `,\n    graveOption            := char1\n    graveShiftOption       := char2\n    acuteOption            := char3\n    acuteShiftOption       := char4\n    circumflexOption       := char5\n    circumflexShiftOption  := char6\n    tildeOption            := char7\n    tildeShiftOption       := char8\n    umlautOption           := char9\n    umlautShiftOption      := char10\n\n    if (A_PriorHotKey = \"!VKC0SC029\" &amp;&amp; A_TimeSincePriorHotkey &lt; 2000) {\n        if (GetKeyState(\"Shift\")) {\n            SendInput % graveShiftOption\n        } else {\n            SendInput % graveOption\n        }\n    } else if (A_PriorHotKey = \"!e\" &amp;&amp; A_TimeSincePriorHotkey &lt; 2000) {\n        if (GetKeyState(\"Shift\")) {\n            SendInput % acuteShiftOption\n        } else {\n            SendInput % acuteOption\n        }\n    } else if (A_PriorHotKey = \"!i\" &amp;&amp; A_TimeSincePriorHotkey &lt; 2000) {\n        if (GetKeyState(\"Shift\")) {\n            SendInput % circumflexShiftOption\n        } else {\n            SendInput % circumflexOption\n        }\n    } else if (A_PriorHotKey = \"!t\" &amp;&amp; A_TimeSincePriorHotkey &lt; 2000) {\n        if (GetKeyState(\"Shift\")) {\n            SendInput % tildeShiftOption\n        } else {\n            SendInput % tildeOption\n        }\n    } else if (A_PriorHotKey = \"!u\" &amp;&amp; A_TimeSincePriorHotkey &lt; 2000) {\n        if (GetKeyState(\"Shift\")) {\n            SendInput % umlautShiftOption\n        } else {\n            SendInput % umlautOption\n        }\n    } else {\n        if (GetKeyState(\"Shift\") or GetKeyState(\"Capslock\",\"T\")) {\n            SendInput % \"+\" regular\n        } else {\n            SendInput % regular\n        }\n    }\n}\n\n;\n; Alt + Shift + key\n;\n*!1::altShift(\"¡\",\"/\")\n*!2::altShift(\"€\",\"™\")\n*!3::altShift(\"£\",\"‹\")\n*!4::altShift(\"¢\",\"›\")\n*!5::altShift(\"8\",\"fi\")\n*!6::altShift(\"§\",\"fl\")\n*!7::altShift(\"¶\",\"‡\")\n*!8::altShift(\"•\",\"°\")\n*!9::altShift(\"ª\",\"·\")\n*!0::altShift(\"º\",\"‚\")\n\n*!a::altShift(\"å\",\"Å\")\n*!b::altShift(\"integral\",\"i\")\n*!c::altShift(\"ç\",\"Ç\")\n*!d::altShift(\"partial difference\",\"Î\")\n*!e::altShift(\"´\",\"‰\")\n*!f::altShift(\"ƒ\",\"Ï\")\n*!g::altShift(\"©\",\"Ì\")\n*!h::altShift(\"overdot\",\"Ó\")\n*!i::altShift(\"^\",\"È\")\n*!j::altShift(\"delta\",\"Ô\")\n*!k::altShift(\"°\",\"Apple\")\n*!l::altShift(\"¬\",\"Ò\")\n*!m::altShift(\"µ\",\"˜\")\n*!n::altShift(\"~\",\"ˆ\")\n*!o::altShift(\"ø\",\"Ø\")\n*!p::altShift(\"pi\",\"Pi\")\n*!q::altShift(\"œ\",\"Œ\")\n*!r::altShift(\"®\",\"Â\")\n*!s::altShift(\"ß\",\"Í\")\n;*!t::altShift(\"†\",\"Ê\")\n*!u::altShift(\"¨\",\"Ë\")\n*!v::altShift(\"v\",\"lozenge\")\n*!w::altShift(\"epsilon\",\"„\")\n*!x::altShift(\"approximately equal\",\"Ù\")\n*!y::altShift(\"¥\",\"Á\")\n*!z::altShift(\"Omega\",\"Û\")\n\n*!-::altShift(\"–\",\"—\")\n*!=::altShift(\"!=\",\"±\")\n*![::altShift(\"“\",\"”\")\n*!]::altShift(\"‘\",\"’\")\n*!`;::altShift(\"…\",\"Ú\")\n*!'::altShift(\"æ\",\"Æ\")\n*!\\::altShift(\"«\",\"»\")\n*!,::altShift(\"&lt;=\",\"¯\")\n*!.::altShift(\">=\",\"breve\")\n*!/::altShift(\"÷\",\"¿\")\n\naltShift(accented,accentedShift) {\n    if (!GetKeyState(\"Shift\")) {\n        SendInput % accented\n    } else {\n        SendInput % accentedShift\n    }\n}\n\n; Fix for some CTRL + stuff that may not work\n; TODO - Add more as we find them\n^a::Send ^{end}^+{home}\n^o::WinMenuSelectItem, A, , File, Open</code></pre>\n<h2 id=\"step-3%3A-run-your-script-when-windows-starts\" tabindex=\"-1\"><a class=\"header-anchor\" href=\"#step-3%3A-run-your-script-when-windows-starts\" aria-hidden=\"true\">#</a> Step 3: Run your script when Windows starts</h2>\n<p>The last thing you’ll want to do is add your <code>.ahk</code> file to Windows’ startup items. Dave covered that in his piece as well:</p>\n<ol>\n<li>Create a shortcut to your file (<samp>Right click &gt; Create Shortcut</samp>)</li>\n<li>Run <code>shell:startup</code> (<kbd>⊞ Win + R</kbd> opens the Run dialog or you can type ”Run“ in the Cortana Search Box)</li>\n<li>Move your shortcut to the folder that opens.</li>\n</ol>\n<p>Once you’ve followed those steps, you’re done. You can update your <code>.ahk</code> scripts needed and just double click it to replace the instance that’s currently running.</p>\n<hr>\n<p>If, like me (and <a href=\"https://twitter.com/search?q=%23davegoeswindows\">Dave</a> and <a href=\"https://snook.ca/archives/other/running-into-windows\">Jonathan</a> and <a href=\"http://danielmall.com/articles/opening-windows/\">Dan</a>), you’re using Windows after a long time in Mac land <em>and</em> you’re a typography nerd, hopefully you’ll find this helpful. And if you come up with any improvements to the character mapping, please share!</p>\n<hr class=\"footnotes-sep\">\n<section class=\"footnotes\">\n<h4 class=\"hidden\">Footnotes</h4>\n<ol class=\"footnotes-list\">\n<li id=\"fn1\" class=\"footnote-item\"><p>I actually memorized a ton of <a href=\"http://tools.oratory.com/altcodes.html\">the codes</a>, much to my amazement. I still remember a few, but I am thankful to have reclaimed a bit of that memory space over the last few years. <a href=\"#fnref1\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n<li id=\"fn2\" class=\"footnote-item\"><p>If you shun the mouse, you can create a text file in your favorite editor and name it with the <code>.ahk</code> extension, but you might run into character encoding issues. I created mine in <a href=\"https://code.visualstudio.com/\">VS Code</a> as UTF-8, but had to open the file in Notepad and re-save it again to get it to actually work. I never figured out the exact issue, but I thought I’d give you a heads-up. <a href=\"#fnref2\" class=\"footnote-backref\">↩︎</a></p>\n</li>\n</ol>\n</section>\n","url":"https://www.aaron-gustafson.com/notebook/mac-like-special-characters-in-windows/","tags":["Windows","writing"],"date_published":"2016-11-02T15:59:42Z"},{"id":"https://www.aaron-gustafson.com/speaking-engagements/writing-for-engagement/","title":"📢 Writing for Engagement","summary":"Writing tips for developer relations and technology evangelists.","content_html":"<p>Writing tips for developer relations and technology evangelists.</p>\n","social_text":"Writing tips for developer relations and technology evangelists.","url":"https://www.aaron-gustafson.com/speaking-engagements/writing-for-engagement/","tags":["writing"],"image":"https://www.aaron-gustafson.com/undefined","date_published":"2016-01-31T08:09:00Z"},{"id":"https://www.aaron-gustafson.com/notebook/avoiding-linkrot-in-print-with-the-help-of-perma-dot-cc/","title":"✍🏻 Avoiding Link Rot in Print with the Help of Perma.cc","summary":"When I was mid-way through writing the Second Edition of Adaptive Web Design, I realized that it was pretty likely some of the links I was referencing might disappear over the years.","content_html":"<p>I think we can all agree, <a href=\"https://en.wikipedia.org/wiki/Link_rot\">link rot</a> is a problem. A 2014 study by Harvard Law School determined that <a href=\"http://journals.cambridge.org/action/displayAbstract?fromPage=online&amp;aid=9282809&amp;fileId=S1472669614000255/\">roughly 50% of the URLs referenced in U.S. Supreme Court opinions no longer work</a>. That’s <em>terrifying</em>.</p>\n<p>When I was mid-way through writing <a href=\"http://adaptivewebdesign.info/2nd-edition/\">the Second Edition of <cite>Adaptive Web Design</cite></a>, I realized that it was pretty likely some of the links I was referencing might disappear over the years. Little did I know, some of them would disappear <em>while I was writing the book!</em></p>\n<p><a href=\"https://archive.org/web/\">The Internet Archive’s Wayback Machine</a> is pretty good, but it doesn’t archive everything, and I often find captured pages end up broken—especially if they rely heavily JavaScript, but often images go missing as well. I wanted to make sure that when you pick up the book a year from now or even 10 years from now, the links will still work.</p>\n<p>I evaluated a few options for creating a permanent archive of each and every link in the book (there are over 200), but then it dawned on me that <a href=\"https://perma.cc/\">Perma.cc</a> might be the perfect answer.</p>\n<p><a href=\"http://Perma.cc\">Perma.cc</a> was created by the <a href=\"http://librarylab.law.harvard.edu/\">Harvard Library Innovation Lab</a> in reaction to the paper I mentioned earlier. It is a distributed archive of URLs for scholarly and legal documents, supported not only by Harvard, but over 90 (<em>and counting!</em>) libraries, distributed all over the world. <a href=\"https://github.com/harvard-lil/perma\">It’s also open source</a>. Each <a href=\"https://perma.cc/docs#archive-formats\">URL is preserved as a live view, an archived view, and a screen capture</a> taken when the link is added. Archived URLs are kept for a minumum of 2 years, but <a href=\"https://perma.cc/docs#vesting-links\">may be “vested” into the permanent archive by a member organization</a>.</p>\n<p>I had contributed some CSS to the project a while back, so I reached out to my contacts to see if they might be interested in vesting all of the links for the book. Turns out they were big fans of <a href=\"http://adaptivewebdesign.info/1st-edition/\">the First Edition</a> and enthusiastically offered their support.</p>\n<p>Converting all of the links took time (and a lot of double- and triple-checking), but the result is that every article, blog post, and web page that I referenced in the book will remain accessible to you in perpetuity. I think that’s pretty awesome. And, as an added bonus, since <a href=\"http://Perma.cc\">Perma.cc</a> creates unique URLs that are relatively short, those of you who read it in print won’t have to re-type the often incredibly-lengthy original URLs.</p>\n<p>I can’t thank <a href=\"http://mattphillips.info/\">Matt Phillips</a>, <a href=\"https://twitter.com/abziegler\">Adam Ziegler</a>, <a href=\"http://jackcushman.org/\">Jack Cushman</a>, and everyone else at the Harvard Library Innovation Lab enough for creating <a href=\"http://Perma.cc\">Perma.cc</a> <em>and</em> for offering their service to my readers. You all are amazing!</p>\n","url":"https://www.aaron-gustafson.com/notebook/avoiding-linkrot-in-print-with-the-help-of-perma-dot-cc/","tags":["the future","the web","URLs","user experience","writing","hazards"],"date_published":"2015-12-02T21:03:35Z"},{"id":"https://www.aaron-gustafson.com/notebook/adaptive-web-design-folded-and-gathered/","title":"✍🏻 Adaptive Web Design: Folded &amp;amp; Gathered","summary":"I just got this photo from Tracey Croom, my production editor on the Second Edition of Adaptive Web Design and I wanted to share it with you.","content_html":"<p>I just got this photo from <a href=\"https://www.linkedin.com/pub/tracey-croom/13/a6/985\">Tracey Croom</a>, my production editor on <a href=\"http://adaptivewebdesign.info/2nd-edition/\">the Second Edition of <cite>Adaptive Web Design</cite></a> and I wanted to share it with you. Production is almost done and I should be getting my bound copies soon. I’m so excited!</p>\n<figure id=\"fig-2015-11-12-01\" class=\"media-container\">\n<p><img src=\"https://www.aaron-gustafson.com/i/posts/2015-11-12/01.jpg\" alt=\"\"></p>\n  <figcaption>A photo of the folded & gathered pages of <cite>Adaptive Web Design</cite>’s Second Edition.</figcaption>\n</figure>\n","url":"https://www.aaron-gustafson.com/notebook/adaptive-web-design-folded-and-gathered/","tags":["Adaptive Web Design","writing"],"date_published":"2015-11-12T18:16:27Z"},{"id":"https://www.aaron-gustafson.com/notebook/bidding-farewell-to-shirley-the-goat/","title":"✍🏻 Bidding Farewell to Shirley the Goat","summary":"On April 2nd, Web Standards Sherpa, a publication I helped found, will close its doors.","content_html":"<p>It is with a heavy heart that I announce that we are closing <a href=\"http://webstandardssherpa.com/\"><em>Web Standards Sherpa</em></a>. As of April 2, we will be archiving the site in order to keep the valuable insights and techniques shared by our authors available in perpetuity.</p>\n<p>I am sure I speak for <a href=\"http://webstandardssherpa.com/about/#staff\">our staff and authors</a> when I say this has been a wonderful experience and we are incredibly proud of the work we have done. The <a href=\"http://webstandardssherpa.com/reviews/\">reviews and articles we’ve written</a> and <a href=\"http://webstandardssherpa.com/ask-the-sherpas/\">the questions we’ve answered</a> have provided web designers and developers around the world with relevant, actionable information to help them do their jobs better. And I have no doubt that our readers have helped make the Web better by improving the quality of the products our industry produces.</p>\n<p>As one last hurrah—and as a way to raise some funds to pay for the site’s archival &amp; internment—we are collaborating with <a href=\"http://environmentsforhumans.com/\">Environments for Humans</a> to put on <a href=\"http://environmentsforhumans.com/2015/web-sherpa-summit/\">a one-day live virtual conference</a> featuring a handful of our writers and staff giving talks and answering your questions.</p>\n<p>I am very thankful to <a href=\"http://webstandardssherpa.com/about/#staff\">all of our staff and authors</a> and to you, our readers, for making <em>Web Standards Sherpa</em> such a fun and rewarding endeavor! It was a great run and I count myself lucky to have had a small hand in the creation of so much great content.</p>\n<p>You can find all of the details regarding the conference <a href=\"http://environmentsforhumans.com/2015/web-sherpa-summit/\">over on the Environments for Humans website</a>. I hope you’ll consider attending so we can ensure <em>Web Standards Sherpa</em>’s excellent content will remain available for years to come. Use the discount code SHERPA to save 20% off of the ticket price.</p>\n","url":"https://www.aaron-gustafson.com/notebook/bidding-farewell-to-shirley-the-goat/","tags":["web design","writing"],"date_published":"2015-03-09T13:35:42Z"},{"id":"https://www.aaron-gustafson.com/notebook/revisiting-and-releasing-adaptive-web-design/","title":"✍🏻 Revisiting (and Releasing) Adaptive Web Design","summary":"I am currently working on the second edition of Adaptive Web Design, so it seemed only natural to release the entirety of the first edition, for free as HTML. And yes, the book is progressively enhanced.","content_html":"<p>As you probably know, back in 2011 Easy Readers published my first solo book: <a href=\"http://adaptivewebdesign.info\"><cite>Adaptive Web Design</cite></a>. It was an immediate hit and the response to continues to be tremendous even though it will turn four this coming May (which has to be like 80 in technology book years… many are outdated before they are even released).</p>\n<blockquote>\n<p>Time and again, I return to @AaronGustafson’s “Adaptive Web Design”. Like a North Star for user-focused web design.</p>\n</blockquote>\n<p>I think one of the main reasons the book has remained relevant for so long is because at its core, <cite>Adaptive Web Design</cite> is a <em>philosophy</em> book. Sure, there are some code examples here and there, but they only serve to demonstrate how you can apply progressive enhancement in your work. The philosophy of progressive enhancement works and only continues to demonstrate its brilliance with each new Web-enabled screen that debuts in the ever-expanding global marketplace. In fact, I’ll go out on a limb and declare that progressive enhancement is probably even more relevant today than it was when I wrote <cite>Adaptive Web Design</cite> in 2010.</p>\n<p>As such, I’ve been thinking a lot about an update. So much has happened since mid-2010 when I was writing the book. Heck, I didn’t even address Responsive Web Design and only touched a little on mobile. Then there are things like single-page apps &amp; isomorphic JavaScript I’d love to discuss. <a href=\"http://opengraphprotocol.org/\">Open Graph</a> &amp; <a href=\"http://schema.org/\">Schema.org</a>… new tweaks to <a href=\"http://www.w3.org/WAI/intro/aria.php\">the ARIA spec</a>… <a href=\"http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#the-picture-element\"><code>picture</code></a>, <a href=\"http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#attr-img-srcset\"><code>srcset</code></a> &amp; <a href=\"http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#attr-img-sizes\"><code>sizes</code></a>… the <a href=\"http://www.w3.org/TR/shadow-dom/\">shadow DOM</a>… <a href=\"http://www.w3.org/TR/components-intro/\">web components</a>… the list goes on and on. Progressive enhancement can help you better understand the pros and cons of all of these new advances and help you employ them while simultaneously keeping your projects on time and on budget.</p>\n<p>My hope is that the second edition of <cite>Adaptive Web Design</cite> will be out an in your hands by the end of 2015. But in the meantime, <a href=\"https://adactio.com/journal/4956\">taking a page from Jeremy</a>, I felt it was time to give away the first edition. You can now <a href=\"http://adaptivewebdesign.info/1st-edition/\">read <cite>Adaptive Web Design</cite></a>, in it’s entirety, from the comfort of your own browser… for free.</p>\n<p>The HTML version of <cite>Adaptive Web Design</cite> is a nearly direct port of the XHTML I wrote for the hand-coded ePub. I made a few tweaks to make it a little more readable in the browser, but it’s all there including the videos. And yes, it makes use of progressive enhancement.</p>\n<p>I hope you enjoy reading it as much as I enjoyed writing it and I look forward to getting you the revised and expanded second edition in the not to distant future.</p>\n<p>PS - Easy Readers closed up shop at the end of 2014 and delivered the remaining paperback copies—of which there are only 50 or so—to me. If you missed out on getting a copy and would like to purchase one, <a href=\"/contact/\">drop me a line</a> and I can sell you one. I’ll even sign it for you!</p>\n","url":"https://www.aaron-gustafson.com/notebook/revisiting-and-releasing-adaptive-web-design/","tags":["web design","writing","Adaptive Web Design"],"date_published":"2015-01-05T19:10:49Z"},{"id":"https://www.aaron-gustafson.com/notebook/responsive-typography/","title":"✍🏻 Responsive Typography","summary":"I think Responsive Typography is such an invaluable book, I offered to write the Foreword and Jason Pamental (and O’Reilly) have been kind enough to let me reprint it here.","content_html":"<p>I’m incredibly excited to see that <a href=\"https://twitter.com/jpamental\">Jason Pamental</a>’s fantastic <a href=\"https://www.amazon.com/gp/product/1491907096/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1491907096&amp;linkCode=as2&amp;tag=easydesign-20&amp;linkId=JC6INFXF3DHODKEM\"><cite>Responsive Typography</cite></a> is finally available. I had the great pleasure of reviewing an early galley and I can honestly say that it’s a book well worth reading. Jason’s natural and friendly style makes for an easy read and it’s chock-full of actionable recommendations and tips you’ll want to start using right away.</p>\n<p>In fact, I think <cite>Responsive Typography</cite> is such an invaluable book, I offered to write the Foreword and Jason (and O’Reilly) have been kind enough to let me reprint it here:</p>\n<blockquote>\n<p>Back in my day, all we had was the <code>font</code> element.</p>\n<p>I fully realize that makes me sound like an old man, but I’m not ready to chase young whippersnappers off my lawn quite yet. But the fact remains that when I taught myself how to build web pages back in the mid-’90s, our design options were fairly limited. Heck, my first experience on the Web was on a text-based browser that provided me access to page upon glorious page of stark, blocky Courier. White text. Black background. 100% responsive.</p>\n<p>When visual browsers finally hit the scene, ushering in images and the <code>font</code> element, we web designers finally had the opportunity to move out of monospace. I’ll leave it to Jason to delve into the history of typography on the Web, but the advent of visual browsers opened the floodgates for use (and abuse) of type online. It was the desktop publishing revolution all over again: a direct assault on the sensibilities of anyone with even the slightest understanding of typography.</p>\n<p>Over the years, we’ve made a lot of mistakes with web type: Fonts embedded in images. Fonts embedded in Flash. Fonts embedded in JavaScript. Many of those were attempts to bypass the gridlock created by browser makers, type foundries, and the W3C, who couldn’t come to a consensus on how to balance a desire for more type options on the Web while ensuring typographers got paid for all of their hard work. While they bickered, we soldiered on, looking for more accessible and maintainable ways to use more typefaces.</p>\n<p>And while we were busy tinkering with sIFR and Cufón, eagerly awaiting the day we could abandon those hacks and have real browser support for actual font formats, an army of little black rectangles had caught a whiff of the awesome content we were serving up to desktop browsers.</p>\n<p>Like ants at a Sunday picnic, these little black rectangles initially appeared one or two at a time. They were easily ignored, a nuisance. Nothing to take too seriously. But before we knew what was happening, that trickle turned into a flood and those little rectangles were hungry. Instead of taking a crumb here and there—which we tossed to them with a great sense of self-satisfaction—these ambitious ants were carrying off whole deli trays and the friggin’ <cite>New York Times</cite>.</p>\n<p>These little black rectangles are, of course, the surge of handheld (or at least hand-holdable) devices that have been redefining our concept of “the Web” almost daily. They exhibit widely variable screen sizes: from about the size of a matchbook, to ones that are bigger than an extra large pizza. They sport a plethora of pixel densities, new interaction methods, unpredictable network connection speeds, and low-powered processors that can’t possibly compete with traditional laptop and desktop CPUs (not to mention a handful of different operating systems and browsers). All of these factors affect how—and even whether—your typographic choices will make it to your customers, and it’s a lot to take in.</p>\n<p>Thankfully, Jason has your back. The book you’re now reading is invaluable: it’s chock-full of useful approaches, practical code samples, and advice for dealing with typography in the age of responsive web design.</p>\n<p>By the time you finish this brief book, you’ll be ready to handle pretty much any device someone may throw at you. But hopefully they won’t. Devices are hard. And expensive.</p>\n<p>— Aaron Gustafson<br/>\n   Author, <cite>Adaptive Web Design</cite></p>\n</blockquote>\n<p>By the way, if you’re on a typography kick I’ll also recommend an second new book by another Jason I respect greatly: <a href=\"https://jasonsantamaria.com\">Jason Santa Maria</a>’s <a href=\"https://www.abookapart.com/products/on-web-typography\"><cite>On Web Typography</cite></a>. The two books books compliment each other perfectly, with very little overlap. They’d make an awesome bundle.</p>\n","url":"https://www.aaron-gustafson.com/notebook/responsive-typography/","tags":["web design","writing","responsive web design"],"date_published":"2014-09-20T20:43:22Z"},{"id":"https://www.aaron-gustafson.com/notebook/a-web-for-everyone/","title":"✍🏻 A Web For Everyone","summary":"If you work on the web at all, you need this book. It’s an amazingly easy read that brings humanity to an often dry subject and I am very thankful to have been a part of it.","content_html":"<p>What follows is the foreword I wrote for <a href=\"http://rosenfeldmedia.com/books/a-web-for-everyone/\"><cite>A Web For Everyone: Designing Accessible User Experiences</a></a> by Sarah Horton &amp; Whitney Quesenbery. If you work on the web at all, you need this book. It’s an amazingly easy read that brings humanity to an often dry subject and I am very thankful to have been a part of it.</p>\n<blockquote>\n<p>I was an only child, so it shouldn’t come as a surprise that I grew up thinking the world revolved around me. In fact, I’ll be the first to admit that I was a pretty selfish kid. Well behaved, certainly, but not terribly concerned with how my actions affected others.</p>\n<p>As an only child, the Golden Rule my grandparents insisted was so important—Do unto others as you would have them do unto you—didn’t really resonate. But I was a kid, what did I know? I was sheltered. I was young. I was the sole beneficiary of my parents’ love, time, and money. I had a pretty good life, but I lacked perspective.</p>\n<p>I like to think I’ve grown immensely in the intervening years. Through my work, travel, and moving around a lot, I’ve experienced dozens of cultures, and I’ve met hundreds of new people, each with their own life experiences, needs, and desires. Exposure to their unique perspectives has broadened my own and helped me break down the psychological barriers I maintained between me and the “others.”</p>\n<p>But it wasn’t until I started working on the web that I came to a full understanding of the importance of the Golden Rule. Prior to becoming a developer, the ramifications of my decisions were fairly limited. But on the web, every decision I make can have a profound effect on hundreds of thousands (if not millions) of people’s lives. I can make checking into a flight a breeze, or I can make it a living hell.</p>\n<p>That’s a lot of power. And to quote Stan Lee: “With great power comes great responsibility.”</p>\n<p>My mom always told me that if you choose to do something, you should do it well, so I made it my mission to make the web an easy-to-use, friendly, and accessible place. I chose to make the Golden Rule central to my work.</p>\n<p>As schmaltzy and self-aggrandizing as all that may sound, it’s also pretty shrewd. The Golden Rule can do wonders for your business. After all, what is good customer service if not treating someone like a human being worthy of your time, consideration, and respect? If we spend every day looking for new ways to make our customers’ lives better, we’ll create a lasting legacy and build a strong base of customer advocates along the way.</p>\n<p>A commitment to universal accessibility is the highest form of customer service. It recognizes that we all have one special need or another at one time or another in our lives, and that fact should not preclude us from experiencing all the web has to offer. It’s about providing everyone with equal opportunity to engage with your brand experience, even though they may do so in different ways. It breaks down the barriers between “us” and “them” and recognizes the humanity in our customers.</p>\n<p>And it’s really not that hard.</p>\n<p>In the pages that follow, Whitney and Sarah beautifully lay out the case for accessibility, show you what it looks like, and demonstrate just how simple it is to achieve. They introduce us to a series of personas—Trevor, Emily, Jacob, Lea, Vishnu, Steven, Maria, and Carol—and help us effortlessly slip into each of their shoes, to see the struggles they experience when using the web, and to recognize our own needs and desires in their own.</p>\n<p>In a time when many of us are scrambling to keep up with technological advancements and the opportunities they create, this book grounds us in what really matters: people. This book is a roadmap to providing incredible customer service and realizing the Golden Rule in our work and—much like the code we write and experiences we design—the ripple effect it generates is sure to bring about a more equitable web.</p>\n</blockquote>\n","url":"https://www.aaron-gustafson.com/notebook/a-web-for-everyone/","tags":["accessibility","inclusion","writing"],"date_published":"2014-01-22T00:46:48Z"},{"id":"https://www.aaron-gustafson.com/notebook/implementing-responsive-design/","title":"✍🏻 Implementing Responsive Design","summary":"Tim Kadlec’s Implementing Responsive Design is a fantastic and necessary read for any practicing web professional out there and I was honored Tim asked me to write the foreword.","content_html":"<p>In case you hadn’t heard, Tim Kadlec’s <a href=\"http://www.implementingresponsivedesign.com/\"><cite>Implementing Responsive Design</cite></a> came out today from New Riders. It’s a fantastic and necessary read for any practicing web professional out there and I was honored Tim asked me to write the foreword. With his permission, I have included it below:</p>\n<blockquote>\n<p>A few years back, photography legend Chase Jarvis smartly observed that “the best camera is the one that’s with you.” It was a mildly shocking assertion at the time, but it rings true: the perfect shot is rarely planned. Rather, it sneaks up on you.</p>\n<p>Perhaps the light is perfectly accentuating the fall foliage on your late afternoon stroll. Or perhaps your infant daughter just pulled herself up on two legs for the first time. In moments like these, it doesn’t matter that your Leica is sitting on a shelf in the other room or that you left your Rebel in the car—what matters is that you have a camera, however crude, in your pocket and can capture this serendipitous and ephemeral moment.</p>\n<p>Riffing on Jarvis’s idea, Stephanie Rieger has made the case that the best browser is the one you have with you. After all, life is unpredictable. Opportunities are fleeting. Inspiration strikes fast and hard.</p>\n<p>Imagine yourself as a cancer researcher. You’ve been poring over a mountain of research for months, looking for a way to increase interferon-gamma production in an effort to boost the body’s natural ability to inhibit the development of tumors. Your gut tells you that you’re close to an answer, but it’s just out of reach. Then one morning, while washing the exhaustion off in a nice hot shower, it hits you. Eureka! You think you’ve got it—you just need to refer back to that paper you read last week.</p>\n<p>Dripping, you leap from the tub and land on the bath mat. Without even grabbing a towel, you pluck your mobile off the counter and head to the journal’s site, only to find yourself re-routed to a “lite” version of the website that shows you only general information about the publication and prompts you to subscribe.</p>\n<p>Your fingers leave wet streaks across the screen as you frantically scroll down the page to find the inevitable link to “View Full Site” and click it. As the screen loads, you find yourself hovering 30,000 feet above a patchwork quilt of a homepage that could only have been designed by committee.</p>\n<p>Several minutes of pinching, zooming, and typing later, you finally find the article, only to discover it’s a PDF and nearly impossible to read on your tiny screen. Dejected, you put down the phone and sulk back into the shower, hoping it will wash away your disappointment.</p>\n<p>Sadly, browsing the web on mobile is all too often a frustrating (and occasionally dehumanizing) endeavor. But it doesn’t have to be.</p>\n<p>In the pages of this very book, my friend Tim clearly outlines the steps you can (and indeed should) take to ensure that the sites you help create offer each user a fantastic experience, tailored to the capabilities of her device and respectful of her time, patience, and data limits. Don’t let his small town charm fool you: Tim knows this stuff inside and out. I learned a ton from this book and I know you will too.</p>\n</blockquote>\n<p>Trust me when I say <em>you need this book</em>. Happy reading!</p>\n","url":"https://www.aaron-gustafson.com/notebook/implementing-responsive-design/","tags":["responsive web design","writing"],"date_published":"2012-08-07T00:46:48Z"},{"id":"https://www.aaron-gustafson.com/notebook/i-finally-wrote-a-book/","title":"✍🏻 I (Finally) Wrote a Book","summary":"Over the last five years, one of the most frequent questions I’ve gotten has been “When are you going to write a book? ”","content_html":"<p>Over the last five years, one of the most frequent questions I’ve gotten has been “When are you going to write a book?<span class=\"final quote\">”</span></p>\n<p>You see, I’ve been writing articles and contributing to other people’s books since some time in 2004. In that time, I’ve also presented at dozens of conferences on a variety of topics. The topics I’ve chosen for these endeavors have been all over the map, but the theme that seemed to link them all was progressive enhancement. It’s the philosophical underpinning of everything I do and a subject that gets me excited about coming to work every day. So, naturally, I decided to make that the topic of my first solo book: <a href=\"http://adaptivewebdesign.info\"><cite>Adaptive Web Design: Crafting Rich Experiences with Progressive Enhancement</cite></a>.</p>\n<figure><img alt=\"\" src=\"/i/posts/2011-06-21/adaptive-web-design-stack.jpg\"/></figure>\n<p>This book has been writing itself in my head for the last four or five years, so it was a great feeling to finally commit it to “paper” when I began this process a little over a year ago. My primary goal in writing the book was to thoroughly explain what progressive enhancement is, why it works, and how to use it. It is not meant to be a technique book.</p>\n<p>My reasoning is simple: People understand techniques that apply progressive enhancement, but techniques come and go (just like browsers do). With a solid understanding of the philosophy and mechanisms of progressive enhancement, our community will be better able to build adaptive websites that truly serve our users. In many ways, I strove to write a philosophy book. A philosophy book with code.</p>\n<p>Anyway, after about a year of writing, editing, and production (coupled with the formation of a new publishing house, etc.), I’m very happy to have the book out there and into your hands. So far, <a href=\"http://susanjeanrobertson.com/geekery/progressive-enhancement-and-responsive-design/\">your response</a> <a href=\"https://twitter.com/AaronWinters916/status/79247698187911168\">has</a><a href=\"https://twitter.com/#!/LarrySawyer/status/78301749575819264\"> been</a> <a href=\"http://http//www.456bereastreet.com/archive/201106/adaptive_web_design_book_review/\">overwhelmingly positive</a>, making me feel like this is the book I was meant to write.</p>\n<p>I thanked a lot of people in the book itself, but I wanted to take another moment to sincerely thank my team here at Easy Designs for their feedback during the writing process and their relentless pursuit of perfection when it came to everything from paper choice, to book design, to finding our printer, and even for their care in the packaging and shipping of my precious baby. They did amazing work considering we’re primarily a web shop. I’d also like to thank Krista Stevens for her amazing editorial guidance, Veerle Pieters for her gorgeous cover design, and Jeffrey Zeldman for his wonderful foreword.</p>\n<p>Oh, and I’m going to close out this post with one final tidbit about the print version of my book: not only is it printed on 50% recycled paper, but nearly every component of the book and its packaging (including our shipping boxes), was created within 2 hours of Chattanooga, TN (where we’re based). We created a beautiful product and kept every aspect of its production local. I think that’s pretty amazing.</p>\n<p>If you haven’t grabbed a copy yet, we’re selling paperbacks, eBooks (ePub, Mobi, and PDF), and combo packs on <a href=\"http://easy-readers.net\">the Easy Readers website</a> and <a href=\"http://www.amazon.com/Adaptive-Web-Design-Experiences-ebook/dp/B0056ICETG\">the Kindle edition just went on sale at Amazon</a>.</p>\n<p>Happy reading!</p>\n","url":"https://www.aaron-gustafson.com/notebook/i-finally-wrote-a-book/","tags":["Adaptive Web Design","writing","progressive enhancement"],"date_published":"2011-06-21T10:27:12Z"},{"id":"https://www.aaron-gustafson.com/notebook/knock-on-wood-pulp/","title":"✍🏻 Knock on Wood (Pulp)","summary":"I was pretty chuffed to see Web Design in a Nutshell , a book I wrote a few chapters for, show up in this incredible video of a book xylophone. Check it out:","content_html":"<p>I was pretty chuffed to see <a href=\"http://amazon.com/gp/product/0596009879?ie=UTF8&amp;tag=easydesign-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596009879\"><cite>Web Design in a Nutshell</cite></a>, a book I wrote a few chapters for, show up in this incredible video of a book xylophone. Check it out:</p>\n  <lite-youtube videoid=\"VZrnjevlx4g\" style=\"background-image: url('https://i.ytimg.com/vi/VZrnjevlx4g/hqdefault.jpg');\" params=\"\">\n    <a href=\"https://www.youtube.com/watch?v=VZrnjevlx4g\" class=\"lty-playbtn\" title=\"Play Video\">\n      <span class=\"lyt-visually-hidden\">Play Video</span>\n    </a>\n  </lite-youtube>\n","url":"https://www.aaron-gustafson.com/notebook/knock-on-wood-pulp/","tags":["writing","personal"],"date_published":"2011-05-06T18:59:11Z"},{"id":"https://www.aaron-gustafson.com/notebook/book-report-nickel-and-dimed/","title":"✍🏻 Book Report: Nickel and Dimed","summary":"I just finished reading Barbara Ehrenreich’s Nickel and Dimed and it really opened my eyes. Clevery subtitled “How (Not) To Get By in America,” the book is a chronicle of Ehrenreich’s “adventures“ in survival as a member of the low-wage…","content_html":"<p>I just finished reading Barbara Ehrenreich’s <cite>Nickel and Dimed</cite> and it really opened my eyes. Clevery subtitled “How (Not) To Get By in America,” the book is a chronicle of Ehrenreich’s “adventures“ in survival as a member of the low-wage workforce that serves our meals, cleans our homes, and cares for our elderly.</p>\n<p>The book is divided into three sections, each of which finds Ehrenreich in a new location, looking for work and a place to live. Her first stop was Key West, where she took a job as a waitress at one restaurant before moving to a busier one attached to a hotel. A bit later, she tried to increase her income by picking up some additional work as a maid at said hotel, but the exhaustion (and accompanying pain) got to her and she decided just to stick with the waitressing.</p>\n<p>In the second section, she journeyed to Maine, where she picked up a job working for a cleaning service during the week and working at a nursing home on the weekends. It was the “off season” in Maine, meaning weekly rents were far cheaper at the extended-stay motels, but she still had problems making ends meet. There’s no doubt that the tourist season would have bankrupted her or had her sharing a single-room efficiency with several other workers.</p>\n<p>Finally, it was on to the heartland of America, Minnesota, where she was shocked to discover a severe affordable housing shortage. She took a position as an “associate” at Wal-Mart to gain additional insight into the largest private employer in the United States (possibly the world), but no matter how hard she tried, she just could not afford to live, even in the seediest of motels with assistance from local charities and the State.</p>\n<p>In each location, Ehrenreich tried to live as cheaply as possible, often finding shelter at hotels, motels, and trailer parks that cater to those unable to afford an apartment. And, in Minneapolis, when she couldn’t even afford to do that, a local organization suggested she live at a shelter (while working full-time at Wal-Mart, mind you) until she had saved enough to afford the first month’s rent and security deposit for an apartment in the tight real estate market.</p>\n<p>While it is arguable that she could not even hope to capture the complete experience by spending just a month in each place (and, of course, being able to return to her “real” life at any time), she was able to glean a good deal of insight into the struggles of low wage workers in this country. Her final chapter, in fact, articulated perfectly some of the thoughts and feelings I’ve had for some time. Here’s an excerpt:</p>\n<blockquote cite=\"http://www.barbaraehrenreich.com/nickelanddimed.htm\">\n<p>When poor single mothers had the option of remaining out of the labor force on welfare, the middle and upper middle class tended to view them with a certain impatience, if not disgust. The welfare poor were excoriated for their laziness, their persistence in reproducing in unfavorable circumstances, their presumed addictions, and above all for their “dependency.” Here they were, content to live off “government handouts,” instead of seeking “self-sufficiency,” like everyone else, through a job. They needed to get their act together, learn how to wind an alarm clock, get out there and work. But now that government has largely withdrawn its “handouts,” now that the overwhelming majority of the poor are out there toiling in Wal-Mart or Wendy’s—well, what are we to think of them? Disapproval and condescension no longer apply, so what outlook makes sense?</p>\n<p>Guilt, you may be thinking warily. Isn’t that what we’re supposed to feel? But guilt doesn’t go anywhere near far enough; the appropriate emotion is shame—shame at our <em>own</em> dependency, in this case, on the underpaid labor of others. When someone works for less pay than she can live on—when, for example, she goes hungry so that you can eat more cheaply and conveniently—then she has made a great sacrifice for you, she has made a gift of some part of her abilities, her health, and her life. The “working poor,” as they are approvingly termed, are in fact the major philanthropists of our society. They neglect their own children so that the children of others will be cared for; they live in substandard housing so that other homes will be shiny and perfect; they endure privation so that inflation will be low and stock prices high. To be a member of the working poor is to be an anonymous donor, a nameless benefactor, to everyone else.</p>\n</blockquote>\n<p>I highly recommend checking this book out if your a social activist interested in pushing for a living wage or are simply interested in the nature of labor and the workforce in America.</p>\n","url":"https://www.aaron-gustafson.com/notebook/book-report-nickel-and-dimed/","tags":["society","writing"],"date_published":"2006-11-22T19:58:00Z"},{"id":"https://www.aaron-gustafson.com/publications/articles/getting-started-with-ajax/","title":"📄 Getting Started with Ajax","content_html":"<p>In this excerpt from O’Reilly’s <cite>Web Design in a Nutshell</cite>, I take you aside for a little chat about the birds and the bees. Or maybe about Ajax.</p>\n","url":"http://www.alistapart.com/articles/gettingstartedwithajax","tags":["JavaScript","writing"],"date_published":"2006-03-07T17:00:00Z"},{"id":"https://www.aaron-gustafson.com/notebook/i-missed-it/","title":"✍🏻 I missed it","summary":"Apparently I missed the release of Web Design in a Nutshell, 3rd Edition . It hit bookshelves February 23rd. I haven’t seen a physical copy yet, but Jen ’s got a few copies for me when I get down to SXSW .","content_html":"<p><a href=\"http://www.amazon.com/exec/obidos/redirect?path=ASIN/0596009879&amp;link_code=as2&amp;camp=1789&amp;tag=easydesign-20&amp;creative=9325\"><img alt=\"Web Design in a Nutshell, 3rd Edition\" class=\"feature\" id=\"image82\" src=\"/i/posts/2006-03-06/WDiaN.gif\"/></a></p>\n<p>Apparently I missed the release of <a href=\"http://www.amazon.com/exec/obidos/redirect?path=ASIN/0596009879&amp;link_code=as2&amp;camp=1789&amp;tag=easydesign-20&amp;creative=9325\">Web Design in a Nutshell, 3rd Edition</a>. It hit bookshelves February 23rd. I haven’t seen a physical copy yet, but <a href=\"http://www.jenville.com\">Jen</a>’s got a few copies for me when I get down to <a href=\"http://2006.sxsw.com/interactive/\">SXSW</a>.</p>\n<p>Getting prepped for SXSW has me kinda crazed right now, but I wanted to get a quick plug in for the book, since I think it’s such a great reference for doing things the web standards way (and a vast improvement over the 2nd Editon). It was a lot of fun working with Jen on this and I’m looking forward to seeing <a href=\"http://www.boxofchocolates.ca\">Derek</a>’s contribution to the title as well. It was also really great to work with <a href=\"http://www.molly.com\">Molly</a>, <a href=\"http://www.tantek.com\">Tantek</a> and <a href=\"http://www.adactio.com\">Jeremy</a> on the Technical Editing side. Their input was greatly appreciated and, I think, made this book even more valuable.</p>\n","url":"https://www.aaron-gustafson.com/notebook/i-missed-it/","tags":["web standards","writing"],"date_published":"2006-03-06T15:00:54Z"}]}