There's going to be some major geek talk in this post, so consider yourself warned. But, for those of you insistent upon reading this just for the sake of not taking out the garbage or cleaning the toilet, I'll define some terms so you'll have a cursory understanding of what I'm going on about. And hey — you may just find it interesting and learn a thing or two.
If you're reading this, you're reading it with a web browser — and looking at my site stats, 54% of you are using
Safari, 27% are using
FireFox, 13% are using
Internet Explorer, and the rest are using other things like Opera, Camino, etc. What's happening to allow you to read this, is that your web browser is reading text files that contain all kinds of code (HTML markup, CSS, ASP, PHP, JavaScript, etc.), and that data is rendered for you to see what you see on screen.
All of those different kinds of code follow (or are supposed to follow) something commonly known as "
Standards." These standards define what the various code tags are supposed mean in an attempt to create a baseline of expectations for the web browsing software. The goal is for the diligent coder to be able to create a web page that will look identical regardless of what web browser the user is using to view the web site in question. Of course, one has to hope the web browser programmers are making their software adhere to the standards, but that's not what this post is about.
With Standards comes Validation: making sure your code "validates" properly against the aforementioned web standards. Assuming the web browser is compliant, if my code validates, I can rest easier knowing that my site will look the same at home (on my Mac using Safari) as it does for someone in Brazil using the Windows build of FireFox.
So, as a web coder, it's my job to make sure what I code validates with the standards, and it's my job to get the word out about which browsers are most compliant. And just to get that out of the way, Safari and FireFox are the most standards-compliant, daily-use browsers available (especially the
nightly WebKit builds of Safari).
You're still reading this, aren't you?
The problem web coders face today, though, is that all the cool bell-and-whistle goodies that make sites more animated and interactive often require the user's system to have additional software installed. Case in point, Flash. Flash lets you have animations, movies, moving text, and pretty much anything you can think of on your site — but the user has to download and install Flash Player (at the least) to see all those goodies. Without Flash installed, your visitor sees nothing — or you code a different page/site for non-Flash visitors (which means more work).
Another annoyance coders face is the use of JavaScript. JavaScript is a crazy-powerful code language — but it's also much maligned because it can be used to exploit a user's system and their data. A lot of people — especially Windows users — disable JavaScript for security purposes alone. So once again, if a coder builds a site with a lot of JavaScript and the user has javaScript disabled — the user gets nothing.
Couple that with wanting to build an "accessible" site — one that people with disabilities can easily read/hear — and it's becoming increasingly difficult to try and build a site for
everyone.
Thus the coder's conundrum.
The solution many of us choose is to stick with as much strict HTML and CSS coding as possible, completely avoiding using Flash and JavaScript. The upside is that we're better assured everyone will be able to view our site, but the downside is that we don't get to take advantage of some of the newer technologies. So what should we coders do?
I think that for now, as I build
my new site, I'm only going to use JavaScript when absolutely needed — and if a user had JavaScript disabled, I'll have code to handle it. For example, when a thumbnail image opens to a full size image, I typically use JavaScript have the image appear in a new window all nice and centered on-screen. If JavaScript is disabled, the image simply appears in a new window.
As for Flash, well, I have a several issues. For starters, I just don't like 99% of Flash-enabled sites out there. I do NOT want to wait for a gradient to fill, something to fade in (or out), pictures to sweep and swirl — I just want to see the dadgum content. I like "pretty" and "cool" as much as the next guy, but I don't want to wait for it. Second, I'm still such an old school purist that I just naturally want to stick with the solid foundation of HTML and CSS for my sites. Sticking with the Standards, I don't have to worry about people skipping my site because they need to "update their Flash player" and go through all the hoopla therein.
There may come a day when Adobe allows web developers to bundle their player(s) for auto-install, thus helping to make Flash and its ilk more accessible with less user interaction. But, nothing like that will ever become part of the W3C Standards, I don't believe.
So ol' Maury will stick to the pure road as much as possible, confident that what I see is what you'll see — and confident that I won't be bugging someone or losing a visitor by forcing them to enable or install some bit of software they may not want to. Will my site be less "flashy?" Yes. Will my site get viewed regardless of the user's system? Most certainly. That's a good enough start for me.