Hacker News new | past | comments | ask | show | jobs | submit login
Don't tell me how to enable JavaScript (riversoflambdas.tumblr.com)
203 points by Wilya on Apr 13, 2012 | hide | past | web | favorite | 197 comments

If you've got JavaScript disabled, no one is interested in catering to you. You are the pathological customer in the ad-driven content consumption world of the Internet. It's impossible to make money off of you.

Sure, you enable JavaScript but you don't disable AdBlock and so now you're just consuming resources and contributing negatively to the site you're visiting's bottom line.

I understand the myriad justifications for disabling JavaScript, but I don't really care. There aren't enough people with JavaScript disabled to warrant giving it any attention.

It's the same with Flash. If you don't have Flash, I will show you how to get it, but I'm not going to spend the time telling you why you ought to get it, because I don't care to argue the point. There aren't enough people without Flash for it to be a concern.

With respect, I feel you are wrong. I browse the web with my iPad more than I browse it with my laptop. There is no way that I can run Flash on this device. There are now a significant numbers of folks who are doing the same as me.

If you have to use Flash, then that's fine. But the author of the article is right IMO. You need to provide a compelling reason for me to hop off my iPad and boot up my workstation/laptop to look at your website.

I have long considered that Unobtrusive Javascript to be one of the best paradigms for websites. It shouldn't be that hard to do. In fact, even in web applications there should be a clear seperation of content and behaviour, just as there is to seperate content and style. I was looking at a VMware product the other day that does ITSM, and it was the most god-awful mix of bad Javascript and HTML that I was most surprised. Not only did it not use Javascript in a sensible way (ala jquery, YUI, etc.), but it used stupid tricks like document.all - and in fact the webpages that it loaded entirely relied on Javascript working.

Therefore, I submit to you that by not designing your websites with Unobtrusive Javascript, that you are a. causing accessibility issues (and NOT just for disabled users), and b. you probably haven't developed your website very well anyway.

Please, I urge you to convince your users WHY they need to turn on Javascript to use your site. If you can't provide a compelling case, then I'd suggest that you probably don't have a good reason to require it!

Yes, the Flash analogy was probably a poor one considering the ubiquity of iOS - you can no longer make the argument about not having to cater to people without Flash, because at this point there are so many of them.

I think the same can be applied to requiring Javascript however. Personally, I've never seen a website that delivers content that absolutely needed it. Certainly the ones that do use it well do it to enhance the site you are browsing, but if you turn off the Javascript then you only have a slightly less full featured experience.

If you can't access a website because Javascript is turned off, then I think you are overcomplicating things anyway. There are obviously cases where it is required, but as the author states, it should be pretty easy to explain why you need to enable scripting!

"If you can't access a website because Javascript is turned off, then I think you are overcomplicating things anyway."

Take Lifehacker as an example: http://lifehacker.com/

What about their content requires JavaScript? Absolutely nothing. You have to enable scripts from three different places to see the content. The irony is that this website is called LifeHacker, for people who like to hack things (but turning off Javascript is just pure sorcery)

Lifehacker is a great example:

- click search, it drops down a search bar without reloading the page. Fast, nice.

- actually do the search - updates in place.

- on the sidebar, no reload for switching between "most popular" and "latest"

- ok lets read an article. Ah, selecting one loads the article into the pane, so I dont lose my place in the search on the side - lovely.

- Commenting: done in line, has inline font selection, I can include a picture or URL. Very nice experience.

- Oh, and 2 of my friends read lifehacker according to their Facebook plugin. Interesting - I didnt know they read that, I must mention it to them.

-click search, it drops down a search bar without reloading the page. Fast, nice.

I posit that the search bar should be static, that is, always visible. It actually took me a while to find out that I was supposed to click the little magnifying glass.

- actually do the search - updates in place. Again, confusing. It wasn't immediately apparent that the search results actually displayed below the search bar.

- on the sidebar, no reload for switching between "most popular" and "latest" This is a good use case for Javascript. However, if Javascript is not present why would it not default to just opening separate pages for each of the tabs?

- Commenting: again, why does it need Javascript? Slashdot commenting system works just fine without Javascript, as an example.

I'm not questioning WHY they are using Javascript - obviously, you are getting plenty of use from that method. I am questioning why it is necessary to have those features to view content?


For a start, I dont think we should be second guessing their design. No doubt they have the customer development, usage figures, A/B tests, design tests, etc, to know that this is right for them.

But if you think a static version would be better (for most people), you're dreaming. At this point I suspect there's no point continuing the conversation - we have dramatically different world views if you think there's a comparison.

So the remaining question is, should they also have a no-javascript version for the 2% of people who turn off JS? Since it costs them double the effort, I can see why they chose not to.

"For a start, I dont think we should be second guessing their design"

Really? I guess you are right that this conversation is over. I'm sorry, but Lifehacker is not the end-all-be-all design mecca of the 21st century, quite the contrary, in fact. I only picked on the Javascript issue -- there are plenty more issues to discuss if you want to discuss design.

It's not about 2% of the population who don't use Javascript. It's about the fact that they're doing something fundamentally wrong if they require Javascript for displaying a simple web page with some content.

I just reread my previous comment and I apologize for how aggressively I came across. I guess it's hard to say "I disagree incredibly strongly" in a non-aggressive way, but that wasn't what I intended.

I'm not saying it's the be-all-and-end-all at all, there are lots of design problems. But arguing UX design with someone who believes sites shouldn't be using JS? It's just not a credible position.

Simple web pages are not simple. What makes them simple is that the complexity is hidden. JS is a major part of hiding that complexity, whether it's for preloading data, "don't make me click", or just hiding away things you don't need yet.

The search is a great example: I suspect almost nobody uses search, and I also suspect that those who use search use it a great deal. I suspect that Lifehacker has those "where do people click" charts that show them that information, and that as a result they made it powerful, but decided against giving it a whole bar.

Likewise comments. They hid away most of the commenting chrome because 99% of people dont comment, and they want to engage them with the existing comments.

There is no such thing as "a simple web page with some content". It is naive to think that it is, and I believe (please correct me if I'm wrong) that it shows that you have not spent significant time working on web UX issues in a cross-browser environment.

It's not that folks are upset about the use of Javascript - it's that you are required to have it to view content. I personally love well designed Javascript - it makes the user experience better and my life easier. But if someone turns off Javascript, they should have a degraded experience, not NO experience!

I disagree with saying "should" here. It's to do with business priorities. How many resources should go into making "they should have a degraded experience, not no experience" true. Well, how many customers will they gain, and how much more money will they make.

Don't forget that LifeHacker is part of Gawker. There's about a dozen sites in that network, probably all using the same codebase. What proportion of Jezebel readers do you think use NoScript?

The answer to that's "none" because they can't view the site with no script turned on :-) what a business should do and what they actually do are, unfortunately two different things. I wouldn't call life hacker a paragon on good design, but then I don't frequent that site very often. And, for the record, I don't use no script, or browse with JavaScript turned off! :-)

I doubt there is a good value proposition for Lifehacker to implement something that works with NoScript. Saying that they should do it, without that, makes no sense.

