A Smaller, Faster Lizard - Gecko: A Smaller, Faster Lizard - HTML with Style
Gecko: A Smaller, Faster Lizard
A Smaller, Faster Lizard
Just because Gecko can fit on a single floppy doesn't mean that it's short of features. On the contrary. I could go on until the final release date comes and I'd still only cover a tiny fraction of what this baby can do. In short, it's incredible.
First of all, and to prime importance to everyone, it supports standards. Many, many browsers have claimed this before but none have actually come close to implementing anything to an acceptable degree. Gecko may not implement every last feature of every standard around, but the important part is that to a huge extent, it will not do something unexpected if you follow the standard. Technologies such as HTML and CSS can be implemented incrementally, and this is something very important. It is not very important if, for instance, a browser supports the OBJECT element as per the HTML 4.0 Specification, but it is important that the browser doesn't crash if the element is used as per the specification, as Microsoft Internet Explorer 3.0 does, for instance, or if it does something contradictory to the specification like insert a box around a paragraph or something (don't laugh - browsers are silly, unpredictable things that do things a lot crazier than that).
Gecko isn't perfect in this respect, but this is to be expected of an alpha release. I went through the entire CSS1 Test Suite with Gecko and, with a cursory look, only found two discrepancies, at least one of which can be attributed to the fact that Gecko currently runs in "compatibility mode" so that it emulates some of the bugs of earlier browsers. That is a whole lot better than any browser so far has done until now, but the most important fact is not the change in function but the change in principles - the developers of Gecko are, for the first time in the history of graphical Web browsers, trying to stick to a well-defined, authoritative specification. And they're doing a pretty good job of it as well.
Which brings me to another point. Just like we have HTML 4.0
Transitional in order to support a graceful transition to HTML 4.0,
Gecko has many compatibility quirks that will allow buggy Web pages
built for older Navigator and Internet Explorer versions to work as
expected by the author. This includes an emulation of both the Netscape
and Microsoft proprietary document object models. And there is not a
single new feature I could find that has been introduced in a way that
is contrary to a specification. Not one. Nada. Nill. Zero. Zilch. No
more Frames, no more Layers, no more MULTICOLs, no more
document.all, no more layer-background-color. No more
creating multiple versions of pages or using "version sniffer" code in
your scripts. No more tweaking style sheets to get the result expected.
Read the spec, write the page, run a standards-compliant syntax checker
/ validator and you can be sure that Gecko will handle your pages
properly, not crash or add a three pixel transparent padding around all
your block elements.
That bit about crashing is a bit premature - Gecko does crash, and rather often, but not more often than your typical beta release - and this is a pre-alpha release. And if other Open Source applications are any indication, the release will be as resistant to crashing as a stationary car in the middle of a square mile of level asphalt. I have no doubt that by the time we see Communicator 5.0 released, this will be the most robust browser ever made.
And speaking of making better, bug-free code, this is a good time to mention the size decrease and speed increase. Operating system functions such as loading the program and laying out a page are performed blazingly fast, and network performance is up as far as anyone could hope to crank it up. Although I have made no lab tests to test this, I can assure you that Gecko feels faster, which is the point anyway. This is the first time most people who haven't used Open Source software will see a new version that is actually smaller, faster and less demanding in computer resources than the previous one instead of being larger, slower, and needing a new PC. There is talk of porting Gecko to palmtops and PDAs such as the PalmPilot and the various WindowsCE machines, without removing any of its functionality.
Another word about releases, and finally an explanation for what I meant when I said Gecko's release was no news: One of the concepts of Open Source software is "Release early and release often." Unlike most closed-source software, Gecko binary releases happen every night. You can download the latest binary, with all the changes that were made in the previous day, from Mozilla.org. And if that isn't recent enough for you (if you're used to Open Source it won't be) you can download the latest source, recent as of this very minute as well, and compile it to get the latest version. This has been going on for months now, ever since before Gecko could even run. This is because the principle behind Open Source is that you want as many people as possible examining and improving the product. This is an incredible advantage for the end user as well over commercial programs, who have releases so far apart that some companies like Microsoft have taken to numbering their releases according to the year of the release instead of incrementing a version number, and often release every several years (take, for instance, Windows 95 and Windows 98, Office 95 and Office 97, or the next planned release of Microsoft Office that is already being called Office 2000!). This means that you often have to wait for years before you see a new feature implemented on your desktop, while with Open Source you get your new release as soon as the feature is implemented and tested.
Those that might complain about what this will do to the stability of the browser had better read up on Open Source practices. Once the first release version is out, there will be two branches of development: a stable set of versions, which will include only those features tried and tested, and a development set of versions, for those who live on the cutting edge and want the absolute latest at the risk of decreasing stability. Both branches will be developed, with features being moved from the development versions to the stable versions after they have been adequately proven to be reliable.
So Gecko, like Mozilla before it, is faster and smaller. That's good - it's always been good. But bigger and slower have always been the supposedly unavoidable price we have paid for more features. Does Gecko deliver the goods or is it just a scaled-down (ha ha, lizard, scaled-down, get it?) version of Navigator? Let's have a look.