Ok, come on. When you hear this you gotta stop to consider it and wonder why was I the first to come up with it? Or atleast, why I'm the first voicing this idea...or ...was I? Hmm... don't worry about the way I started this article out...I think this is such a great idea, that no matter how it starts it will be good.
*AHEM* ... (and now our feature presentation)
I was just looking around at some CSS / DOM / Javascript stuff. Wonder what crossed my mind just now?? Yeah...the suspense is killing you huh?
I thought to myself (as I usually do, ..but sometimes voice it aloud for others too), "Why not end all this best browser nonsense and messing around with web developers and actually make a browser which integrates a core rendering engine that can be UPDATED as new standards are released?!"
Yeah, I'll break it down for you even though I left that all by itself in the last paragraph..I know it might be hard to digest it with all of the hype I used. OK, you have web browsers right now which want to be the better browser...and they all are competing with one another. Meanwhile us web developers are the ones suffering. We are constantly striving to know the latest standards in web languages and what is cross-browser compatible. WILL SOMEBODY PLEASE WAKE UP AND POKE THE CORPORATE BONE-HEADS WITH A FORK AND BE DONE WITH THIS?!
My goodness! You have to use 150% more of your brain capacity just to make sure that every browser, and ever person using your site will have the same exact experience and all of it wouldn't be necessary. We've made ourselves slaves to two browsers if not more.
I want to lay out this idea plain for everyone, and hopefully for the browser developers and standards committees so that soon we won't have to grieve ourselves over it anymore. I will start with the framework and move on into the benefits of this great and bold idea.
First, you have a browser that wants to have its own features which make it competitive. Fine, but don't make it competitive because you believe your way of rendering a web site is better than another which another very popular browser uses.Lets use our "standards" like CSS and XHTML, etc and put them into a platform-independant, common standard rendering schema. You can use this schema dynamically across all versions of your browsers and always render the same way no matter how old the browser is.Use a checker in your browser which tests to see if it has the latest version of the schema downloaded and is using it. If not, then it should download the latest automatically from an XML feed on www.w3c.org or whatever/wherever it may reside. It should be a small enough file that you wouldn't need to worry about the time it takes to download...even in this modern day of DSL and cable internet.Even better - Allow the use of any version of the schema. Let your users choose which version of the schema they use ..even for each page or site they visit by allowing them to switch and refresh the page.Better still - Let there be a meta tag or css or something, which allows a page to identify itself as being best rendered with a particular schema. Then by default you may want it to automatically render it with that version, or have an option to turn off auto-adjusting the schema version based on the page's "best rendered with" tag.Use your own custom schema mods for your browser to enhance its usefulness or security or even ACCESSIBILITY. You can store these schema mods as separate browser-based schemas which could possibly be downloaded from the browser developer's site, or a public schema domain.No longer build a rendering engine and re-invent the wheel and cause more and more people to conform; be standardized and allow for modifications or individual adjustments based on a user's preference - not an across-the-board "way it is" standard which cannot be fixed except in a downloaded updated browser version.Use updates to the browser itself to employ new ideas and features and things which are actually useful rather than trying to implement or fix rendering issues.If your new version offers a new way to render old usual things with a new flare, add the option to revert and render using old methods, not be forced to down-grade to an older version if they (your users) don't like the new methods.I hope I've caused a little bit of friction in your minds eye in order to get the itch scratched and atleast get to thinking about a common rendering interface for browsers. This is something thats been a long time coming and I wonder why it hasn't been mentioned before now.Just imagine the clarity it would bring to a developer's world. Just one standard to write code for. Just one way of doing things that won't get confused across platforms. I can safely continue using just one old thin version of my favorite browser and never again worry that it isn't showing me the sites I visit correctly.
Think of the day when this is possible. We'll look back and wonder why we struggled so much in the beginning and wrote so much extra code and wasted so much unneeded time.
Then, when we have set these standards and can operate on all modern and old web sites with one simple browser no matter its version, lets make a simple THIN browser which can stand up to its name. The browser with so few additional features added that it can run on any OS and any platform no matter how powerful or weak. Of course there would need to be many portings of it so that it would run on all of the old OSes like Windows 3.x, 95, 98, 2k, me, xp, 2k3, vista, etc. All of those old linux and other unixes, and the Mac OSes, etc.
Just stop and say to me - "YES - WE CAN!" ..we CAN do it. Because we really CAN. One day this bogus browser nonsense is to be a thing of the past.
A great idea isn't it? Isn't it? Yeah! WOOOT!