> The irony is that this website is called LifeHacker, for people who like to hack things (but turning off Javascript is just pure sorcery)

AFAIK, lifehacker shares a codebase with Gawker, Jezebel, Gizmodo, and a few other sites. How many Jezebel readers use NoScript?

Lifehacker is a terrible offender. Any of their pages contains the source code of the relevant content enclosed in a javascript object. I could just eval() the contents of the right <script> tag, append the created object to the DOM and get a readable page.

"Personally, I've never seen a website that delivers content that absolutely needed it."

Really? Etherpad, Google Wave, Google Docs. Every HTML5 game I've ever seen. Aviary, Picnik, Picozu. etc.

I generally agree with the point that most sites that present text to a screen don't absolutely NEED JS to work, but there are a myriad of apps out there that do.

I don't disagree with you in any way :-) these are web apps, not just plain websites with something like a commenting system.

Even with these web apps, I think its best to explain why JavaScript is needed. Except for google analytics, I'm still a huge fan of Unobtrusive JavaScript, if only because it makes for cleaner site organisation and code separation.

One of the big ones I can think of is that the web is becoming a system of platforms, Twitter, Facebook, Google etc. are all platforms, when I build web application it is almost guaranteed that my app will be a JavaScript based UI that couples those platforms services into a work flow with my own platform in some novel way. The way we build apps is changing they are becoming UI's that front end the cloud where the cloud is an assortment of services that provide data and content from different sources. JavaScript is a key enabler in the new web as a platform.

> There aren't enough people without Flash for it to be a concern.

That's not really true anymore, given the 200 million iPhones kicking around.

> If you've got JavaScript disabled, no one is interested in catering to you.

I'd hope an amicable, intelligent developer would. Scripts don't always load. Errors happen.

> I understand the myriad justifications for disabling JavaScript, but I don't really care.

How nice of you to pick and choose users that matter. It must be a nice luxury.

Agreed. I think it's important for geeks not to be too influenced by certain preferences held by a fraction of their peers at the expense of more work that could have been spent making your product better for 99.5% Reminds me of people griping about lack of ogg vorbis support.

I agree sometimes the dogma in tech can cloud peoples perspective. If we get down to brass tacks their is no "right" way to develop for the web, when talking about using JavaScript or not. It is a preference, opinion and bias issue as such it is a persons prerogative if someone want to build apps based on those constraints, but to hold it out as if it is the "right" way is disingenuous. I personally make my decisions based on data, specifically how many users are doing what, in the real world the amount of people who do not support JavaScript for whatever reason is insignificant, in my organizations we tend to redirect the funds that it would cost to chase them to mobile efforts because their is a more significant market and ROI. For us that is the right way, for other it may not be.

The last time I checked, GitHub has 0 ads on it. And they're clearly not making any money off of their users, because features like paid accounts don't exist. It's impossible to monetize a product without slapping tons of intrusive advertisements all over the place.


https://github.com/settings/billing says otherwise, mate. I assume the sarcasm was to the fact that you can't make money without ads, as opposed to being sarcastic about having no paid accounts.

Sorry if the sarcasm was lost on you. GitHub very obviously has paid accounts and makes money without ads.

Sure, you enable JavaScript but you don't disable AdBlock

I'm the opposite: I run NoScript but not AdBlock.

Likewise. AdBlock feels slightly scummy to me - it's going out of your way to subvert the site's business model. NoScript doesn't automatically discriminate between ads and content, which feels... fairer.

In fact, if I like your site, and it happens that NoScript is blocking your ads, I'll make a point of letting them through. http://www.projectwonderful.com/ is on my whitelist, for instance.

>it's going out of your way to subvert the site's business model

When people sneak snacks into a movie theater they are not thinking "I am going to subvert this theater's business model". They are thinking "The normal way of getting snacks at the theater is unacceptable to me".

The same is true with AdBlock. Nobody thinks "Mwahahaha, I'm going to financially ruin some content creators." They think "if I see one more punch-the-monkey ad, I'm going to punch an actual monkey".

I mute TV commercials, I change the station on the radio when the commercials start, and I use AdBlock by default. If I really like a site, I will turn AdBlock off and see if its ads are acceptable. Usually, though, I turn it right back on.

Fair enough. I find NoScript alone does a good enough job of blocking ads for my liking.

Personally, I like Adblock Plus (Good Karma Edition). By default, it allows ads through, but blocking them on a website that uses them badly (which for me means flashing or making noise) is only a click away. My reason for using adblock is aesthetic, not paranoiac, so I'm willing to give sites the benefit of the doubt.

I can relate to that feeling. I usually don't start enabling Adblock until a site I frequent does something particularly noxious.

One example was my local newspaper, which put this flash overlay of a local bigmouth car deal floating in the middle of the screen -- in a area that you typically click on.

I click it by mistake and end up with a high-volume "it's huuuge" booming across my office. Screw that... adblock=on.

Project Wonderful is worth whitelisting simply to see the ads for everyone's exquisitely terrible webcomics.

Hey, they're not all terrible!

... okay, a lot of them are pretty terrible. But I suspect a lot of the terrible ones are drawn in by a desire to ride on the coat-tails of the not-so-terrible ones (Dr McNinja, SMBC, etc).

AdBlock(afaik) directly blocks loading ads at all. Therefore, they are not counted as a view, because it isn't. I think it'd be a lot scummier if it loaded them, but didn't display them. That would wreck havoc with ad statistics and would drive down ad revenue.

Ads are pay per click almost exclusively. Adblock saves money by avoiding rendering and distribution costs. Adblock users don't click ads even when Adblock is off.

I'm assuming you meant Ads are Pay Per VIEW almost exclusively. There is usually an incentive or you will be blocked if your click rate is incredibly low but very few ad systems pay on only a pay per click system.

I have to agree with this somewhat. I can run through and disable various features in my browser, that's my prerogative. But I can't then expect other people to cater to my specific set up. If I am deny myself what is undeniably quite a key feature on the modern web, I must live with the outcome and accept that I will miss content.

There definitely is a good argument for catering to those who cannot use some features, like Flash, but to those imposing these restrictions upon themselves, you know how to solve it.

I consider myself fairly "tech-savvy" as well and have not seen more reasoning behind turning JS off than for leaving it on.

Personal projects (and internal projects) I do always require JavaScript. The reason is because I can write much cleaner code by offloading some processing to the client. It's not about ads or content consumption. That stuff works fine without Javascript. It's about spending less time coding and having less server code to contain bugs or security problems.

I, like a lot of people, do a fair amount of browsing on my iPad and iPhone, I don't see how you can lump this in with no-JavaScript users, it's a completely different set of people.

Also, the amount of no-Flash users is increasing and will most likely do for years.

well said.

Agreed. I logged in just to upvote this response.

Most people log in just to vote or comment. There is nothing else to do...

Here is how I handle this for projects that I work on, and I haven't received a single complaint thus far:

1. Decide if the core of the site is undoable without JavaScript. Something like Google Docs or games relying heavily on Canvas/WebGL are prime examples. It is very rare for this to be the case, but if it is then disregard the rest of the steps.

2. Build the entire site without even considering JavaScript as an option. The advantage of this is I can finish all functionality without opening my browser window once. I build out the core with unit tests, and assert the base user workflow using integration tests that can simulate things like form submissions to route end-points. My test suite is now a constant confirmation that my site works with JavaScript disabled.

3. Open up the site in a browser, and begin the design & UX portion of development. Because the site is essentially feature-complete and tested already, I can have a lot of fun experimenting in this stage, tweaking things to my heart's content.

4. I slap this on the page after I'm satisfied with the enhanced UX that design and client-side scripting provides:

    <div class="jsnotice">
        We notice that you currently have Javascript disabled. While this site is fully accessible
        without it, you're still missing out on some pretty neat features. We work tirelessly
        to ensure that our scripts are small, unobtrusive, and do not harm your user experience.
        Please add us to your whitelist, or <a href="//enable-javascript.com/">enable Javascript in your browser</a>!
Using Modernizr, that class only shows if JavaScript is disabled. The message itself is unobtrusive, and I always provide a way for the user to dismiss it permanently. If I want, I go into a little bit of detail on what "features" they're not experiencing fully.

What percentage of your users actually have JavaScript disabled? How small would the user base have to be before you decided they weren't worth this much effort?

Imho you cannot approach the issue just from a pure numbers point of view. For instance, one big portion of the people browsing without Js are disabled people working with screen readers and such.

True Story: I worked for a while on a website where users would upload and share tutorials on various topics. As the company behind it grew, it had the genius idea of selling print copies of their best tutorials. At some point, we were looking for a Python tutorial to publish. We select our favorite one, get in touch with the author and were genuinely delighted to find out that he was blind, accessing our app via screen reader.

He went on to publish a book (last I heard selling at over 10 000 units in less than a year topping Amazon's sales in its category). It was our app (the general focus on accessibility, independance from Js was a big part of it) that allowed this cool blind kid to publish a best sellers book. The odds of something like this happening, clearly, aren't very high, but when they do it's instant gratification for the developer who worked on making it accessible.

If you're too hung up on numbers and ROI, think of all the benefits the company got from the positive exposure it gathered from the press around the incident. In any case, unless the core of your app is in JS, it's always a good idea to provide alternatives.

> For instance, one big portion of the people browsing without Js are disabled people working with screen readers and such.

Shouldn't we fix the screen readers, rather than fixing every website?

Any solution to any problems that begins with 'first change the world' is not a valid solution as the project will never get past that stage.

The world would be a much better place if the effort and money spent on making ramps was spent on wheelchair provisioning and development.

Actually, we should be doing both. The screen reader usage paradigm, even with good screen readers, requires a site to have considered that case. For instance, translating icons popups, and other graphic information is a very hard problem to do without hints from the site developer. Some types of layout are very nice from a visual view, but terrible from a textual/reading point of view. It is problem that needs to be approached from all angles.

To work it into an analogy: What is the point of having good, easily available wheelchairs, if there are no ramps (or equivalently wheelchair accessibility means) for people to use?

> To work it into an analogy: What is the point of having good, easily available wheelchairs, if there are no ramps (or equivalently wheelchair accessibility means) for people to use?

Because the millions of dollars spent adding rubberized material to some-but-not-all street corners sounds-based UIs for some-but-not-all intersection lamps could easily buy those who need it a vehicle to climb stairs?

Yeah, I'm sure you could engineer a wheelchair that fits into existing spaces reasonably AND climbs ALL stairs. </snark>

Also: perhaps you are forgetting a few very important benefits of those street corner ramps that have nothing to do with wheelchairs:

* People pushing strollers and carts now have an easier and safer way of getting out of the street.

* Old folks who can walk but not climb stairs very well can get across the street easier.

* Everyone has a non-0 probability of tripping as they cross the varied height curbs in cities - ramps reduces that significantly, saving society a lot of lawsuit and medical costs, this is a continuing benefit.

Not a benefit, but a solid argument:

* Since almost all of the money spent on putting these in is part of normal road/curb/sidewalk maintenance anyway, its probably not as expensive as you suggest, and since the tooling exists, why not do it right this time, rather than the old way?

* Since the government is building sidewalks, do you really want your government to actively exclude people from participating in basic "for everyone" stuff because of reasons like wheelchair bounding? I can understand if it is a result of choices they make (e.g. keep sex offenders out of parks), but telling someone "sorry life sucked for you, no more participation" is not a function of a democracy.

I have noticed that accessibility features often help usability even if not strictly needed, just like in your argument.

For example for restrooms, instead of a dime-sized button for soap, there can be an accessible button big as a palm that is easy to hit and light to push.

I was going to write most in my original post, but I figured most reasonable humans know that climbing stairs does not mean climbing all stairs in the world ever.

It seems like it's been a while since you read the HN guidelines. It might be good to read them again.

I'm not sure that it was at all obvious. You suggested that all ramp building and such accessibility activity should be replaced by a stair climbing chair. I, via a bit of snark, pointed out that such a suggestion is impractical.

You and I will have to disagree on whether or not my 1 line of snark (respectfully labeled as such) in an otherwise civil and respectful reply about the practicalities of ramps constitutes incivility. I personally would say that in a conversation face to face, and very few people find me offensive (and many of those who choose to be insulted by my views not my conversational style).

As someone who has worked extensively with JavaScript web apps specifically geared towards accessibility, I can say that without a doubt the two major screen readers work with JavaScript. There are some quarks that you have to deal with but they do work, the issue is that not many developers take the time to test with them and make the necessary tweaks to get them working correctly. The biggest one being ensuring that the tab orders on elements match the flow of the application dynamics.

Do you know of any good testing guides, checklists, or suites for ensuring your site, js or not, works with screenreaders? I'd like to do a more thorough job of supporting people with disabilities (blind, colorblind, etc.), and am compiling a list of resources.

wave is a good tool, though they do complain about scripts, which can pretty much be ignored now days. Run in on HN and it will give you an idea of what it does http://wave.webaim.org/ http://www.webnauts.net/check.html also has some tools but their browser emulation is dated. That being said the automated tools are good for double checking your work but nothing will replace the need for downloading a reader like JAWS and going through your site. If you look at my other post in this story it gives some development type links. As for colorblind, I don't know, I am color blind so I get our free on that one, my sites are already accessible to the colorblind. The big offense on that one is always make sure you back up color coding with some other type of system such as a number or icon system.

That's a good idea about screenreaders, but a horrible example. Screen readers a easy to fix (with minor semantic improvements to markup, or providing an API) , since there is DOM. Ramps are trivial and more broadly applicable ("universally accessible" is the official term, since they help everyone, wheelchair or not) than permanent-need wheelchairs. Ramps are the JSON API of the physical world leader.

The web was built in a manner to separate content, presentation, and later logic. It is those who insist on adding requirements that break it. Which then have to be fixed (see css).

Actually, modern screen readers and similar work off the DOM and tend to have full JS support (some are based on webkit).

What does disabling JavaScript have to do with accessibility?

Screen readers generally don't support content appended to the page after load. Twitter doesn't work on a screen reader.

All of the major screen readers support content added to the DOM dynamically. They just watch particular events to know when and where to look, you have to ensure you are updating the DOM in a manner that they understand.

Perhaps my knowledge is dated then.

Thanks for the correction. Do you know of anywhere I can learn more?

This is a dated article but it does give a good overview of how the screen readers work, some items have been improved in the screen readers since 08 but for the most part it is a good starting point http://northtemple.com/2008/10/07/javascript-and-screen-read... also this is a good stack overflow conversation on getting the readers to read dynamic content http://stackoverflow.com/questions/3670570/getting-screen-re... and finally a little more bland but still containing a lot of good info the wai-aria specification http://www.w3.org/TR/wai-aria/ . Also look at Dojo in my opinion they have the most advanced accessibility library out of all of the toolkits.

If that is the case, those screen readers are broken.

In practice it's <2% on average per site. But at this point I don't view it as any extra effort. It's just a different way of approaching my development workflow. And it might just be a placebo, but it makes me feel like the site functions are more testable and compartmentalized.

That's an important question to answer. Creating a site that works sans js then layering on js is great, but it does entail duplication of effort, a larger testing burden etc. It's important to work out if the ROI for going the extra mile makes good business sense. Especially given the (excellent) point the original post makes: if a user has turned off js then if your app is worth their time they'll find the js switch again without difficulties.

Not saying that it isn't an important question but if the site doesn't work without js the user will most certainly not enable it just to decide whether the app/site is worth their time.

The instant the site fails the decision has been made.

If your site breaks without js you must at least realize that you will, at the very least, annoy the users who has actively disabled it.

People who look for trouble are apt to find it.

Next, you would have to build a cookieless site, avoid Flash and other annoying videos, fly blind without tracking etc.

/NoScript user /I am the 1 percent

> avoid Flash and other annoying videos

I can't think of a single reason why that would be a bad thing.

You say that like its a bad thing! Actually sounds pretty good to me :-) seriously, when building a trite, shouldn't that be th first thing you do, then layer that stuff on top? Sounds like it would actually be easier to test!

