Howard Ryan is CEO of Custom Browser, Inc., a company that codes (you'd never guess from the name) custom Web browsers. He's a Windows guy, and most of his work has been based on Microsoft Explorer's rendering engine. But Howard is starting to use Mozilla's Gecko in his own custom and embedded browsers, and says moving to Gecko from Explorer is not only a good idea, but is amazingly simple for browser developers because, he says, "the Gecko API is identical to the IE API."
Howard is (obviously) an avid follower of Web browser development news, and he says the fact that those APIs are identical has been overlooked in most articles he's read about browser rendering engines. "I have noticed quite a few authors missing this KEY point," he says with a little laugh.
He also notes, "At Mozilla's site, hysterically enough, they actually refer programmers to Microsoft's site for documentation on the browser from a programming perspective. Again, because the API is identical. I am sure that saved them a TON of money and insured a TON of conversions." These conversions have, sadly, been primarily from Netscape/Mozilla to Explorer over the years, according to Howard. But now things may start going the other direction.
There are two main reasons Howard believes custom browser developers should drop Explorer and move to Gecko.
First, the Microsoft antitrust trial. What if Microsoft is forced to leave Explorer or at least Explorer's Web-browsing capability (as opposed to its internal file browsing functions) out of future Windows releases? Right now, Howard says, "Microsoft's attitude is, 'since every machine has it, you as the developer do not need to ship it.' Thus, all of the IE-based browsers we built are built on the preface that, 'when you load the browser it will work because IE is on your machine.' I see this as a problem eventually because once the Justice Department forces Gates to strip Windows machines of the mandatory requirement of having IE onboard, what happens to all of the browsers out there that, when loaded, cannot find the IE files?"
- Second, the openness of Gecko, as opposed to the closed nature of Explorer's code. If you want Explorer code, you can only get it from Microsoft, and you cannot modify it in any way. But Gecko code is Open Source, freely modifiable and redistributable. This gives custom browser developers, and their clients, a level of flexibility they do not get from Explorer.
Howard did not directly mention this, but another important reason browser developers may want to move to Gecko is its cross-platform capability. A developer working on a browser for the Sharp Zaurus PDA cannot use Explorer, nor can one working on a browser for any other Linux-based device or any device running any of the many non-Microsoft embedded operating systems used in set-top boxes, Web pads, Internet-capable cellular phones or whatever other piece of equipment might conceivably have a Web browser built into it. An ISP or other company that wants to serve users who access the Internet through many kinds of devices is better off with Gecko than with Explorer.
Why didn't everyone switch to Gecko sooner?
Howard says, "Because the releases have JUST started to become stable. The Netscape demise and AOL indecision of how to run Netscape certainly did not help, as one after another Netscape employee was fired. Then, AOL people take over and try and run a firm with their people. It has been a messy transition."
Even now, Howard talks of how "the Gecko engine has "some problems with Flash" and worries that "some of the plugins aren't installing right." But he and other embedded browser developers are getting them to install, and with Gecko's improved stability, along with its cross-platform nature and flexibility advantages over Explorer, this seems to be the time for browser developers to make the move.
How to make the change
Let's assume you've made a custom Explorer-based browser for your ISP's Windows-using customers. Here's Howard's description of how you change to Gecko:
"The developer need only remove any reference to the IE web browser control in their program. Essentially, remove the IE webbrowser control from the toolbar palette. Then, simply register the Mozilla Gecko Control on the development machine and add a reference to the Mozilla Control. Since the APIs are identical, the transition is rather smooth."
That doesn't sound hard, does it?
To get Gecko, send a check for ... oh, just kidding. Gecko is Open Source and it's free. Netscape has its own Gecko page. You can get Java with and for Gecko, which saves customers using new versions of Windows the trouble of downloading it separately now that Microsoft has decided not to include Java in any of its products.
You won't be the first one to use Gecko as the base for a new browser. Google already shows a long list of others, and this list doesn't even include the world's largest custom Web browser distributor, which is in the process of switching to Gecko; in fact, it is already putting out a Gecko-based beta version of its software.
AOL -- that's the world's largest custom Web browser distributor -- may allow users to select Explorer as their Web browser for quite a while yet, but as time goes on it is likely that a growing percentage of AOL users will switch to the Mozilla/Gecko browser because it's Open Source -- without even realizing that Gecko's Open Source licensing is the reason they're changing over.
Current AOL software doesn't require an Explorer download because it's a safe assumption that anyone signing up for AOL already has Explorer installed on their computer, since it is shipped with both Windows and Mac operating systems, and that's all AOL supports. But if you upgrade AOL software, you will notice that if you want to upgrade Explorer along with the AOL software, you must click on an additional button. This is because Explorer is not redistributable, so it is not part of AOL's software. But AOL -- or anyone else -- can include Gecko in whatever software they want, however they want, complete, including all the latest upgrades, with no separate download required.
Suddenly Explorer becomes an option, with Gecko as the default. And don't forget Java. Microsoft's refusal to license Java means anyone using an Explorer-based browser must endure yet another download to get Java. That's a total of three downloads for a user who wants a complete, "latest version of everything," Explorer-based browser, while getting the latest and greatest Gecko browser including Java only takes one download, hence one click. And any sane developer trying to please a non-geek user base is going to opt for a one-click install over a three-click install every time -- or risk losing that user base.
Why should Linux users care?
The most obvious thought is that we shouldn't -- except for those Linux users who develop Windows applications for a living and would like to have a stable, Open Source, standards-compliant browser engine they can add to the software they work on to pay their bills.
Then again, unlike Explorer, Gecko is widely used on Linux since it is the heart of the most popular Linux browsers, and a whole lot of Windows developers suddenly working with Gecko will help it improve more rapidly. Their bug reports and suggestions will help Mozilla development as a whole, not to mention Netscape's Linux browsers and others -- like Galeon -- that are also based on Gecko.
Didn't someone once say, "a rising Gecko lifts all browsers" or something like that?
More Gecko use will also benefit people who continue to use Explorer (and there are bound to be some; Microsoft has fans out there, believe it or not). For the first time in years, Microsoft's Web browser developers are facing stiff competition -- and standards-compliant competition at that. They will be forced to work hard to keep up with the rest of the browser world, not by adding proprietary extensions but by working on basics like security, speed, HTML compliance, stability, and usability. Opera and other proprietary browser vendors will need to work hard to keep up, too, and this will all spur yet more Gecko improvements. Suddenly we have an endless competitive circle, which is one of the main benefits of a free market that isn't dominated by a single monopoly.
This competition is good for all Internet users -- including those of us who prefer Linux -- not only because it will give us better browsers but because it will speed the spread of standards-compliant Web site development even more than "just" AOL switching to Gecko.