Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Progressive Enhancement is Dead, Long Live Progressive Enhancement

tomdale
September 25, 2015

Progressive Enhancement is Dead, Long Live Progressive Enhancement

Some say that using a JavaScript framework means sacrificing core web principles—universal access, graceful degradation—in exchange for developer convenience. Are JavaScript peddlers like me the Pied Pipers of doom, leading the community astray from web righteousness? Let’s look at why devs are drawn to the benefits of JS frameworks—and discuss whether the rampant hand-wringing about progressive enhancement is deserved or a relic from an older age.

tomdale

September 25, 2015
Tweet

More Decks by tomdale

Other Decks in Programming

Transcript

  1. Progressive Enhancement is Dead
    LONG LIVE
    PROGRESSIVE
    ENHANCEMENT

    View full-size slide

  2. progressive enhancement
    (n.) rendering HTML on the server, then
    adding behavior using JavaScript

    View full-size slide

  3. Only you can prevent
    JAVASCRIPT
    SHAMING

    View full-size slide

  4. Pages that are empty without JS: dead to history (archive-
    org), unreliable for search results (despite any search
    engine claims of JS support, check it yourself), and thus
    ignorable. No need to waste time reading or
    responding.
    Because in 10 years nothing you built today that depends
    on JS for the content will be available, visible, or archived
    anywhere on the web.
    All your fancy front-end-JS-required
    frameworks are dead to history, a mere
    evolutionary blip in web app development
    practices. Perhaps they provided
    interesting ephemeral prototypes, nothing
    more.

    View full-size slide

  5. THE WEB
    for granted
    don't take

    View full-size slide

  6. Using JavaScript has
    REAL BENEFITS

    View full-size slide

  7. • Works offline
    • No page reloads (great for e.g. music players)
    • Fast
    • Rich interaction
    • Access to device features (camera, storage,
    GPS)

    View full-size slide

  8. Over the next few years almost all of the
    people who don't yet have a phone will get
    one, and almost all of the phones on earth
    will become smartphones.
    A decade ago some of that was subject to debate - today it
    isn't. What all those people pay for data, and how they
    charge their phones, may be a challenge, but the
    smartphone itself is close to a universal product for
    humanity - the first the tech industry has ever had.

    View full-size slide

  9. A Tale of Two Supercomputers
    50ms

    View full-size slide

  10. A Tale of Two Supercomputers

    View full-size slide

  11. SMARTPHONES
    will be more pervasive than
    CONNECTIVITY

    View full-size slide

  12. When you have a supercomputer in your pocket, but
    intermittent connectivity, the ability to work
    OFFLINE
    is the key to ubiquity

    View full-size slide

  13. HTML
    HTTP
    User Agent
    HTTP
    HTTP!

    View full-size slide

  14. HTML + HTTP
    + maybe JS
    client-side
    JavaScript
    progressive
    enhancement
    JavaScript
    slow devices,
    good network
    fast devices,
    bad network
    technology best for

    View full-size slide

  15. In other words

    View full-size slide

  16. AND
    the age of the slow, incapable device is
    coming to an end
    BUT
    connectivity remains imperfect, even in
    developed countries
    IF
    progressive enhancement is about
    preserving the ubiquity of the web

    View full-size slide

  17. We should all
    be building
    offline apps
    with…
    JavaScript!

    View full-size slide

  18. Progressive Enhancement
    • Works if JavaScript fails to load
    • Easier to archive and index
    • Faster initial load times

    View full-size slide

  19. MOBILE-FIRST
    RESPONSIVE-FIRST
    ACCESSIBILITY-FIRST
    CONTENT-FIRST
    SECURITY-FIRST
    OFFLINE-FIRST
    DOCUMENTATION-FIRST
    API-FIRST
    PERFORMANCE-FIRST

    View full-size slide

  20. EGO DEPLETION

    View full-size slide

  21. The best way to make someone
    do something is to make it free

    View full-size slide

  22. FastBoot
    Progressive Enhancement
    for Ember.js

    View full-size slide

  23. Progressive Enhancement
    JavaScript Frameworks
    vs.

    View full-size slide

  24. I agree:
    The web is about
    UBIQUITY

    View full-size slide

  25. Sometimes we need to
    RETHINK
    our assumptions

    View full-size slide

  26. • Smartphones are eating the world
    • Connectivity is the weak link, even
    in developed countries
    • JavaScript frameworks are taking
    over, for good reasons

    View full-size slide

  27. Let’s take advantage of these
    trends while preserving the
    ubiquity of the web

    View full-size slide

  28. Not try to shame people
    back to an outdated model

    View full-size slide

  29. THANK YOU
    tomdale

    View full-size slide