Are we talking about applications, or webpages? Of course an application written in javascript won't work without, that is a given. That's not the problem though, its static webpages (or what could be). If I get to a website with visible content (mainly text, or images), but isn't fully functional without javascript, I probably won't enable it. If I see one where I can't see content, I'll probably enable javascript there as well, but it depends if I want to read it.

Good examples of some problems I've seen are Twitter taking several seconds to load content, even when the javascript is cached (somehow facebook does it fast enough). You even have a webpage like this "http://www.html5rocks.com/en/tutorials/internals/howbrowsers...? that seems laggy when scrolling with js.

I have a completely different viewpoint on this topic that probably won't be very popular – but, if we're talking about writing experiences for those with JS turned off, isn't that the same as having to write code for an IE6 experience? I imagine the percentage of people having JS turned off is roughly in the ballpark of how many IE6 users we have left to deal with. Why has this been turned into a purist argument when it really should be about practicality and quality of one's work?

Though, I do get the gripe about not even seeing what the site is about before enabling JS. Even the weakest IE6 experiences seem to have some semblance of the subject matter.

> if we're talking about writing experiences for those with JS turned off, isn't that the same as having to write code for an IE6 experience?

Not quite: the major issue with IE6 is that it fucks things up by providing partial implementations. A no-scripted browser "just" provides no scripting, static content and styling are perfectly handled just not additional behaviors.

These are very, very different situations.

I agree with that, that they are very different. What I'm saying is, if you're going to start coding for minor audiences – where do you draw the line? And how would you explain to your client/employer that you will take extra care to make sure people with no JS get love but IE6 users get Chrome Frame/redirect?

Where you draw the line isn't just about fractions of the market, though -- it's about market fraction ÷ effort to implement. If there's twice as many IE6 users as no-JS users, but it takes ten times as much work to get your site functioning on IE6 than on a modern browser with no JS, you're better off courting the no-JS segment.

The difference I see is that this author isn't asking for anything more than a little bit of useful static text. No meaningful code changes, just a tiny snippet of plain old HTML will do the trick.

That's dramatically easier than trying to make a complex app work in IE6.

I agree. The article itself is correct, but if you read through the comments here, you'll find it often gets to be about purity and how entire applications should be written to degrade gracefully. When you start talking about that kind of work – I have to ask what the difference is between coding an entire app for no JS and IE6. You can chalk it up to good for humanity, but really it comes down to is time. Am I going to count of JS being on? Am I going to count on the user not using IE6? For a full-featured web application: Yes.

Every site would have the same exact text. "Please enable JavaScript because we don't want to develop a second version of our site for an extremely small constituency".

Well... dealing with IE6 involves a lot of working around quirks in its treatment of plain ol' HTML and CSS, even if the site's completely static. Dealing with the no-JS crowd wouldn't entail that at all, so at least it should be an easier sliver of the market to cater to than the IE6 crowd.

Unlike NoScript users Ppople running IE6 can't right-click and disable it at will.

Thinking about users with JavaScript disabled is unhelpful. Sure, some of those exist, but they've largely opted into that.

It's more helpful to think about designing a site to work robustly for the situations in which JavaScript doesn't successfully run. There could be reasons from aggressive firewalls blocking scripts, to slow or broken network connections, where the user might not get your JavaScript along with the page.

Many browsers halt all JavaScript execution on a script error. All it takes is a badly coded third-party ad on your page, or a typo in your own code to stop all JavaScript on the page from running.

Is it right that your page or app should completely stop functioning at that point? The web is a brittle platform. Things break all the time, but our technology stack of HTML, CSS and JavaScript can be exceptionally robust when used in the right way.

Build your site with HTML. Make it look much better with CSS. Make it work much better with JavaScript. Be prepared that CSS or JavaScript may not load at any point, with the reassurance that plain old HTML has got your back.

Sure, it takes a bit longer. Doing a good job always does.

Progressive Enhancement is the name of the game. Still wondering why so many people ignore this

sure, let's all code for lynx. it's the future!

Point spectacularly missed. Well done.

Lynx. Then IE6. Then Firefox, Chrome etc.

sure, there's nothing in between.

This just boils down to a question of understanding your audience and communicating with them appropriately. The simple takeaway is that disabling JavaScript tends to correlate with tech savvy, and so addressing these users as non-technical comes off as condescending and results in blog posts like these.

If I'm building something JS-only, I try to speak the NoScript user's language when writing the error copy, even attempting to build a bit of rapport, like here: http://presteign.com

[EDIT] Something has apparently gone wrong in the last couple of days with the dynamic content loading on the site linked above, so I've put a maintenance page in its place. The <noscript> message was: This site needs JavaScript enabled to work. At least it's not Flash, right?

There is no info what I'm missing. Anyway I tried to take a look at it:

Enabled the site in NoScript and all I get is a very buggy menu. OK, lets give you cookies, real referrer, etc. Still not working??

Just for you, I've made a brand-new Firefox 11 profile with no extensions and all default settings. The site refreshes every second, spewing warnings in the JS console. It looks broken and I still don't know what it is about.

Whether a site this simple really needs JS is another discussion...

Yup, something has gone wrong on the server. I just put up a maintenance page and updated the comment.

