Computer Science Canada

[Tip] Graceful Degration

Author:  rdrake [ Sun May 28, 2006 9:02 pm ]
Post subject:  [Tip] Graceful Degration

So, you've got your shiny new flash site up which uses advanced CSS and javascript to produce the most interactive experience for the user. Are you finally done? Oh no, not by far.

Too many web designers and developers now believe that much of the web deals with how you deliver the information, not the information itself. As nice as your ajax-powered site is with the oh so shiny flash and such is, some users still can't access that data.

I'm sure many of the users here now use alternative browsers to Firefox. How many of you had trouble viewing sites a few years ago before Firefox was well known because the developer of that site restricted it? Well, the truth is, many sites still do that. Users should not have to fake their browser signature just to visit a site, the web is meant to be open.

Some users here, particularly those who've dabbed in the *nix world have used text-based browsers such as lynx. Think every browser can interpret javascript? Think again. Think nobody uses text-based browsers? Think carefully again.

Now, there are ways to have this shiny new technology on your site, while still not cutting off the other 10% not able to view the specialized content. How might you ask? Well, you must have your site gracefully degrade.

So your site uses a slick flash interface? Well that's all and good, but you should provide an alternative. You don't need to get rid of the flash entirely, perhaps store the information in a database. Both flash and a PHP (or almost any other scripting language on the planet) can access databases.

You want to use javascript for form validation? Good idea, but don't always just use client side validation. Can users pass that javascript? Absolutely. Always perform data validation on the server as well. You should not restrict a site to javascript-only users.

Use other technologies such as movies? Perhaps some quicktime video or similar? Well, there's not too much you can do about that. I would suggest including a description of the video, a summary of sorts so users without the player are not left out.

My advice: test, test, and test more. You can never support too many browsers. Get ahold of as many browsers as possible and test, test, and test again. Keep a chart with different browsers and tested versions. Use a number or colour system to keep track of compatibility in a nice, neat table.

So next time you're considering using those shiny new technologies, always make sure there's a backup. It may seem cumbersome, but your users will thank you. After all, not all of them have Internet Explorer installed with every plugin. In fact, many probably have IE with a bunch of stuff they didn't install Wink.


: