$30 off During Our Annual Pro Sale. View Details »

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 Slide

  2. View Slide

  3. View Slide

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

    View Slide

  5. View Slide

  6. Only you can prevent
    JAVASCRIPT
    SHAMING

    View Slide

  7. View Slide

  8. 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 Slide

  9. View Slide

  10. THE WEB
    for granted
    don't take

    View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. Using JavaScript has
    REAL BENEFITS

    View Slide

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

    View Slide

  17. 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 Slide

  18. A Tale of Two Supercomputers
    50ms

    View Slide

  19. A Tale of Two Supercomputers

    View Slide

  20. SMARTPHONES
    will be more pervasive than
    CONNECTIVITY

    View Slide

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

    View Slide

  22. View Slide

  23. HTML
    HTTP
    User Agent
    HTTP
    HTTP!

    View Slide

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

    View Slide

  25. View Slide

  26. View Slide

  27. In other words

    View Slide

  28. 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 Slide

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

    View Slide

  30. View Slide

  31. BUT!

    View Slide

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

    View Slide

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

    View Slide

  34. EGO DEPLETION

    View Slide

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

    View Slide

  36. View Slide

  37. View Slide

  38. FastBoot
    Progressive Enhancement
    for Ember.js

    View Slide

  39. View Slide

  40. View Slide

  41. Progressive Enhancement
    JavaScript Frameworks
    vs.

    View Slide

  42. I agree:
    The web is about
    UBIQUITY

    View Slide

  43. Sometimes we need to
    RETHINK
    our assumptions

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  47. THANK YOU
    tomdale

    View Slide