Excessive Enhancement

As a web developer and advocate of open standards, I give much thought to the potential dangers of blindly employing emerging web technologies. I am regularly wowed by exciting new snazzy tricks and techniques, but I care deeply about the web and have seen some bad practices from the past re-emerging.

This March, I was lucky enough to get an opportunity to speak about this at SxSW, the rather epic technology, music and film conference in Austin Texas.  My talk, entitled Excessive Enhancement (a play on Progressive Enhancement), aimed to shine a light on the impact this approach can have on both the user and the web.

R/GA is a creative agency, full of immensely creative designers and developers who want to produce exciting work.  But there are there risks associated with exploring these new opportunities.  Here briefly, are a few things to consider:

Differing browser road-maps

Tools like Modenizr combat browser fragmentation by helping to detect feature support and delivering appropriate content and functionality, but that doesn’t entirely solve the problem.  All products must be designed to reach the maximum possible audience and deliver the most effective user experience.  Therefore developers must understand the limitations of bleeding-edge techniques and consider thoughtful fall-backs. More thoughts on this topic can be found in these articles:

The seductive power of the possible

What’s not to love about the rich visual effect we can now enjoy in the modern browser? Progressive enhancement means nothing can go wrong, right?   As it turns out, there are other things to consider.  Case in point, in early 2011  Twitter and Gawker got quite a bit of attention for their adoption of “hashbang” URLs pattern.  This was admittedly a stop-gap until something more suitable became available (provided now by the HTML5 History API).  Unfortunately in this case Gawker pushed the envelope too far and caused significant issues when and error in their JavaScript rendered their entire site content-free.

This highlights hidden dangers of bringing the “whiz and bang” to our sites.   There are many more examples of gimmicks on the Web which demonstrate an interesting technique which would have been fun to build as a proof of concept, but provide a poor experience to the user.

Our responsibility

We have a responsibility to ensure that what everything we build is not only effective and compelling, but also lives in harmony with web standards.  Only then can it deliver its message to the widest possible audience. It is in our own interest as web developers to grow the web in a way that keeps it valuable and usable, and doesn’t undermine its core principles.

A tough challenge. But a worthy one.

There is much more to consider and I go into more depth during the talk. You can find a recording from SxSW along with the slides on Lanyrd.

  • JulianPscheid

    hey phil, you had some really good lessons in that talk, a lot of which I was able to take back to my team for the Nike Responsibility Report website. In particular, here’s what we addressed:
    * Use tables for visualizations and progressively enhance
    * Remove pre-loader, instead optimize download progression
    * Reduce load-time by optimizing load order of assets
    * Respect the URI! Every URI has content at it.

    again, thanks for the talk!
    julian

    Oh, and you can check out the site at: http://www.nikeresponsibility.com/

    • http://twitter.com/philhawksworth Phil Hawksworth

      Delighted to hear it, Julian!
      …and regarding your non standard convention of “scroll to start”, I agree with your UX bods. I guess then, the challenge is in how do we provide an affordance to that interaction so as to make it discoverable. Fiddly.https://twitter.com/julianpscheid/status/198112804375502849