Hacker News new | ask | show | jobs
by icey 6316 days ago
So if the user has javascript disabled, nothing on the site works?
3 comments

The costs of supporting clients with disabled Javascript increases constantly. As Javascript frameworks get increasingly feature-rich, regular users expect more out of their Internet experience, and development techniques mature, it gets easier and more mandatory to do more in Javascript and harder and more expensive to fake the presence of comparable functionality using HTML, forms, etc.

The revenue generated by supporting clients with disabled Javascript is not increasing at nearly the rate support costs are.

I know many technically apt people get up in arms over this, but there comes a point where going into your browser settings (which 99%+ of users will never do), scrolling down to the section marked I Hope You Know What You're Doing, and unchecking boxes means you are affirmatively opting for a second-class experience.

I know the rejoinder: "Blind people can't use your site, you heartless bastard!" It is highly likely that my site and software will be suboptimal to them. It is also highly likely that my site and software will be suboptimal to people who, through no fault of their own, are illiterate. Both of these are tractable issues if someone wants to throw sums of money which are many multiples of my budget to fixing them.

I have yet to hear a good reason for why that someone must be me.

[Edit to clarify: this is not specifically related to the site I have in my profile, but it could be very easily.]

As long as you're fine with web crawlers not seeing your content, people not building mashups based on your HTML, and so forth, be as much of a heartless bastard as you want. But do keep in mind that Googlebot is the biggest disabled user in the world. If blind people can't see it, search engines can't see it. And if search engines can't see your website, who cares about you?
If I want people building mashups with my site, I'll provide an API, HTML is not an API.

If I want Google to see my data, I'll provide it to them when they crawl, more accurately, if I'm ajaxing in data with JavaScript, it's usually explicitly because I don't want crawlers getting to it.

It is not a web developers job to go out of his way to support people who deliberately break their browsers and more often than not contribute very little to the bottom line. Most of us are building apps for people that actually want to use them as intended.

There is a world of difference between blind people using your site versus search engines reading your site.
people not building mashups based on your HTML

It's not a bug, it's a feature!

Hypothetically assuming I had a product targeted at people who were technically capable of developing mashups (or, for that matter, had ever heard the word), I would want to have them use a published API rather than my HTML, because I routinely need to change my HTML. I do not want to have to give everyone 6 weeks of notice every time I do a split test to avoid breaking my core users' sites.

Maybe the question should be "What happens if javascript is disabled?".

I do think that it's important today because there are still web browsers, especially in the mobile space, where people will not have javascript or more specifically AJAX available.

I think it's especially pertinent when talking about social anything kind of sites, where people are going to be likely to try to access it from a mobile device.

I don't see it as an issue of responsibility as much as I see it as a customer service issue.

"it gets easier and more mandatory to do more in Javascript and harder and more expensive to fake the presence of comparable functionality using HTML, forms, etc."

You don't have to "fake the presence of comparable functionality" (and in most cases you simply can't).

What you can and should do is support the subset of functionality raw HTML and CSS sans Javascript can achieve. No one will blame you for not supporting highly dynamic features that can't possibly be achieved without javascript without javascript.

> What you can and should do is support the...

Bullshit, the only thing we should do is whatever the bottom line requires. 99.9% of users don't break their browsers on purpose, so you lose very little and save a ton of time and effort by simply not choosing to go the extra mile for those pesky few that try and break your site.

I wonder about the assertion that this approach would prevent blind people from using a site. I'm not up to speed on the current state of the art of screenreaders for the blind (last time I looked they were still running on DOS) but it would surprise me if they weren't looking at the DOM that resulted from loading the page in a regular browser, rather than reading the HTML directly. If that were the case, all of the javascript stuff should "just work". Anyone know better?
Author here. Here's the relevant line in the post:

"[..]web browsers are not the only clients that will use Urbantastic. Mobile devices, search engine spiders, screen readers for people with disabilities, and RSS readers all need the same data but in different forms. Accommodating any of these is simply a matter of dropping a different rendering front-end in front of the common JSON data server."

It's not up yet, but I'm working on a front end intended for non-javascript users. It will also serve blackberry users, IE6 users, and spiders.

It will be a /much/ simpler site, but you'll be able to get everything done on it. I figured it's easier to separate it out than try to shoehorn every use into one format.

The general principle is that I'm going to design for the large majority of the users - and use Javascript capability I can to make it an excellent experience. Then create a simplifed mirror for the minority uses. Gmail took this route and I think it's worked well for them.

So you've taken the idea of progressive enhancement and reversed it? Zeldman would be rolling in his grave... if he were dead, anyway. I've always found it easier to go the other way: make a site that works on everything, then just add bells, whistles, and enhancements with Javascript as you feel compelled to do so. Doing it this way, I find places I was going to use pure JS where there was no real value-add to it.
Bizarre. Everything from "The Language" down wasn't there when I read this earlier. I guess I must have been having connection problems.

Anyways, thanks for following up - this is a great way to handle clients without Javascript.

IMO people who disable javascript might as well just use lnyx or something. Javascript is the current and future web and nothing is going to change that so get over it.
You're not familiar with TimBL's Principle of Least Power, I see. The majority of the web pages I visit work fine without JavaScript (I use the NoScript extension) and they look a lot better in Firefox than in lynx, or even links.
Any Blackberry released before the Bold does not come with AJAX support.

I'm going to go out on a limb and say that maybe they should think about how the site will work without Javascript.