Blog

No JavaScript, No Website

Today JavaScript is used everywhere in the web world. Its use is so widely spread, that it is hardly realized its a dependency. Its creeping under the hood, with its many drawbacks, and not many people seem to realize.

1. JavaScript is prone to errors. Most of the time when a JavaScript error occurs it will stop the rest of the JavaScript from executing. This will cause your page being defaces, or your web page functionality to stop working - i.e. Google maps, JavaScript reliant forms, anumations, etc.

2. JavaScript is extremely browser specific. Every browser supports a different falvour of JavaScript, every browser version supports different versions. It is very common a page hich works in Chrome, to not work in InternetExplorer. You may believe there are only 3 major browsers, you are wrong. There are all these browsers you have probably not even heard about. A recent example is a website I built and tested on Chrome, InternetExplorer, Opera and Firefox, broke on the Midori browser due to the missing localStorage feature.

3. JavaScript eats lot of memory. Is your browser slow and slugish. Most probably not, but the JavaScript used on the pages is eating the memory, causing the browser to become non-responsive and hang. Sometimes it may not be the website itself, but the third party plugins its using - social plugins, tracking services, online ads.

4. No JavaScript, no forms. if you use JavaScript to validate and send your forms you are our of luck. By the way, are your forms using only clientside JavaScript for validation? Quite often this happens, due to developers being inexperienced, lazy, in a hurry, or short cutting, when using client side JavaScript frameworks. Never let this happen. It is a security concern, and should never be the case. Every user input should be validated on the server side. Excellent, example Zend (the PHP company), their login form uses JavaScript, and I was not able to log myself in. Did I enable JavaScript? No. I closed the page. This is excellent example how you lose business.

5. No JavaScript, no website. With the rise of client side JavaScript libraries (Ember, Angular, Backbone) lots of websites are being built with these. Unfortunately all they fail when the user comes to your website, and all JavaScript is disabled. Why would someone disable JavaScript you may ask? In many enterprise environments all dynamic browser add-ons - JavaScript, Java applets, AxtiveX, Flash are disabled due to security considerations. On the other hand there is a large number of non-technical users, who are not aware JavaScript even exists and has to be enabled in their browser, or how to turn it back on if its disabled by a malware, virus, or simply incompetence. Lots of users use browser extensions (i.e. NoScript) to block JavaScript on all websites, and allow only on very few. A recent case to prove the point is a startup, who was making this great Angural.js website, with this wonderful search to provide the unique and great service, which was completely and nastily surprised, when I turned JavaScript off, and the only word which remained there was "Loading". This is the last thing you want your users to remember your great website with after hundreds of hours have been spent on developing, and you have already launched your national TV advertising What a waste.

Things to remember and check:

1) Does your website work and is fully usable without JavaScript?

2) Is JavaScript kept to a minimum on every single page, or its loading all the JavaScript files?

3) Have you tested on ALL browsers all the way back to IE7 (not joking)?

4) is JavaScript lightweight, is the browser responsive and easy to work on?

5. Is the page loading under a second?