Joel "on Software" Spolsky Switches to Mozilla Firebird

Sunday June 1st, 2003

James Tikalsky writes: "Joel Spolsky has switched to Mozilla Firebird. Having used Netscape's decision to rewrite the browser code from scratch as an example of what not to do for years, it's nice to see that he can give credit just as well as he can dish criticism. He also has a suggestion for the development team: 'My highest priority would be to implement Mozilla as a COM control that supports the same embedding interfaces as IE, so that the AOL programmers can switch to Gecko.'" Joel notes that Adam Lock is already working on a Mozilla ActiveX control.

In case you've never heard of the guy, Joel Spolsky is a software developer living in New York. He's worked for Microsoft in the past and today runs his own company called Fog Creek Software. He has his own weblog, Joel on Software, where he regularly writes about software project management issues.

#1 particularly ironic

by joschi

Sunday June 1st, 2003 6:21 PM

its particularly ironic since moz firebird is a rewrite of a rewrite of sorts. a lot of joel's articles piss me off, especially since so many people quote him as some infallible demi-god, which is insane. but i think i just gained some respect for him.

as for making gecko support ie's interfaces, it would be useless to AOL since they've prooven they are able (but aprently not willing) to use gecko right now, but it would be *extrememly* usefull for all the other applications out there that embed ie (winamp, soulseek, kazaa off the top of my head)

#4 Re: particularly ironic

by Tanyel

Sunday June 1st, 2003 10:36 PM

I think WinAmp 3 had an option of using Mozilla or Internet Explorer. I do not know if it worked.

#13 But firebird is done just as he sais it should be


Monday June 2nd, 2003 9:13 AM

> particularly ironic since moz firebird is a rewrite of a rewrite of sorts.

Yes, but it's done just as he recomends, keep/reuse the bulk of the code and rewrite only the parts that really sucks :)

Not that I agree with him in the specific Gecko 4 -> 5 rewrite, because I do think that getting NS4 to work as lightning fast and correct with CSS as v5 does would have meant a monumental task. NS4 didn't even have CSS at all (it's just a patch made with javascript, turn off JS and the little CSS it supports is gone too).

#2 ActiveX control support of COM interfaces

by bzbarsky

Sunday June 1st, 2003 6:58 PM

Actually, the ActiveX control that Adam is working on is already pretty close to being API-compatible with the IE control. He's done a lot of work on that recently....

#3 Re: ActiveX control support of COM interfaces

by james

Sunday June 1st, 2003 9:14 PM

I wonder when you will be able to embed it in IE?

#9 You can embed in IE

by leafdigital

Monday June 2nd, 2003 3:18 AM

It's on the page about the control.

(for this to work you must use IE and have the control installed obviously. It didn't work on my machine anyway. But obviously it *has* worked at some point.)

#8 Fine, but it does need to be supported...

by leafdigital

Monday June 2nd, 2003 3:15 AM

If people are to seriously use Gecko ('use' being defined as 'provide a drop-down where people can choose which browser') in their software, this Joel guy is right: it has to be a standard, officially-supported part of the software, along with all that implies. (Making it part of the standard tests to make sure it doesn't break in new versions, for instance; and a commitment to continue with it even if - say - Adam loses interest.)

To be honest, personally (having embedded IE in a large Java program, at great pain/time/effort) I don't think I'd have bothered offering a browser engine choice since that's just one more thing to go wrong / one more system difference for helpdesk... but, on the other hand it might also be a potential *solution* route for helpdesk (browser doesn't work? Ok, try the other one) so maybe it would be worth doing.

I've got to say a 3-4 MB download that you could ship without having to have the user actually install Mozilla - i.e. literally include it inside your application's install, no separate installer, just copy and handful of files and register a dll - sounds very tempting. (It would solve some 'must have IE5.5 installed' type requirements, for example.) But, um, *where is it*? I can't find the file, and all the page Adam lists talks about is installing the full Mozilla and registering a dll (which I also can't find)... I guess the small-version control-only files haven't been made yet.


#14 Re: Fine, but it does need to be supported...

by asa

Monday June 2nd, 2003 9:54 AM 2.7M


#17 Re: Re: Fine, but it does need to be supported...

by Rayban

Monday June 2nd, 2003 11:58 AM

There doesn't seem to be a mozctlx.dll in this zip file. Is this the SDK required to embed Mozilla directly, rather than using the ActiveX interface?

#18 Re: Re: Fine, but it does need to be supported...

by Rayban

Monday June 2nd, 2003 11:59 AM

Ack - remind me to fully read the parent post before replying. I see that this *is* the Mozilla embedding SDK, not the ActiveX embedding SDK. Sorry!

#5 UI is very important

by tseelee

Sunday June 1st, 2003 11:44 PM

One of the articles on the site discussed something I thought about recently. Some people have said Mozilla/Phoenix are still not as polished as IE. We all know why. The UI bugs, which usually have easy workarounds, are not quite as minor as bug reports may suggest. The number of dupes show why. People think of UI as representative of the progress of the project, and until we hide our flaws as well as MS does, we'll continue to be considered not as complete as IE.

#6 My Reaction

by SithMonkey

Monday June 2nd, 2003 1:49 AM

Many of the features he lists have been in Mozilla for quite awhile now. So it sounds as if the deciding factor in Joel switching to Mozilla was the user interface change. Which leads me to conclude that Joel is basically an inflexible Windows drone who thinks that the user interface of any program is flawed unless it follows Microsoft's UI guidelines (or at least works the way he is used to, which in this case appears to mean working like Internet Explorer)

