JavaScript libraries vs. Usability

JavaScript libraries like MooTools, jQuery, Dojo and Prototype have proven very popular with developers recently, perhaps too popular!?

Over the last year there’s been a major recognition boost for these libraries, especially those featuring animations/effects and Ajax capabilities. Blinking/fading/sliding text was in fashion back in the nineties but it seems, following the hype of Web 2.0, these effects have made a massive comeback!

To be honest I think it’s great; what better way to expand the imagination of the average developer than to give him/her some brand new toy to play with? Web developers are now thinking of innovative ways to utilise these new-found JavaScript enhancements and designers are pushing boundaries with their designs, integrating these enhancements into their mockups!

This is all wonderful, but unfortunately I fear the overuse of JavaScript libraries such as jQuery has had a detrimental effect on usability. Obviously we had issues before these libraries and we will surely continue to rave about it afterwards but I cannot help but notice what is happening right now; people are turning a blind eye to usability and focusing all their attention on making their websites as smooth and swish as possible!

If you’re in the template trading industry then you will have heard of the recent successful launch of ThemeForest, yet another powerhouse off the Envato production line. At the moment it has upwards of 300 templates for sale, ranging from WordPress magazine-style themes to one-page portfolio sites.

Flicking through the templates on offer you’ll probably notice nothing wrong with what’s offered, even if you look at the previews of some of them you’ll notice nothing strange. But, if you continue you’ll eventually find a number of templates offering "jQuery effects" and featuring "Ajax pagination"! Both of these terms spark a lack-of-usability chord within me. Looking at the preview of these particular templates proves just how lacking the author’s knowledge of usability is. Even basic concepts like code validation and degradable JavaScript have been massively overlooked!

Yes, these templates look great when you’re using a modern browser like Firefox 3 and have JavaScript enabled. But what happens if you’re using IE6 without JavaScript? In fact, even using a modern browser, but with JS disabled is disappointing – for a couple of the themes nothing even comes up… not even a warning to say "you must have JavaScript enabled to view this site".

Why should these authors be allowed to make any money from their laziness? Template buyers are as clueless about the issues as the authors and so ignorantly give over the odd $15 for their new "premium" template, completely ignoring the fact that a large proportion of their users may be utterly disappointed!

One of the core values of jQuery is that it lends itself to unobtrusive JavaScript, thus promoting the ideals of progressive enhancement and graceful degradation, two terms that seem totally lost on some developers!

Contrary to the title of this post, the JavaScript libraries are not to blame; they’re merely making it easier to access JavaScript functionality so that people don’t have to spend hours developing it themselves. The problem lies in the ignorance and laziness of web developers!

Just to be clear, there is nothing wrong with ThemeForest itself, in fact it’s one of the best and probably the cheapest template-selling website out there. I only take issue with a couple of the authors – it seems they insist on making "cool" sites which totally lack many of the core and fundamental practices of the web!

Thanks for reading! Please share your thoughts with me on Twitter. Have a great day!