Skip to content

Instantly share code, notes, and snippets.

What would you like to do?

I thought it would be pertinent to respond to some points presented by Andrey "Rarst" Savchenko in recent post Progressive Enhancement.

Progressive Enhancement

Unlike Rarst, I don't value progressive enhancement very highly and don't agree it's a fundamental principle of the web that should be universally employed. Quite frankly, I don't care about not supporting JavaScript, and neither does virtually anyone else. It's not that it doesn't have any value, or utility - but in a world where we don't have unlimited resources and time, one has to prioritise what we'll support and not support.

I'm a proponent of putting my ideas and creations into the world for people to make use of; and if I had to cover 100% of use cases for doing that, I wouldn't put much out there. I'm fine with losing the 1.1% of users who don't have JavaScript available; just like I'm happy to lose the 5% of users running very old versions of Internet Explorer.

JavaScript is no longer a difficulty for screen readers, search engines or mobile devices, the web is no longer just a collection of text documents with hyperlinks. "Progressive Enhancement" evangelists hold back innovation by working to lowest common denominator theory - allowing technology rather than pragmatism to decide what is best for the users.

It's not that I don't think a site would be better not requiring JavaScript (though that would easily be solved with server side rendering, which makes most of Rarst's points moot) it's because I prioritised other things over providing a JavaScript fallback; like making a REST API console to show API requests, or focusing on the slide animations you see when you hit forward / back in your browser on this website.

I see as an experiment (which is also open sourced for others to learn from, adapt and use) and I don't have a huge amount of patience for negativity rather than a discussion of ideas [noted the Rarst's post has been updated here]. Anyone visiting this site will be aware of just how little time I was able to put into it; there's lots of things I'd like to improve, I even listed them (including server side rendering) but there's only so many hours in the day, and I'm perfectly happy with the priorities I chose.

While writing this, I decided to disabled JavaScript and visit some sites that I frequent: Homepage

Facebook Homepage

Netflix Homepage

American Express Homepage

Bank of America Homepage

Most of these sites don't fundamentally need JavaScript, netflix is just video objects, bank of america is just HTML forms, facebook is a list of posts to read.

This is what I mean by "no one cares", developing for no-javascript is just typically not a priority and I think shoudn't be. Prioritising on things your target audience will find useful and valuable should be the goal. Depending if you are someone who lives by principles rather than case-by-case pragmatism may dictate where you'll strongly disagree ment me. :trollface:

Copy link

jasonbahl commented Nov 25, 2015

Exactly how I feel!

Copy link

glueckpress commented Nov 27, 2015

@joehoyle This had me thinking for the better part of 2 days and a bad cold. :) I’ve posted my thoughts here:

Copy link

sylvainpolletvillard commented Dec 12, 2015

Why do people have JS disabled ? Because of lots of misconceptions. Misconception that JS use too much bandwidth and impact speed. Misconception that JS-driven websites are not accessible. Misconception that enabling JS bring security issues. All of these prejudices are wrong. Of course, you will find plenty of examples of websites bloated with unsecure scripts and terrible UI libs that don't care at all about accessibility. But these problems are not directly attributable to JavaScript, only bad choices from developers. It is time to break down all these misconceptions, make quality JS-driven websites and accept JS as a fundamental part of the Web beside HTML and CSS.

Copy link

GaryJones commented Dec 12, 2015

Misconception that enabling JS bring security issues.

Tony Perez, boss of Sucuri Security, prevalent in the WordPress and wider communities, has JS disabled by default:

Make of that what you will.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment