The key word is Usability
Published on:
Steve Balmer once stood in front of me on a stage shouting “developers, developers, developers”. It was an oddly impassioned call to arms that delivered his point, but missed the end goal.
The goal in software design ( be it desktop, mobile or web based ) must be improved Usability. I state this not to jump on the latest bandwagon, but because I am often asked how I can be so evangelistic about new web based technologies and yet rarely do you see any code normally associated with other front or back end developers.
Where is all the:
- javascript
- ajax
- flash
- json
- xml
- silverlight
- vampires
- care bears
- Facebook buttons
- Digg links
- Tweets
Honestly, there’s very little on this website, or on most of my websites; and that’s not something that’s going to change any time soon.
Front-end web development is once again in the midst of a great technological leap. Jquery (and equivalent tools) has extended the average developer’s ability to control what the user sees and does, but really doesn’t give us any newer options than the old Thomas Bratta library from pre-2000. Lets not forget, we had prototyping in ECMAscript back in 1999 and other than some DOM standardisation we’ve made no real leaps in that department.
For all of it’s acceptance though, JavaScript by it’s very nature is dependant on the user and their choice of system. It is this unalienable fact that strongly shouts that we should strive to use conventional, controllable and deployable technologies instead. Better layouts, HTML and CSS will provide a far more robust experience 9 times out of 10; and I say this as someone who truly loves JavaScript.
In fact, as more and more of the web is seen by non-traditional browsing methods, the way in which we use JavaScript and Flash (and equivalents) needs to be examined on a case by case basis.
- Mouseovers, once the smoking gun in the interactive front-end arsenal, is both covered by CSS and more importantly obsolete on all new touch screen delivery devices.
- The ability to specifically place data as per a design was always a bad idea, but can be done without JavaScript by the most modest of code monkeys.
- Popups are annoying, which is not a shock to anyone with half a brain given that every browser under the sun has had popup blockers for the last 5-10 years; and it won’t be long until these facebook-esque shadowboxes become annoying too.
So what does that leave us with? The elephant in the room, dynamic loading of data. I think of this in the same way I think of communism:
It’s a wonderful idea until someone decides to fuck it up.
And sadly, that’s already happened. Ajax, like flash before it, has become one of the most over-rated and deceptive tools in a developer’s toolbox. Yes we must strive to have data more available to the end user, but dynamically loading data in this way is not inherently usable accessible.
This method became popular with Flash5 but at that point in time one of our primary concerns was dealing with people on slow connections, specifically dial up. Not having to reload the page and all the tables and images was a huge benefit; but I question the consistent over use of this on multiple websites trying to be “Web2.0”. It causes way more hassle than anything else for the end user, but at it’s core the issue is this: you are taking the decision on how and when to show your data out of your hands and placing it in the browser/medium/operating system/device’s hands. When, in the short history of the internet as we know it, was that ever a good idea?
I like Flash, but outside of Video is there any real need for it on modern websites? And how long will flash-based video last in the long term – less than 4 years if you ask me.
I like JavaScript, but it should be used to enhance the user’s experience, not the website’s content.
With great power, come great responsibility. I am a front end web developer who promises to only use these tools when needed, and not when requested. And believe me, I’ll be the happiest man in the world when I get to whip them out and show off my coding skills a little!
Comments are closed (actually, they were never open).
Why not send me an e-mail?