| Because, besides the creepy ad networks and stuff, it's most often used in a mix of shitty engineering and user-hostile practices. Let's consider a web document like this article here. Its stated goal is to be read by the visitor and thus deliver him value. So presumably, an article that's easier to read is better than one harder to read. An article that, ceteris paribus, consumes less resources on user end is better than one that consumes more. Now we have a perfect technology to deliver that article. Plain old HTML. With a little bit of CSS on top. When what you want to send is text communicating a message, you need exactly zero JavaScript to do that successfully[0]. You barely even need much CSS - the default browser styles, raw as they are, are better than most web designers produce, if you care about providing value to the user. Now if you don't, here starts JavaScript. Look at just what JS on Wired does and find me one line of code that actually serves the user. The JS there tracks you, shows you ads, shows you nagging popups[1], adds social media buttons that are somewhat useful if you want to exchange being tracked everywhere for convenience of not having to CTRL+TAB to that Facebook tab. In general, JS here is a waste of electricity (often in users' phone batteries). You can run a similar analysis of other websites[2] and rarely if ever you'll find one when JavaScript does anything other than fuck users over more or less subtly. The technology is fine, but everyone[3] is using it for user-hostile purposes, and/or because of bad engineering. Think of all the scroll hijacking, JS rendering article text dynamically on a blog page, etc. Personally I dislike it from the very same reason I dislike crappy code. -- [0] - Sure, JS can be used to qualitatively enhance the reading experience, to make it more pleasant and efficient. I accept that in principle, but I'll cede the point only when I see anyone other than Bret Victor actually doing it. [1] - Wired, I appreciate that you wanted to say "thank you" to me for turning off uMatrix for a second, but could you please do not do that with a popup? [2] - Web apps are a different topic; I don't think anybody is saying you should turn off JavaScript for GMail or Google Docs. But most of the sites on the web are not, and should not behave like web apps. [3] - Except Bret Victor. |
I didn't get the job.
Next I was joking with a friend that all the layers of abstraction added to the web are probably part of some big conspiracy by web developers to create artificial demand and job security. You run a heavy CMS but the bells and whistles confuse rather than help the user, and they'd rather pay for an hour of hour time than figure things out themselves. Your spa makes a simple series of documents feel like an app, with all the added complexity, but in the end the user couldn't care less about the full page transitions or parallax scrolling.
I have one simple rule: if it's about information retrieval, it's supposed to be a simple bloody document. If it's supposed to act like an app, it should look like an app. The latter is the propper use case for JS, but people are applying the latter to the former. This is not user centric design.