As someone else pointed out, AOL has already done all the work necessary to be able to use Gecko in their online services (Compuserve for Win and AOL for Mac already use it) so his comments about saving the jobs of Netscape/Mozilla programmers by creating a COM interface for Gecko is ignorant and wrong.

Let me guess: I've never read anything by this guy before but I would be willing to bet that his programming/technical experience is confined almost exclusively to the Microsoft Windows platform and related technology. I would also be willing to bet that he thinks that Java is crap and .Net is God's gift to programmers even though 80% of .Net's features and ideas were ripped off from Java.

So am I close?

#7 Re: My Reaction

by FibberMcGee

Monday June 2nd, 2003 2:11 AM

Not quite, he was suspicious of .Net when it first came out -- & , but as for everything else, I think you're pretty much right.

#11 Re: My Reaction

by tono

Monday June 2nd, 2003 6:05 AM

What's wrong with having a piece of software work the way you think it should? I thought that was kind of the point of the User Interface in the first place. Also, judging by the roaring popularity of Mozilla Firebird, I think that he is not alone in his thinking. I myself am using Firebird because I like it's easily customizable UI, lack of unnecesary features and speed. Mozilla 1.4 is a great browser but it is definitely bulky and unwieldy for the average human to use.

#16 Re: My Reaction

by GAThrawn

Monday June 2nd, 2003 11:50 AM

For a corporate Windows user two much-needed features have only turned up very recently.

MF 0.6 is the first proper Mozilla release to include both NTLM authentication (which Joel mentions) and the ability to save profiles to a UNC path (or to a path that is redirected to UNC) both of these are massively important to big Windows-based companies.

So I don't think it is just the UI which has swayed Joel. I know until those two features were added we couldn't even consider rolling any Mozilla variant out to any of our few thousand users at work.

#20 Re: My Reaction

by Desmodromic

Tuesday June 3rd, 2003 1:57 AM

Bud, Java IS crap, a huge steaming pile, although I don't think that .Net is God's gift to programmers. As is usually the case with God's gifts, it was given long ago and largely not known for what it was at the time: Lisp.

That said, just because something rips off the features of something else doesn't mean that it's inferior. Welcome to the age of refinement. There are enough true features to .Net that aren't ripped off to make it relevant, and the rest that was ripped off, well, you might just as well get angry at George Lucas for ripping off the Lensmen to create Jedis (please don't argue a pile of "myth" crap) or pissed off at the creators Halo for ripping off Larry Niven's Ringworld story for the Halo concept, which in turn was ripped off from true science and Dr. Freeman Dyson, who, as a scientist, has a history of being in a fraternity of individuals that make 99% of the progress in their respective fields by ripping off the research of previous generations. Yeah, sure, it's ALL properly attributed ...


#26 Re: My Reaction

by pbreit

Tuesday June 3rd, 2003 5:00 PM

It's not about the features. It's that Mozilla finally decided to put out a browser without all the extra garbage that noone wants or needs (e.g., mail, news, compose, chat, etc.). It's the first time in 5 years that it seems like Mozilla could actually gain share.

#10 Reason not to use IE component

by ed_welch

Monday June 2nd, 2003 3:32 AM

Here is a reason why using embeding Mozilla is better than the IE component. Apparently, IE in Windows 2003 has different security settings which has has broken apps that have the IE component embedded. <a href="">Changes in Internet Explorer for Windows Server 2003</a>.

#12 404 - You're Lost!

by Malc

Monday June 2nd, 2003 8:50 AM

Your link is duff. Don't try to use HTML, just place the link normally.

#15 Re: Reason not to use IE component

by thelem

Monday June 2nd, 2003 11:29 AM

#19 Re: Reason not to use IE component

by vcs2600

Monday June 2nd, 2003 9:18 PM

Those changes only affect html that calls ActiveX APIs. You can't do that from Mozilla either.

#21 Reason not to use IE component

by ed_welch

Tuesday June 3rd, 2003 2:18 AM

"by default Lower privileges means that by default script and activex among other things will be blocked."

Seems to be javascript as well. Also, other things that you might want to do, like save a HTML page, or print preview, etc. can be blocked by security settings. If you use the IE component it assumes that the content is from an insecure source, even if the HTML it's trying to display is generated by the application. This is not an issue if you use embedded Mozilla.

#23 Re: Reason not to use IE component

by vcs2600

Tuesday June 3rd, 2003 7:50 AM

Hrm -- I thought Moz trated all HTML as 'insecure', and that's how it avoided the sort of security problems you see in IE. Anyway, most devs will probably use the ESC Trusted Sites workaround described.

#24 They left out the most interesting artical

by ed_welch

Tuesday June 3rd, 2003 9:08 AM

if you use Mozilla via the embedding API then you have full control how your app behaves regardless of any security settings on the PC. The IE component is accessed via a much simpler API (ActiveX) and it *is* effected by security settings - it's too dumb to release that it's parent app is accessing it and in this case the security settings are not appropiate. If you wrote an application with the IE component, there is a chance that now it won't run on Windows 2003. You have to get your users to change their security settings, which could be a large waste of resources if you have a large customer base.

#25 Settings made by the installer

by vcs2600

Tuesday June 3rd, 2003 11:11 AM

I can't comment on embedded Mozilla, only that many of the famous security problems in IE are done by faking the browser into thinking it's loading a trusted local page. Hopefully that's not possible in Mozilla.

However, this change isnt an end-users issue: Developers will need to change their installers to add their pages to the "ESC Trusted" list in the registry. Not to mention that W2003 is a server OS anyway.

#22 handy for CHM viewer perhaps

by Tar

Tuesday June 3rd, 2003 7:13 AM

This might interest the guys who try to implement WINE CHM (self contained Windows Help file) support with KHTML engine.