While you were busy building a rapport with the handful of noscript visitors you forgot to test your site on the iPhone. Your site actually locks up Mobile Safari on iPhone 4S with the latest iOS. I have to manually kill the browser and restart it!

Wow, thanks for calling my attention to that – it's actually not just iOS; something has gone terribly wrong with the dynamic content loading (it's the same on every browser). It worked fine for five months and was working a few days ago; something must have changed on the server.

I just updated the parent comment with a warning.

Sorted now? When I flip my iPad from portrait to landscape the text is no longer centered :-(

Just in case anyone sees this...

It's up again. Turns out it was an .htaccess I had mistakenly pulled out of the webroot a few days ago. The JS couldn't resolve any of its AJAX, and I didn't build it to fail the calls gracefully.

The OP missed the point: it's a passive aggressive way to get you off the site and hope you never come back. We're already focusing all our energy on convincing normal people why our app is awesome, convincing you why you should also enable JS to enjoy it is very low on the priority list. Not to mention that I already have to test my site in 4 browsers, you want me to now test it for a very small edge case too? How entitled is that?

How was the original author acting entitled? He's merely saying that instead of insulting his intelligence just give him some screenshots and info about your app in the noscript. If your app is worth it he'll flick the js switch to the on position.

The OP missed the point: it's a passive aggressive way to get you off the site and hope you never come back.

Then tell us that. I'm serious, I'd rather get a "fuck off" message than one assuming I'm an idiot.

Nobody is saying you have to support non-Javascript users. The author is saying that if you want to support us, then get it right.


You're the one who stands to profit from the interaction. You do the legwork.

And by the leg work you mean omit instructions on how to enable java-script?

Seems a little silly to me, if you know java-script is disabled then you should just ignore the link.

I mean "a least give the no-JS crowd a reason to let your scripts run". As the submission suggested.

"So that the site will work" is no less insulting to their intelligence, at the end of the day. They know exactly why it isn't working, and if they want to see it work they're welcome to fix it.

But asking for a custom-crafted marketing pitch job aimed at converting a small and pathologically hostile market of noscripters is completely outside the realm of feasibility, here.

I started reading this thinking what a complete dick but on reflection they are right. It's as hard to show a feature list and ask to be white listed as it is to redirect to http://www.enable-javascript.com/.

Well said. Thank you.

There is perhaps a lesson here. Hopkins said it this way[1]:

    Each mortal thing does one thing and the same:
    Deals out that being indoors each one dwells
...and he then calls for humanity to rise above this standard case. It is functional, if sub-optimal[2], for how we can organize society: every single person complains about what bugs them, and we connect the social graph dynamically to make people happier -- the people who want a NoScript user's business will design with them in mind, the people who don't care enough, won't.

I would add that this applies not just to JavaScript but also to cookies. We use NoScript and Cookie Monster because they're condoms for the Internet -- they protect us from tracking cookies and some XSS attacks.

The web site for Priv.ly unfortunately breaks when you use NoScript. The reason for the break is to make four links appear when you mouse over an image which is hiding them, and then those links load videos into that element. Basically, the element is an iframe for videos, except they didn't use an iframe. It would have been faster to develop if they had just used an iframe to load their videos, and then their videos could probably be covered by a NoScript exception for Vimeo.

If the site didn't break, it would say, "You do not have scripts enabled, which means you are either running old technology, or are our kind of person. If you are the latter, we hope you will consider helping out." This is almost very nice and polite -- but please, skip the crap about "running old technology" when you follow-up on this example, and instead just condense the content which you were going to show me into a short summary with a nice little end point, "to see my app, please enable JavaScript." If your app is its own summary, like a blog article, then you absolutely should not require JS to display it.

[1]: http://www.bartleby.com/122/34.html "As Kingfishers Catch Fire" [2]: http://www.ted.com/talks/lang/en/david_logan_on_tribal_leade... "Different Stages of Tribes"

There's one very important user who doesn't run Javascript: Googlebot. If your site displays no content without scripting you are invisible to search engines. So this blog post's advice to display some static fallback is useful; not for the NoScript weirdos but for SEO.

Hopefully the search engines will fix their spiders. In the meantime we have ugly workarounds like the #!/escaped_fragment nonsense.

Although this is a fair point, even the googlebot has started running JS.

Yeah, it does execute some JS, but not a lot. Here's a Dec 2011 analysis; a more current writeup would be welcome. http://www.distilled.net/blog/seo/google-stop-playing-the-ji...

And Googlebot the indexes content, not apps. As long as you don't use Google's broken blog platform (ha, irony) your blog with your content works fine without JS, creating SEO juice for your JS app.

Suggestion for your CSS:

body { font-size: 14px; line-height:1.4 }

Please do this! I had to zoom in quite far on my 13" mpb just to make the site comfortable to read

Ideally, sure, sites should try to fall back more gracefully than that if JS is disabled.

But I'll bet that there are more IE 6 users than Noscript users.

> sites should try to fall back more gracefully than that if JS is disabled.

They may not be able to though, take something like Etherpad there is very little value it can provide when javascript is disabled so being upfront about it makes sense. An other acceptable excuse is not having the manpower to handle both experiences correctly.

Of course, the most common case is likely that they can't be arsed.

It's one of those "live by the sword, die by the sword" issues as far as I'm concerned. At least with IE6, a lot of people are stuck with it due to locked-down corporate networks; whereas with JS, people who are opting-out should blame themselves - unless I'm missing an obvious web browser that doesn't support it? That said, I too offer minimal support for non-JS'ers.

with JS, people who are opting-out should blame themselves

No, I'm going to continue to blame that subset of JS coders who consume far too much of my CPU/memory resources. Thanks to them, I got to watch my browser slow to a crawl and become so unresponsive that it was difficult to even close the tab containing the offending site. The simplest solution is to have JS off by default. A whitelist system is nice for non-offending sites (I've never had this sort of trouble with JS on, say, HN).

Try a multithreading browser, such as, all of them?

I used to be a Noscript user, but I just got sick and tired of clicking 2-3x as much as usual, just to get every page to load correctly. Normal process:

-Page loads, great

-Click on something but it doesn't respond

-Shit, probably JS

-Click NoScript, see a list of sites

=This is where is really gets good=

-Stare at the list of sites noscript is blocking on the page, arbitrarily unblock one that 'seems' like it would be hosting the code that runs the thing I'm trying to fix, based only on domain name

-Refresh the page, try clicking that thing again, if it doesn't work, repeat the process

I wasted many hours of my life on that process, and what did I gain from it? Security? Not really, since I would randomly enable sites to run JS. So I uninstalled it. Worst case scenario, I get a virus and have to reformat, and lose an hour or two. I don't have any important data on my hard drive.

So, Noscripters, are you guys just really concerned about security or is it a psychological thing - as in, it feels good to be able to be the boss of your browser and tell sites whether or not they can run JS?

I run noscript.

Most Javascript is gratuitous.

Odds are I don't care enough about your site to Like, +1, or Tweet it.

Odds are I don't really intend to purchase a BMW, meet hot singles, or reserve a room at Days Inn based on a display ad.

If I care enough about your site to click on something and it doesn't work, I might allow scripts to run but I have to want to see what your site has. Each round of allowing scripts increases the odds I will navigate away. Clicking to allow javascript doesn't bother me because most of the web is a waste of time to begin with and Noscript makes me more selective.

Websites which rely on javascript essentially ask me, "Do you really want to look at this." Much of the time, the answer is no.

You might prefer Ghostery + Adblock instead. That'll remove what you dislike without breaking the web.

I run Pentadactyl with a Noscript integration addon, so enabling domains is extremely fast. Considering the slowness that JS often adds to a page - particularly on my slowish laptop - I'd say I still save time.

Then I get the benefits of security and not being tracked everywhere I go.

As a Pentadactyl (after Vimperator after Conkeror) and NoScript devotee, I just wanted to thank you for bringing the integration addon to my attention. I had no idea that was even an option. For anyone else wondering, it can be found here:


I know this is off-topic, but I've never heard of Pentadactyl before, and it looks awesome! Cheers.

- a vimmer

Yeah, it's awesome, particularly if you like VIM and have a small screen (since it lets you hide the top bars without losing functionality).

Try using CTRL+I on a textarea: it lets you edit it in (G)Vim itself ;)

I don't find it that difficult to work out which items need unblocked, TBH. If I can't immediately tell, a brief dabble with the document inspector usually reveals it.

And it's not just about security: http://news.ycombinator.com/item?id=3836601

I ran it for a while mostly as an educational thing: I wanted this big subterranean mass of Stuff that goes on whenever I load a webpage to be more visible to me, and to understand what's happening. Why does this site load 10 files from 4 different domains? What are they doing? As an added bonus I could reduce third-party tracking's effectiveness by not loading their JS.

As a less-intrusive compromise, I use Ghostery now, which lets me zoom in on a lot of the common third-party JS without cluttering the view with "normal" stuff like jquery and friends, because they keep a curated list.

I disable flash and JS to extend battery life on my laptop. I use a separate browser profile for webapp-type things.

The only (semi-) good justification I've seen is someone who was very pro-OSS who said they would not use proprietary JavaScript.

It was still kind of a shit justification, but I couldn't poke any holes in it.

But proprietary HTML and CSS is OK?

Aha! I'll bring that up with him next time we have that discussion!

> someone who wants JS to be off or blocked. Someone who is thus actually pretty tech-savvy

I disagree. Anyone who has JS disabled in 2012 is not tech savvy. They are a paranoid weirdo. They're the guy who refuses to buy a TV even though the Wire, Breaking Bad and Justified are on.

Nobody should have to waste their time trying to convince you to be sane.

I use NoScript & Flashblock because it makes my web experience better. Pages load more quickly, they flash and blink and play advertising noises less, those intrusive pop-ins often don't work, and every time I go on to somebody else's machine to use the web I wonder how they put up with it all. At the same time, I never miss out on any actual features of the page because it's very easy to deal with turning things on.

I am pretty sure this qualifies as "tech savvy".

Nobody would have to waste my time convincing me to turn on Javascript if so very, very many sites didn't spend so much time using Javascript to degrade their site's experience. Don't bother trying to convince me this isn't the case, I have years of concrete experience proving the opposite. Theoretical arguments about how that might not be true aren't going to fly.

"Refuses to buy a TV even though -snipped- is on."

Forgetting about Netflix on your pc are you? In fact, watching shows on a specific channel as opposed to via an on demand service such as Netflix is actually a worse experience. Because I watch things when the TV channel decides, as opposed to when I want to watch things.

I have a TV. I haven't switched the channel off of my ps3 once. Everything I could ever want to watch is on there.

Netflix, really? The one with "Sorry, we are not available in our country" label on the homepage? Sure, all those good (and bad) series are also unavailable on TV in my country :) ...

PS: just about every legal streaming site is unavailable outside USA. Or outside 10-15 premium countries in best case.

I completely forgot about the level of availability of Netflix to people in other countries. I've heard it's going badly down the drain in the US but it just rolled out a couple months ago in the UK and it's been improving in quality ever since.

But that doesn't change the whole DVD solution.

Setting aside your vacuous insult-flinging...

Fobbing someone off to a patronising "how to enable JS" page is more of a waste of time than showing them a screenshot & paragraph description of what they're missing out on. It's about as much effort, and drives them away, while giving them a preview may actually earn you a customer - the very opposite of "wasting time".

So it's more sane to spend money just so that you can waste several dozen hours a year watching these shows, that will have ultimately no consequence in your life. If you want to do that it's absolutely fine, but there is no reason to deride someone for their views just because they don't match your own decisions.

P.S. I love Breaking Bad and Justified, but I don't have a need for a TV any more, still have one, but rarely turn it on. If I want to watch them, I just go to Amazon/iTunes/Netflix/Hulu and stream them.

Web browser exploitation is much harder without JavaScript.

Keeping my computer secure is more important than using the latest ridiculous web app that slows my computer to a crawl.

Not really a good comparison. A TV costs $1000 or so (for one that isn't bad). Then it costs about $50 a month to even be useful, plus whatever HBO costs to get a good amount of shows that aren't bad. Even then, the picture quality is worse than my iPad or Ultrasharp. If anything, I think that TV ownership is probably lower among "tech-savvy" people.

Enabling JS is free.

What a wordy way to get across the point. Here's a tl;dr:

If your webpage doesn't display anything without javascript, or if it doesn't display anything except "please enable javascript" or "here's a link to tell you how to enable javascript", then please take the extra minute to add something like the following to your webpage:

    <noscript><span style="color:red">This site about X requires scripting because Y.</span></noscript>
That's it, shortening/assuming context/lengthening as desired. Warning that your site will/will not be using your browser to mine bitcoins for the owner is optional. Recoding your site so it works with lynx is also optional and fine, if you really want to, but it's not what's being asked.

To comment on the story: Yes, I have browsed without remembering that I had it disabled. Briefly, I guess a minute or five. Then I started missing things.

Javascript is to enhance the web, the crux of all webapps. Going around to disable it, then enable it for half the websites you encounter, kinda seems overkill to me.

I definitely see the advantages though. It's much faster, and you don't get disturbed by anything. Ideally I'd automatically get every article I go to from HN trough readability first. But doing that is slower than just letting my computer load the thousands of lines of JS, and not everything from HN is text. I can live with the nonsense on the page as long as adblock plus is turned on. Actually every news website should go trough readability, or at least get the "share it with your friends on Facebook, G+, Twitter, email, print, delicious, stumbleupon, digg, or by direct link" blocked by adblock plus. But disabling Javascript just for this?

My website also has a message for people who don't have Javascript enabled. It does aim for an average user who doesn't know he has it enabled since one of the priorities is to get the broadest possible compatibility, but that's just one sentence linking you to where you can read more if you want to.

One of the things I promise in the more info is that my Javascript won't ever be intrusive in any way. For example I use it to load Disqus comments, or to toggle visibility of fields when you click something. JS is not required to navigate or get all content though.

Honest question: How large is the noscript population? If I were to chose where to invest my time, catering to the noscript crowd would probably come pretty low on my list of priorities.

This is not just a question of population size. It would be if the decision to browse without JavaScript was an arbitrary choice, and if designing website relying on JavaScript resulted in better overall design. Neither are the case.

Very often websites that don't work without JavaScript have serious design/privacy issues, which better be fixed even if no one disabled scripts. Very often the reason those websites require scripts is because the developers working on them are incapable to conceptualize desired business logic using some simple mental model, so they just throw random code and libraries at the issue until it seems solved.

Saying that "it's an app" is a common, but very weak excuse. Most websites are not doing anything that would warrant them an app status. They simply use JavaScript to enhance browsing experience. That's perfectly fine, but the inability to isolate those enhancements from code logic that's required to make the website work is indicative of the problem that I described above.

"Very often websites that don't work without JavaScript have serious design/privacy issues, which better be fixed even if no one disabled scripts."

I'm not sure I understand your logic here. Many sites use javascript for advanced features not possible otherwise. I don't see how not working without javascript equates to privacy issues.

I don't see how not working without javascript equates to privacy issues.

Stuff like including Google's JavaScript by linking to Google's servers equates to privacy issues. The fact that some websites don't work (at all, don't even render) without external scripts is a design issue. These issues often come hand-in-hand, but no one said that one equates to the other.

Also, if your notion of "advanced features" includes rendering of text and images and working links, you might consider re-thinking it.

I think what the poster's implying that a website not working without JS is indicative of an incompetent team, though I might be reading him wrong.

Agreed. Something like a landing page requiring javascript in the first place certainly is bad form. For my comment, I assumed it as a given. I'm not sure how much time I should spend honing my <noscript> tags if my page doesn't work without Javascript at all. Seems there's bigger flies to swath.

It says 2,167,942 users here: https://addons.mozilla.org/en-US/firefox/addon/noscript/ Now obviously I don't know how they arrive at that metric, and what influence the direct download from noscript.net has.

I wouldn't want to browse with anything but NoScript, CS Lite, RefControl, Adblock Plus and Ghostery. If your site doesn't work, too bad for you. I'm not the person who makes a living selling stuff on the interwebs.

The "Gawker Experience" (white page, nothing of value is lost) is quite common, and I like it.

There are useful applications of Javascript, but they are rare. You have to show me that it's useful to me, and I will then give you my CPU time. Not the other way round.

Ok, so presumably somewhere in the vicinity one per mille of total users online. Actually more than I thought, and no doubt an important demographic for some types of sites.

I guess the only way to know how relevant it is to cater to noscript users is to measure how large a chunk of potential customers your leaving behind relative to the cost of fixing your site to work without JS.

> The "Gawker Experience" (white page, nothing of value is lost)

Bingo. Since I first installed NoScript, I've started noticing a correlation between how gracefully your mostly-static website degrades without javascript and how worthwhile your content is. Those that fail completely rarely have anything worth looking at on them anyway.

I think the premise of the OP is not so much "Your site should work perfectly without Javascript because I'm an arrogant prick" but more in the lines of "Earn my respect and don't treat me like an idiot, and I will gladly whitelist your site and will use it with Javascript enabled".

If I understand it correctly, OP was redirected to a dumb-down instruction page of how to enable Javascript in his browser. What he actually wants is the reason "why" he must enable Javascript for the site.

You can win over noscript population very easily by taking a little bit of time and explaining your app with some amazing screenshots.

Don't get me wrong: I don't disagree with the sentiment, I'm just saying I doubt I'd even put in the effort of redirecting them to a separate page of any kind if I'd decided that my landing pages should be very javascript heavy.

My prejudiced view is that it's such a small part of the population it's not worth caring about, though I'd be glad to be proven wrong.

If doing pages that require javascript to even run in the first place is a good idea, I think is a different discussion.

"My prejudiced view is that it's such a small part of the population it's not worth caring about, though I'd be glad to be proven wrong."

It also depends greatly on the kind of web app you are making. If your audience is highly tech-savvy then caring about noscript population will increase your userbase.

I'll gladly concede the point. It was actually more people running noscript than I thought, and for some markets (I'd also wager tech-savy ones) it might very well be a sizable chunk of users.

  <noscript>To enjoy all this awesomesauce, please enable javascript:
  <img src="/annotated_representative_screenshot_you_should_already_have_for_the_tutorial_page.png" />
Wave some CSS at it to center it nicely; done.

It's also about search engine and disabled accessibility.

A particularly egregious one: I went to download Google Chrome with links (the text mode browser). Google's download page for Chrome requires JavaScript. I know Google has been falling apart, but really?

This got me thinking of Engadget and how they actually WARN the user if they have 3rd party cookies disabled (!) when reading comments:

"Warning: A browser setting is preventing you from logging in. Fix this setting to log in"


To all those who are saying "forget the people with JS disabled", I'd like to remind them that attention is scarce; information is not. Do the math. Sure, we may not account for very many people. We may not be "important" in your world. But I can tell you that when I encounter a website that doesn't work without JS, or balks at my filtering/anonymizing/caching proxy (with custom user-agent), I go elsewhere. I don't forward the URI of that site, or bookmark it. I forget about it. It doesn't exist to me. There are likely a dozen other similar sites willing to get my business or attention. I have no time or patience to waste on people who want me to jump through hoops just to see their sales pitch. To be sure, I turn on Javascript for some sites, but it's a pretty high bar that has to be met. Requiring Javascript to read a blog does not meet that bar. This article is right on the money.

it's 2012 and you should just enable javascript.

That's up to each user to decide. We (NoScript users) have our reasons to keep it disabled by default. You may not agree with them, but it's our choice.

If you have a site, it's your choice to either ignore us (like the Google Blogs) or not, but if you don't want to, then the author has a point: tells us why, not how.

Let me let you in on a little secret. We don't want you. I'm dead serious. If you're blocking our ads, and not even allowing us to count you as a visitor by blocking our analytics code, we'd really just as soon NOT have you burning up our server's CPU and using our bandwidth.

Maybe we are blocking your ads and analytics until we see if we want you.

Just who is needing who here ?

> Let me let you in on a little secret. We don't want you. I'm dead serious.

Then say that, don't be a condescending prick. It's ok if you're not interested in that part of the market, just buy a pair of balls and say it.

I have yet to see a share of your revenue for enabling Javascript. Oh, you want it all to yourself?

I don't understand. Are you saying you want to consume the website's content and then share in the revenue they manage to generate from you?

I supplied electricity, a computer, internet connection, and a virtual machine to run code in (that's a business model by itself).

I may have profited from the content, but I surely have generated revenue for the site operator. And I want a part of it, isn't that reasonable for my time and cost? I'm just as much a capitalist as the site owner. I know my visit to their site has value to them, regardless of the content.

We could argue whether they paid me enough in content. But the automatic assumption that this is true isn't acceptable. In fact, the worst and most successful offenders in this business model usually provide the lowest value and often no value at all. See link farms and other blog spam/scams.

If it isn't obvious: this is a thought experiment. I'm not actually demanding my 0.0037 cents/view.

You got the content. That's your side of the deal.

While TylerE's response is a bit brash, I agree to a similar point. Web dev teams these days rarely consider the noscript crowd an important user base and simply code along without regard, heavily reliant on javascript. They don't need to be able to track users by Google Analytics (and maybe GA is the source of paranoia for some) or animate navigation, but modern sites are often built with the intent to show off their javascript muscle these days.

> We (NoScript users) have our reasons to keep it disabled by default.

Out of curiosity, what are those reasons? Related to privacy? Annoyed by animation?

* Invasion of privacy - that's a big one, yes.

* Obnoxious and gratuitous animations - yep, that too.

* Pop-up/floating/video ads - static or near-static ads are fine. However, if it covers up the content, or makes a noise, it can go die in a fire.

* Badly-written scripts, or pages where there's half-a-dozen+ streaming video ads, can bring my creaky old laptop to its knees.

* There's a possibility (albeit small) of security holes in the browser's scripting engine.

* Personally, I consider graceful degradation a metric of the quality of a website - if it craps out without good reason, that reflects poorly on its owner, and is going to make me suspicious of the quality of their product.

I'm sure there's more, but that's all that spring to mind for me at the moment.

Privacy and security (XHR and CSRF are still two of the most common security flaws on websites) is definitively one of the reasons, but I think the most important one for me is having the habit of keeping (many) dozens of tabs opened - and sometimes opening a dozen or more within a few seconds, like when reading HN - while using a single-core 1.6GHz laptop. Heavy JS can bring it to its knees.

With respect, the "it's 2012..." argument should really go like this: "it's 2012, and you should be able to develop a website without any real need for Javascript."

The only times I can see the need for Javascript is to enable something totally compelling that requires the use of it - like an amazing animation that needs JS, or something like this.

"Dear user, change your browsing habits to save us a few hours of work"

I think you're underestimating the amount of work that is required to cater for those with JS turned off, each new feature would need to keep that in mind, it would need to be designed for and UX tested. Scenarios where you wan to rely on javascript need to have a fallback, each change needs to be tested in a noscript environment.

In my opinion with the multitude of great new JS libraries (particularly knockout, backbone etc) and JS browser features we're going past it being as simple as progressively enhancing your site. If you are a startup trying to do things in a lean fashion it must be hard to justify.

> I think you're underestimating the amount of work that is required to cater for those with JS turned off

This is highly dependent on a number of factors, mostly:

* The kind of site we're talking about, if this is a real-time chat application it makes sense that it can't work without JS, if this is a company site or a presentation site for an appstore application with an embedded video and you can't make it work without JS you don't know what you're doing.

* Whether this was considered from the beginning or whoever built the site just went wild with javascript without consideration.

And even in the first section of the first case, if the unlogged account-less front page can't work without javascript I'll probably still think you don't know what you're doing.

I meant a few hours should be plenty of time to write one paragraph about what your site does, and insert it into noscript tag on your main page.

This ties back to the point of the submission -- if you can't make your site work without JS, at least tell the users with JS disabled why you need them to let yours through.

At worst, run it in anonymous browsing mode.

Complaining about enabling javascript on tumblr, a site that has many javascript functions built into their blog system by default is an oxymoron.

Generation Y and our "evil" javascript enabled browsers will take over Generation X in years to come.

I think you missed the point. The author clearly stated he was willing to whitelist a site he wants to use. There are good reasons for someone not to browse arbitrary sites with JS enabled by default if they choose, from security to memory management...

You are not part of my target users. Sorry and goodbye.

As long as I normally focus on the 80% of the users, and more that 80% of my users use javascript, I have to say, that you are not part of my target. I don't have the money to make an app for the user with a normal browser (including mobile), and the user with IE, ups, sorry, the users without javascript.

Buy a better computer

I get the sentiment(and i'm right there with ya), but the author isn't asking for your whole website to work without JS, just to display some very basic, static stuff without Javascript. Hell, even just ignoring that JS is missing might be a better solution. That way, the user at least gets to look at the HTML and CSS, which will probably still convey enough information about the website.

I really don't understand why anyone'd even react to missing JS. Anyone willfully turning it off will be aware of that.

Many people don't understand the distinction between client-side and server-side. Javascript typically runs on your computer. I know that it seems to be out there on the Web, but it's not. It's running locally on your computer. It's using your CPU and your memory. It's important that normal people understand this.

Edit: We disable Javascript because we don't want other people running code on our computers without our consent or knowledge while we browse the Web.

Edit2: Here is some Javascript to peg a client's CPU (this can be malicious or accidental, but either way it's why I run Javascript blockers):

  <script type="text/javascript">

  function burn_cpu(y)
      var x = 0;

      while ( x != y )
          x = x+1;



I'm not sure I follow your argument. JS is bad b/c it's client side? Doesnt that paint all fat clients and every piece of software before the "web" in the same light?

No it doesn't. JS runs automatically on my computer when I visit a website. By default our browsers execute it automatically. This is wrong. They do not ask for permission or check for signed code or offer any protection at all. JS infections are so rampant that a name has been given to it (drive by infections) as all you have to do is visit a website and its malicious JS runs on your computer and does the rest. Delivering malware via JS is now the cybercriminal’s favored means of attack.

With one difference: You install traditional software by choice. On the web, you don't have a choice, everyone can just install and execute whatever they please.

Agreed. I'll usually enable first-party js on a new site, provided it shows something compelling on load and the js import list isn't too sleazy.

I don't use adblockers per se and welcome them if they are polite, respect privacy, and something I'm interested in.

I agree you should tell users why they should enable JavaScript, but sheesh, don't take it personally.

"Someone who is thus actually pretty tech-savvy, and who actually took the time to wade through his browser’s configuration to find the switch to turn off javascript."

Or someone who's nephew decided to install AdBlock and NoScript along with antivirus software when they were cleaning up their computer.

My feeling is that if you have JavaScript disabled, then you know what you're doing and you're used to sites not loading or functioning properly. If you can't enable it (ie screen reader) then unfortunately there's no point in saying "please enable JavaScript" in the noscript.

I actually use YesScript rather than NoScript to selectively disable Javascript for certain sites rather than disable for all sites. It works pretty well.

Okay, I won't tell you to enable JavaScript. Can I tell you to bump up your blog's font size?

Ten years ago, the web was HTML and CSS with javascript as a optional extra. It seems to me that the web has evolved into a communications and app-delivery medium where HTML, CSS, and javascript are all first-class citizens. I understand why some still block js, but I think this will soon make as much sense as blocking HTML.

Disabling JavaScript doesn't strike me as "tech-savvy", it strikes me as "paranoid."

Don't tell me how to write my sites.

Using the web without JS is pointless. Just turn it on.

>On the other hand, what is the profile of the typical guy browsing with JS off or blocked ? I’m going to surprise you: someone who wants JS to be off or blocked. Someone who is thus actually pretty tech-savvy, and who actually took the time to wade through his browser’s configuration to find the switch to turn off javascript. Or someone who uses NoScript, or equivalent browser extension.

I'd go with "someone kooky, wearing a tin-foil hat, a tiny minority, and very unlikely to be interested in what I'm selling anyway".


I now `know` that this guy has the name Lisp.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact