

Ask HN: Is the web ready to require JavaScript? - kennu

Until now, I have considered it an absolute requirement that websites will work even if the browser doesn't support JavaScript. Graceful degradation, progressive enhancement, and so on. The only exceptions have been sites specially targeted for iPads or similar cases.<p>But now, people I work with are making the claim that JavaScript can become a forced requirement for all future websites. In this world, if you're without JavaScript, you might only get a minimal, unstyled skeleton page via HTTP, so that search engines can index the URL and social sites can share it. Or even a blank page, if those things are handle by APIs.<p>The majority of the UI is then to be implemented with Backbone/Spine, Underscore templates and similar technologies. It will be fully HTML5 compliant, elegant and accessible, but it just won't work without JavaScript.<p>My question is, do you think the web is ready for this transition? Are there compelling reasons, other than just "historical principles", for this not to happen? Can we consider JavaScriptless users an increasingly ignoreable relic like IE6 users? Are there other key points to consider - are we throwing out some baby with the bath water?
======
prodigal_erik
The web is human-accessible content hosted at stable linkable URLs. If you
send fragments of ad hoc data and rely on just one piece of code that might be
able to reassemble them into something usable on a couple out of all browsers,
that's not a useful contribution to the web, it's merely a client/server app
which tunnels yet another nondisclosed protocol over HTTP. Somehow we ended up
with a new crop of devs who don't see how terrible client/server was (your
data is trapped in a silo, there's only one app capable of doing anything with
it, it sucks, and you can't fix it) or why the web was such an improvement, so
they're abandoning it and we're all going to take a huge step backwards.

~~~
kennu
I think the web can still be human-accessible content hosted at stable
linkable URLs. But now the question is, can we require the user-agent to
support JavaScript in order to show the content, like we already require it to
support HTML.

~~~
prodigal_erik
If your documents are complete (no js-generated extra requests to get actual
content) but your default rendering is flaky without trusting your js, I
consider that shoddy work but not an existential threat to the web.

------
BillGoates
Less than 1% has JavaScript turned off. The answer to your question is the
same as to if a website should support Netscape 3.

I would say the answer depends on what the target audience is, what kind of
site it is, and how much time it will save.

~~~
kls
Right, when I was with Marriott we did extensive research of the subject. The
numbers just don't add up. Now that I am on my own, I recommend to my clients
that they take full advantage of the tools at hand. Butchering the development
model to support less that 1% (it was a little higher when I was there around
1.5%) just cannot be justified. Further it is cheaper to build a clean modern
code base and then route the non-JS traffic to a site built independent of the
modern code base that supports non-JS client. The reality was that the
business case could not be made to even spend the development effort to build
out a non-JS site. It would have literally been cheaper to send ever non-JS
user a new computer with a modern browser, than it would have been to spend
the development effort to build the site. Graceful degradation to non-JS
creates more complexity and increases the overall effort, when quantified that
money is almost always better spent on a better returning effort like an IOS
app or further features on the JS enabled site. Now days it is hard to make
the numbers work to support a non-JS site. Personally, even if I had no other
features to implement, I would spend the money saved from removing the
complexity of graceful degradation, on color blind testing, site reader
software testing for the blind or internationalization. All of which have
better business cases than non-JS support.

While I am on the subject my group (the web) made the business case that
having JSP and Javascript was redundant and added to the complexity and
therefore the cost of development and maintenance. We where able to
successfully transition away from back-end web frameworks two a pure
JS/HTML/CSS front end. In doing so we where able to simplify our development
model, which increased our defect resolution time as well as our new feature
development time.

------
subsection1h
I think it's funny how many commenters assume that people whose user agents
don't support JavaScript are "relics" or need "a new computer with a modern
browser". In my experience, people who use NoScript, for example, are much
better equipped (technologically, etc.) than those who don't.

That said, people whose user agents don't support JavaScript get a big fat
warning message after they log in to any of the web apps I've recently worked
on.

------
tobylane
I wouldn't mind (and do intend to, even for a school website) having so much
javascript on a page that it looks different, even broken without it, but I
wouldn't load the content with javascript like Twitter do, that's too far (and
may well always be). Mostly because I want to support screenreaders, or
curl/wget.

------
saiko-chriskun
what kind of browser nowadays don't support javascript? I don't know about you
but the idea just sounds totally foreign to me. I'm too busy worrying about
what HTML5 features modern browsers support :P.

~~~
firefoxman1
Well the main issue isn't that browsers don't support Javascript, but that
some people disable running scripts or have plugins like noscript that
disallow scripting.

~~~
kls
Even with the disables ones added in, the business case is just not there:
[http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-
many-...](http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-many-users-
have-javascript-disabled/)

------
wavephorm
In either case, your app should be written as a service which can be access by
many different "clients" if necessary. Then you can go all hog wild with a
WebGL version of your app, and someone else (an intern) can come in later and
write a Web 1.0 version of the client-side.

------
MostAwesomeDude
Please, if you're able to make the call, do not require JavaScript in the
browser. Fall back gracefully and make the UI work without any JS.

~~~
chris_dcosta
Why? I'm not sure I understand your view.

