Friday 2 December 2005
Means And Ends
For me, Firefox is a means, not an end. I want the world's information and applications to run on a broad variety of platforms, beyond the control of a single organization. A competitive, standards-based, cross-platform Web is the best way towards that, and Firefox is doing a lot to help us get there, so every day I'm pleased to be doing my part. With its market share, its brand, its standards compliance, its expanding feature set for Web developers, and its open-source nature and non-profit masters (which guard against Gecko ever becoming the basis for some new abusive monopoly), Firefox seems to be the ideal vehicle right now. But nevertheless Firefox is only a means and other means could serve.
Therefore I am very glad that the other major standards-focused, Web-focused browsers --- Opera, Safari, and Konqueror --- are fine products doing the right things. In fact, if KHTML were to exceed Firefox in every way that matters and become the dominant browser, I would not shed one tear. (I speak hypothetically; sorry KHTML fans, but that won't happen anytime soon!) I would remain satisfied knowing that the growth of Firefox has played a big part in reversing the trend of the Web becoming IE-only, and that we have thereby held the door open for other browsers and platforms.
But the door could yet close again, so back to coding!
Therefore I am very glad that the other major standards-focused, Web-focused browsers --- Opera, Safari, and Konqueror --- are fine products doing the right things. In fact, if KHTML were to exceed Firefox in every way that matters and become the dominant browser, I would not shed one tear. (I speak hypothetically; sorry KHTML fans, but that won't happen anytime soon!) I would remain satisfied knowing that the growth of Firefox has played a big part in reversing the trend of the Web becoming IE-only, and that we have thereby held the door open for other browsers and platforms.
But the door could yet close again, so back to coding!
Comments
On top of that, Firefox implements something new that isn't in any W3C standard (html:canvas) - effort that could have been spent on acid2 compliance, maybe? Or perhaps better javascript performance? Granted, Safari was the first to implement html:canvas but Safari does pass acid2 and has a much faster javascript implementation.
BTW my development build of Firefox fixes 2 of the 4 remaining Gecko acid2 issues.
Well, i think this is one of the reasons Firefox is much more successfull among private users than corporate users. For standard web surfing and the typical "web apps" out there (webmail, webmaps, blogs, image/video archives, etc) a web-focused browser is perfect. But among corporate users especially Internet Explorer gets more used as a software platform than only a "markup language parser".
Currently i am developing a new release of an intranet apllication based on IE created in the last 5 years. There is a bunch of IE specific stuff in it and it's not running on any other browser right now. Some of those IE specific features were introduced because of simply ignoring that there is also a w3c recommended way to do it (ok, my fault) - or because there is now way/was no way during that time.
One of my goals for the current release is to support FF, but it's really a pain. For example i have been affected by a regression of FF1.5 - the code runs in IE 5.x,6.x and 7.x beta without a flaw. Never faced a serious regression in 5 years. First version change of FF and *bang* i have to rewrite the code created a few weeks back.
Other example is the lack of features specific to the Windows platform (i know this is not in the scope of FF). The most important example is ActiveX. The mostly paranoid "security concerns" away (look at my homepage - i know what i am talking about, XPCOM isn't that much better) ActiveX is a great technology. You simply rely on that as a intranet developer. Every tried to control a sticker printer from a web app (no, not via the standard printer dialog!)? Ever tried to open a local powerpoint, extract the first three slides as png and upload them to a webserver? Every tried to create a custom context menu that can "jump" over the edges of a frame or the entire window? Ever tried to interact with drag and drop events from the system? The clipboard? An embedded Windows Media Player 10? Ever tried to disable all keyboard shortcuts and overwrite with you own? Every tried to use "border: outset 2px window;" and hoped it would like in windows? This list could go on and on and on...
Don't get me wrong. I love Firefox. I use it as my default browser and i am somewhat active finding (security) bugs in it and try to fix them. But if the goal of Firefox really should be to "take back the web", we should extend the goal to "take back the intranet". This is key to be taken serious in the corporate market. Developers like me simply decide what browsers should be supported by software design. Currently it is way to painfull - even for a dev like me who likes FF - to develop an intranet application for it.
So what can be done to extend Firefox to be a platform instead of a simple browser? Mhh, maybe we should not try to to it? Maybe we can make an AtiveX control out of the Gecko engine and get the "best of both worlds" embedded in an IE? But what is about Linux/MacOSX? But can we really seriously take back the intranet/corportate market if MS Office is still as dominant as IE? Getting to 10% of private users was a quick and thrilling ride... but can we go any further?
I know some of them are considered 'risky' changes, but they'd probably get enough testing before Firefox 2.0 is released.
Being able to say 'Firefox passes the Acid 2 test' will lead to lots of positive news about Firefox (and take away some critcism from supporters of those browsers that do pass it). By 3.0, either it will be forgotten or it will be criticized for being so late.
And there's tons of new stuff related to JavaScript. Look at http://www.squarefree.com/burningedge/releases/1.5-comprehensive.html under "JavaScript and DOM" (which is under "New web developer features"). This includes "Many fixes to make DHTML faster."
Also Canvas makes for lots of cool extensions, e.g. Tab Preview, so for that alone it's worth having :)
Which might be one of the reasons Microsoft is very anti-Opera (they can never play fair, can they?) and had to pay them millions to avoid a lawsuit for sending corrupted MSN layouts to Opera users:
http://news.com.com/Microsoft+behind+$12+million+payment+to+Opera/2100-1032_3-5218163.html
An IE-only web would be disastrous for all involved (except Microsoft).
p.s. because of your access keys, I can�t type ALT+0133 like I normally do to write pretty ��� ellipsis. The ALT+1 is giving me troubles. Access keys suck. :(
~Grauw
What we should be doing to improve the intranet situation? It's a troublesome question. We actually can support ActiveX, if you build the right component, but that ties the browser to Windows, which I don't want to do. However maybe it should be easier for administrators to bundle that component with a Firefox deployment and configure it to work only on their intranet.
On the other hand, many of those things you mention we can already do crossplatform, in a nice way, with XUL. That doesn't help people like you who want a site to work in IE and Firefox. For you, some features can be made accessible to HTML ... e.g., Hixie is working on a mostly-IE-compatible drag-and-drop spec, which we should implement. The right answer is going to have to be worked out on a feature-by-feature basis, assuming we don't just want to become an ActiveX-supporting IE clone.
Now my experience with Gecko is very different: usually it is ok to develop for the latest Firefox version. Then you try you application in Mozilla 1.0 from 2002 and everything works. Of course this is only the case if you try to stick to standards and not abuse things that are obviously bugs.
As to all the nice things you can do with IE: usually people complaining about lack of features like these simply didn't get web development. They are still trying to create their desktop application merely in a different programming language. But web application work differently. If you can't accept it - there is XUL, a perfect development tool for internet-supported desktop applications.
I don't want readers to think that "Not for profit" means they don't make money.