Non-compliant Web: An exercise in frustration
Author: Wayne Eggert
Web programming is an exercise in
frustration -- browser specific coding specifically. If it wasn't for
having to code for different browsers, different versions of browsers,
different operating systems running the browsers, etc.. web programming
actually wouldn't be too bad. I'm not aware of any other programming
languages where your code is limited not by your imagination and
ingenuity, but rather by the browsers interpreting the code.
The Problem With Competition
I like competition -- it drives down prices, it puts companies that have monopolies in their place, it's usually great for the consumer who in the end has more options or pays less. What I don't like with competition though is when you find yourself smack in the middle of emerging technologies -- for instance the new Blue Ray vs. HD-DVD, or the age-old Betamax vs. VHS. This is where I feel web programming's at right now -- the newest Internet Explorer and Firefox browsers are still very different in their implementations of CSS and code in general, yet anyone coding for the web has to program for all the current popular browsers regardless of which ones they actually would prefer to support (ie. we get to buy both a Betamax & VHS player). You can't program to standards because the browsers don't fully adhere to standards, some less than others. Enter hacks.
I hate browser hacks -- it feels dirty writing them. The only time I think it's acceptable to hack web page code is when you're customizing someone else's work (ie. 3rd-party shopping cart, bulletin board, etc) and don't want to completely rewrite it to make it do what you want. Don't get me wrong, I don't think you can web program without the use of CSS hacks or HTML hacks with the current browsers.. I just think it's completely horrid that browser standards have taken this long to progress and we're finally being promised that future browsers will be more standards compliant.
The "Google" Influence
Another issue affecting web programming is when large sites like Google use clever programming techniques to deliver content in a unique fashion. It doesn't have to be Google, but they're a big influence on the web today. AJAX for example, was a technology feasibly possible for many years, but grew to its current popularity because of large sites like Google utilizing the technology in their applications. AJAX is a great example of an emerging technology that came out of an untapped conglomeration of existing technologies. Large sites like Google are going to steer browser compliance and new web programming techniques more than any other entity, so web programmers never know what's around the corner. It's exciting and annoying at the same time, especially if a new technique requires additional browser specific coding to be added to ensure the application runs cross-platform, cross-browser.
Change Is Inevitable
There's no escaping change when you're involved in the tech industry. It seems like that goes double for web programming -- each year there is a new twist on how content is being delivered because the web is such a vast ever-growing canvas to deliver information. Users of all skill levels are signing online and companies programming web content realize this and want to make the transition from regular applications to web applications even more seemless. Ultimately the goal is to bridge the gap between applications you run on your desktop and applications you access online.. much like the goal of videogame systems is to make the graphics and physics as realistic as possible. It's unfortunate though that web programmers get stuck in the middle as technologies emerge, new browser versions prevail and large sites influence techniques and trends. Well, that's how it goes I guess.
No comments have yet been made.