Everything I’ve Written

I love to write and have contributed to a shelf’s-worth of books. I’ve also written dozens of articles and helped shape dozens more when I was the technical editor for A List Apart.

Books

  • Adaptive Web Design (2nd Edition)
    Crafting Rich Experiences with Progressive Enhancement

    The definitive guide to progressive enhancement, completely revised and rewritten. In this brief book, I chronicle the origins of progressive enhancement—its philosophy and mechanisms—and reveal the countless practical ways you can apply progressive enhancement principles in HTML, CSS, and JavaScript. By understanding progressive enhancement and how to apply it properly, you can craft experiences that serve users (rather than browsers), giving them access to your content from anywhere.

  • Smashing Book 4
    New Perspectives on Web Design

    Aaron Gustafson, et al

    Smashing Magazine’s books are legendarily epic and, clocking in at 498 pages, this is no light read. That said, it is chock full of some of the best and most important writing about the world of web design out there. I contributed a chapter on planning adaptive interfaces.

  • Adaptive Web Design
    Crafting Rich Experiences with Progressive Enhancement

    In this brief book, I chronicle the origins of progressive enhancement—its philosophy and mechanisms—and reveal the countless practical ways you can apply progressive enhancement principles in HTML, CSS, and JavaScript. By understanding progressive enhancement and how to apply it properly, you can craft experiences that serve users (rather than browsers), giving them access to your content from anywhere. Bonus: You can read it online for free!

  • Accelerated DOM Scripting
    with Ajax, APIs, and Libraries

    Jonathan Snook
    with Aaron Gustafson, Stuart Langridge, Dan Webb

    When I was asked to contribute a chapter to Jonathan Snook’s book on JavaScript, I was floored. I got to pick the topic, so I wrote about upgrading FAQ pages with JavaScript.

  • AdvancED DOM Scripting
    Dynamic Web Design Techniques

    Jeffrey Sambells
    with Aaron Gustafson

    I contributed a chapter exploring the creation of a custom-designed, accessible select element to Jeffrey Sambells’ advanced JavaScript technique book.

I’m honored to have made contributions to these other amazing books as well.

I’ve also tech edited and contributed in various other ways to Bulletproof Ajax by Jeremy Keith, Designing Web Navigation by James Kalbach, Designing with Web Standards by Jeffrey Zeldman, DOM Scripting by Jeremy Keith, Learning Web Design by Jennifer Robbins, ppk on JavaScript by Peter-Paul Koch, Practical Prototype and script.aculo.us by Andrew Dupont, Pragmatic Guide to JavaScript by Christophe Porteneuve, and Transcending CSS: The Fine Art of Web Design by Andy Clarke and Molly Holzschlag.

Articles

  • What interests you?

    Human in the Machine,

    In my entry to this project, I offer some advice around how to build empathy through conversation.

  • When Your Code Has To Work: Complying With Legal Mandates

    Smashing Magazine,

    Ensuring that our websites work across a myriad of different devices, screen sizes and browsers our users depend on to access the web is a tall order, but it’s necessary.

  • Experimenting With speechSynthesis

    Smashing Magazine,

    I’ve been thinking a lot about speech for the last few years. In fact, it’s been a major focus in several of my talks of late, including my well-received Smashing Conference talk “Designing the Conversation.” As such, I’ve been keenly interested in the development of the Web Speech API.

  • Building in 10k: Compilation, Optimization, and Compression

    Microsoft Edge Dev Blog,

    A behind-the-scenes look at how we compressed & optmized the crap out of the 2016 10k Apart website.

  • Building in 10k: Svelte JavaScript Enhancements

    Microsoft Edge Dev Blog,

    A behind-the-scenes look at how I used JavaScript in building the 2016 10k Apart website.

  • Building in 10k: CSS Structure and Sandboxing

    Microsoft Edge Dev Blog,

    A behind-the-scenes look at my CSS strategy for building the 2016 10k Apart website.

  • Building in 10k: Designing for Optimization and Performance

    Microsoft Edge Dev Blog,

    A behind-the-scenes look at the design decisions we made for the 2016 10k Apart website.

  • Building in 10k: Markup for Accessibility, Clarity, and Affordance

    Microsoft Edge Dev Blog,

    A behind-the-scenes look at the markup decisions I made in building the 2016 10k Apart website.

  • Building in 10k: Content and Strategy

    Microsoft Edge Dev Blog,

    A behind-the-scenes look at the strategy and copywriting behind the 2016 10k Apart website.

  • A Funny Thing Happened To Me On The Way To 2016…

    An Event Apart,

    I join an impressive list of AEA speakers in reflecting on where we were in our careers 10 years ago.

  • Developing Dependency Awareness

    Smashing Magazine,

    As web designers & developers, we take a lot for granted and it can get us into trouble.

  • Interaction is an Enhancement

    A List Apart,

    This is an excerpt from Chapter 5 of Adaptive Web Design, Second Edition.

  • Establishing Web Standards

    Net Magazine,

    How an idea becomes a specification at the W3C.

  • Bringing Sanity and Order to Device Testing

    SitePoint,

    Device testing is time consuming, but you can make it easier on yourself.

  • 15 Years of Dao

    A List Apart,

    Collected reflections on John Allsopp’s influential article from 7 April 2000.

  • Create Simple, Accessible Forms

    Net Magazine,

    A bit on how to author forms that work.

  • Reflecting on the Revamped Sherpa

    Web Standards Sherpa,

    I turn the spotlight on the Sherpa site and walks through some of the choices we made for the mobile-first overhaul of this site.

  • Q&A: Cross-Browser Audio and Video

    Web Standards Sherpa,

    Adding audio and video content to a web page is nowhere near as easy as we might like it to be.

  • Q&A: Apple Products and Mobile Assumptions

    Web Standards Sherpa,

    I think there is a tendency in our industry to focus on the latest and greatest technology, which many would say includes Apple products.

  • Q&A: Finding a Web Designer

    Web Standards Sherpa,

    Finding talented, reliable people is probably one of the hardest tasks a business owner or manager must do. And, unfortunately, there’s no magic formula to find them.

  • Q&A: Nested divs

    Web Standards Sherpa,

    I offer my thoughts on the use of nested divs in your HTML.

  • Master Mobile Navigation

    Net Magazine,

    Users want content. But first you need to ensure they can locate it, whatever their device type. In this article, I discuss top strategies to adapt your navigation to smaller screens.

  • Build a Smart Mobile Navigation Without Hacks

    Net Magazine,

    In this article, I explore creating a progressively-enhanced, CSS-based dropdown navigation menu that works as part of a responsive design.

  • Cleaner Living Through Content Management

    Web Standards Sherpa,

    Half the battle with adopting any CMS or framework is to figure out how to best organize your content within it. In this article, I show how Norwin Alliance might approach a CMS migration.

  • Progressive Enhancement Demystified

    Net Magazine,

    In this excerpt from Chapter 1 of my book, Adaptive Web Design, I explain what progressive enhancement really means, how it works, and what it’s got to do with the Galapagos finches and peanut M&Ms.

  • Getting up to Speed with Lighthouses

    Web Standards Sherpa,

    Responding to Worldwide Lighthouses’ request to help them speed up their gallery pages, I discuss file ‘munging’, compression, and organization to improve performance.

  • Now You See Me

    A List Apart,

    Showing and hiding content using JavaScript-based page manipulations for tabbed interfaces, collapsible elements, and accordion widgets is a common development pattern. Learn how your choice of hiding mechanism can influence content accessibility in assistive technologies like screen readers in an excerpt from Adaptive Web Design.

  • A Legendary Misunderstanding

    Web Standards Sherpa,

    I unearthed code consistency issues at American Express, and shows how we can use fieldset and legend more effectively in the markup of web forms.

  • Improving the Tweet Box

    Web Standards Sherpa,

    Twitter.com’s redesign was much welcomed and rightly so. I explored its most prominent feature: the tweet box, and looks at how it can be made more accessible with just a few minor adjustments.

  • Stop Forking with CSS3

    A List Apart,

    We’ve un-forked our JavaScript, but now our CSS is a mess. eCSStender could help us address that bu letting us clean up our prefixes.

  • Adaptive Layouts with Media Queries

    Net Magazine,

    Create a beautiful website employing adaptive layouts and optimised for the latest mobile devices.

  • Getting up to Speed with Lighthouses

    Web Standards Sherpa,

    Responding to Worldwide Lighthouses’ request to help them speed up their gallery pages, I discuss file ‘munging’, compression, and organization to improve performance.

  • Progressive Enhancement with JavaScript

    A List Apart,

    Organize an execute JavaScript to streamline delivery and ensure no user is left with a bad experience. Part three of a series.

  • Progressive Enhancement with CSS

    A List Apart,

    Organize multiple style sheets to simplify the creation of environmentally appropriate visual experiences. Support older browsers while keeping your CSS hack-free. Use generated content to provide visual enhancements, and seize the power of advanced selectors to create wondrous (or amusing) effects. Part two of a series.

  • Understanding Progressive Enhancement

    A List Apart,

    Steven Champeon turned web development upside down, and created an instant best practice of standards-based design, when he introduced the notion of designing for content and experience instead of browsers. In part one of the series, I remind you of the principles of progressive enhancement.

  • Keeping the Hot Side Hot and the Cold Side Cold

    Scroll Magazine,

    Applying 1980s’ fast-food logic to JavaScript and CSS separation: techniques for keeping your presentation out of your scripts.

  • Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8

    A List Apart,

    For seven years, the DOCTYPE switch has stood designers and developers in good stead as a toggle between standards mode and quirks mode. But when IE7, with its greatly improved support for standards, “broke the web,” it revealed the flaw in our toggle. The quest was on to find a more reliable ensurer of forward compatibility. Is version targeting the answer?

  • Ruining the User Experience

    A List Apart,

    Anticipating your users’ needs is the key to making a good impression; it’s the little things that matter most. In this article, I explain why progressive enhancement is synonymous with good service.

  • Push my button

    Digital Web Magazine,

    If there’s one element I think doesn’t get enough respect, it’s gotta be button. It’s played second fiddle to input in tutorials and form examples for as long as I can remember.

  • Getting Started with Ajax

    A List Apart,

    In this excerpt from O’Reilly’s Web Design in a Nutshell, I take you aside for a little chat about the birds and the bees. Or maybe about Ajax.

  • Jeremy Keith Interview

    Digital Web Magazine,

    I interviewed Jeremy Keith for Digital Web Magazine</code> shortly after his book DOM Scripting: Web Design with JavaScript and the Document Object Model was published. We talk JavaScript, web standards, and more.

  • Improving Link Display for Print

    A List Apart,

    Some time ago, Eric Meyer showed you how to add URIs to the printed version of your pages using print styles. Sometimes, though, too many inline URIs can make pages hard to read. I created a JavaScript add-on that’ll have you loving your linkage again.

  • More Usability Frosting for Your Accessibility Cake

    Digital Web Magazine,

    Mac users are spoiled. It’s a fact we Windows folks have to live with—when it comes to usable interfaces, Mac applications are far ahead. Even Microsoft makes better products for OS X than for Windows.

  • Let Them Eat Cake

    A List Apart,

    A growing debate pits accessibility against usability. From our point of view, it’s like pitting peanut butter against jelly. This article helps you create a page that is both usable and accessible, saving readers the trouble of scrolling with a little help from JavaScript and the Document Object Model.