Ten years ago today I coined the shorthand “js;dr” for “JavaScript required; Didn’t Read”
* https://tantek.com/2015/069/t1/js-dr-javascript-required-dead
in reference to (primarily content) pages that were empty (or nearly so) without scripts.
Since then js;dr found its way into a book:
Page 88 of “Inclusive Design Patterns” by @heydonworks.com (@heydon@front-end.social)
and stickers!
At the time I made the claim that:
“in 10 years nothing you built today that depends on JS for the content will be available, visible, or archived anywhere on the web.”
I’ve seen and documented many such sites, built with a hard dependency on scripting, that end up dead and unarchived. Many of these have been documented on the IndieWeb’s js;dr page:
* https://indieweb.org/js;dr
I have to ask though: does anyone remember building a site 10 years ago (Internet Archive citation) with a Javascript library/framework dependency to display content, that still works today?
E.g. using one of the popular libraries/frameworks used to build such sites back then like AngularJS (discontinued 2022), Backbone.js, Ember.js, or even React which was still quite new at the time.
The one almost exception I found was Facebook, e.g. this Smashing Magazine post on Facebook barely renders some content and all commentary is missing, in the earliest (2019) version saved on the Internet Archive:
* https://web.archive.org/web/20191123225253/https://www.facebook.com/smashmag/posts/10153198367332490
You can extract the direct Facebook link if you want to try viewing it in the present.
Regarding those libraries/frameworks themselves, I wrote:
“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.”
Of all those listed above, only React has grown since, likely at the expense of the others.
However instead of fewer such libraries and frameworks today, it seems we have many more (though it feels like their average hypespan is getting shorter with each iteration).
Since I wrote “js;dr”, the web has only become more fragile, with ever more dependencies on scripting just to display text content. The irony here is that Javascript, like XML, has draconian parsing rules. One syntax error and the whole script is thrown out.
This means it’s far too easy for any such JS-dependent site to break, in one or more browsers, whenever browsers change, or Javascript changes, or both.
You wouldn’t build a site today (or 20 years ago) that depends on fragile draconian XML parsing, so why build a site that depends on fragile draconian Javascript parsing?
I’ll repeat my claim from ten years ago, slightly amended, and shortened:
In 5 years nothing you (personally, not a publicly traded company) build today that depends on Javascript in the browser to display content will be available, visible, or archived anywhere on the web.
There’s a lot more to unpack about what we’ve collectively lost in the past ten years of fragile scripting-dependent site-deaths, and why web developers are choosing to build more fragile websites than they did 10 or certainly 20 years ago.
For now I’ll leave you with a few positive encouragements:
Practice Progressive Enhancement.
Build first and foremost with forgiving technologies, declarative technologies, and forward and backward compatible coding techniques.
All content should be readable without scripting.
Links, buttons, text fields, and any other interactive HTML elements should all work without scripting.
Scripts are great for providing an enhanced user experience, or additional functionality such as offline support.
Then make sure to test your pages and sites without scripts, to make sure they still work.
If it's worth building on the web, it's worth building it robustly, and building it to last.