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.

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)

> 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).

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.

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.

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.

Not quite, he was suspicious of .Net when it first came out -- http://www.joelonsoftware.com/articles/fog0000000049.html & http://www.joelonsoftware.com/articles/fog0000000018.html , but as for everything else, I think you're pretty much right.

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.

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.

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 ...

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.

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="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/itcommunity/chats/trans/ie/ie0507.asp">Changes in Internet Explorer for Windows Server 2003</a>.

"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.

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.

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.

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.