--Massive post warning (yeah, I really need a real cms*)

One of the many little bits I’ve been working on writing down is why Mozilla is currently the best browser available (for Windows at least). It basically boils down to the fact that it finally works well enough as a daily browser, it’s designed for standards compliance, and what really tops it off for me (as a user, not a developer), that it’s very customizable.

Why the evangelizing? First of all, many people who have tried earlier versions, haven’t been back. Take it from someone who’s been playing with nightlies and milestones on and off since early 1999 (m4-m5ish?), things have changed enormously in the 0.8 and 0.9 series. For me, personally, I really wasn’t really at the point of switching to Mozilla as my primary browser until around 0.9.5 or so (where the combination of speed, convenience, features, and stability reached the point that it was worth it for me to make the jump – this will be different for everyone). It took me a while to get used to not automatically clicking the big ‘e’, but I’ve been able to mostly shake the habit (see the bottom for more details). In any case, if you haven’t taken a look at the milestones recently, give it a try, you might be pleasantly surprised (0.9.7 has been great, and 0.9.8 promises to be even better).

Also, most who aren’t very impressed by Mozilla (and even many people who use and like it) are unaware of all that they can do with Mozilla. I have no idea if there’s any big list of Mozilla tweaks/customizations. Eventually, if it warrants, I can make this it’s own page/section.

Some good general references are the: Netscape 6 Unofficial FAQ, and the Mozilla End-User Docs. Documentation has been a weak point for Mozilla though, especially for web developers (the newsgroups are the best resources available [the term best definitely being used in the relative, not any absolute sense here]).

In any case, on to the cool stuff. Many people aren’t aware of how easy it is to customize Mozilla or what fun ‘hidden’ preferences are available. These hidden preferences should be inserted in the user.js file.

Some of the most useful ones include: setting minimum font sizes for display, unix style auto-copy, using the middle mouse button for opening tabs, tabs in general (these options are now available in the Navigator section of the preferences), and pop-up/new window control (some of these options are also now available under the Advanced section of the preferences).

Some simple changes in the navigator preferences include changing the default URL bar search to Google (which will default to loading the search results in the sidebar as well), and the advanced options for the autocomplete under the smart browsing subsection.

Other very cool built in features are the DOM Inspector, JavaScript Debugger and Console, and all the various Managers: Cookies, Images, Passwords, and Forms. Sure the blocking would be nice if you could specify granularity some more (don’t load images from the banner directory only), but it’s definitely a step up from what was available. The user-defined styles and text resizing are great as well.

The sidebars are another very cool thing of course. It’s too bad there’s no comprehensive list. Sidebars.org has a few, and Netscape has a half-hearted My Sidebar Directory: wow, the last Tab of the Day was July 17. Not to mention that there aren’t many tools really offered at all. Here are some I like (and that always take me forever to find again when I reinstall Mozilla):

  • Browse By Number – one of Jesse‘s incredibly useful tools (he has lots, go check his stuff out)
  • Links Sidebar Panel – I can never find this thing, and it is quite possibly the most useful Panel ever. If you take a look through the code, you can also adapt it for your own uses/output. The Link Toolbar is nice as well, but since almost no-one uses the <link> tag, it’s obviously not quite as useful.
  • ZVON tabs and sidebars – These are tools per se, but they’re pretty good reference bars.
  • Ok, I’m sure there are more, but these are the big ones that I use all the time. Feel free to send me an email if there are some good ones that you like.

One last big thing are the Mozilla based projects. Many of them are at mozdev.org. I’ll be trying more of them (some look very promising), but it’s been hard going as the DOM/XUL intefaces have only recently stabilized. One awesome piece of functionality is Total Recall, a subproject of the Aphrodite interface project. Total Recall tracks your current browsing sessions for recovery of browser crashes. Hopefully the install is better now? I haven’t really needed it recently. I also don’t know how it plays with tabs (MultiZilla (the inspiration for the Mozilla tabbed browsing has some neat new features, but I’m not sure about the possible stability trade-off).

(4/15/2002 Update) Here are some neat projects and miscellenia:

Now, what’s missing from Mozilla currently? Well there are some issues first of all. v0.9.7 is unusable with MacOS X. It just crashes too often. Netscape 6.2 for OSX fares better, but it’s just damn slow (grr). The other biggies are text editing and form submission. From the random crashes on posts or logins, to the problematic textareas (try using Mozilla as an editing tool for anything with HTML entities and you will se what kind of problems you’ll have to deal with), jumpy cursors, blah blah blah. Oh, some bugs have been fixed, there are still some big problems with getSelection behavior and other whatnot that make it a real pain to develop for, but that’s a whole different issue… As far as user-end gripes… the keyboard mappings are buggy, and it’d be nice if the URLbar autocompletion were better (ie, completing domain names first before moving on to full URLs, autocompleting bookmark titles), and if there were a real full-screen/kiosk mode and frameless window opening, that’d be a great boon. That’s most of what I can think of offhand. Mozilla is at a point where I can’t really complain about much. (Yes, you still need gobs of RAM and a fast cpu to run it, but at current hardware prices (and 3 years later), I guess that isn’t as much of an issue.)

I’ve purposely been trying to avoid the developer stuff. That’s it’s own huge-ass post. Suffice to say, I’m simultaneously very happy (yay standards!) and very unhappy (boo, unstable interfaces, unimplemented sections, and crappy documentation!) with the state of Mozilla development. There are some developer docs (some DOM status and DOM docs too) now, and more people smarter than i (scott, peter-paul, among others) have been pushing and prodding and documenting, which has definitely made things much easier. I can honestly say that I’m still traumatized by my experience trying to develop some useful DHTML tools about a year and a half ago, being ignored on IRC by the #mozilla guys who knew what was actually going on, and digging through bugzilla and lxr only to repeatedly find undocumented (and in fact, as of present, still un-standardized) attributes, not to mention certain functions that were completely unimplemented.

In any case, like I said, that’s a whole ‘nother bag of chips. I’m happy with the CSS support. I’ll return to the DOM stuff after 1.0 most likely. Until then, I’ll leave the play with those who are more inclined for it.