Mozilla Browser Suite

by Mike Angelo

This all-new Mozilla browser-lizard dances lively, vividly and merrily on the musical-like stage of the Mozilla applications programming framework we discussed in "Part II" (http://www.linuxjournal.com/article.php?sid=5183). Additionally, as we discussed in "Part I" (http://www.linuxjournal.com/article.php?sid=5184), Mozilla is the organization and community of developers that are creating the Mozilla software. Moreover, Mozilla is the project that encompasses all this software development.

Netscape/AOL's new browser suite, Netscape 6, is based upon the Mozilla browser suite. Please see our review of the third NS6 preview release, "Netscape 6 Preview Release 3--Strike 3: Is NS 6 Out?", at http://www.linuxjournal.com/article.php?sid=5217 .

The NS6 RTM (release to manufacturers), NS 6.0, was publicly released during Fall Comdex on November 14, 2000. A review of Netscape 6.0 will be posted here soon. Stay tuned. So far, we feel that if the browser itself is what you want, then it appears you are better advised to use a recent Mozilla browser suite Mtrunk build than Netscape 6.0. (Mtrunk download links are in the Resources Section at the end of this article.

Mozilla, the Web Browser Suite

If you have any notions that Mozilla, the browser suite, is an upgrade from Netscape Communicator 4.x, please lose them. Picture Mozilla as a browser suite that is new from the ground up, but just looks and feels lots like the Netscape 4.x browser suite--particularly if you use the Classic skin.

The two main parts of the Mozilla browser suite, the browser engine (AKA Gecko) and the interactive interface system, were built a-new from the ground up. But let's look first at what you see first when you launch the Mozilla browser suite--the browser's graphical user interface (GUI) or simply the user interface (UI). (Mozilla download instructions and URLs are in the Resources Section.)

The desktop face you see when you launch the Mozilla browser is often referred to as a skin. The latest (at press time) in-development Mozilla edition is Milestone 18. It comes with three skins, Classic, Modern and Blue. The Classic skin is the default skin and you should see it the very first time you launch the Mozilla browser. Which skin is preferable is a matter of personal taste. There are lots of people that like the Microsoft Internet Explorer (IE) user interface too. So, the Mozilla people might be wise to include an IE-like skin in the Mozilla web browser suite package.

What's New Browser-Wise

Even though the Mozilla browser suite is not an upgrade "per se" from Netscape 4.x, it is used for the product comparison here. In part that is because the Mozilla browser suite has its roots, if not its code, in Netscape 4.x. Also, as explained in "Part I" of our Mozilla series, most of the Mozilla developers are Netscape people.

Moreover, many if not most of the people that might want to adopt Mozilla as their browser of choice will be current or former Netscape users. That consideration is in part why the Mozilla developers decided to have a Classic Netscape skin and to make it the default skin in Milestone 18.

There are lots of people that like the Microsoft Internet Explorer (IE) user interface too. So, the Mozilla people might be wise to include an IE-like skin in the Mozilla Web browser suite package.

Ultimately, it is the look and feel of the Mozilla browser suite, the user interface (UI), that will determine its success. Since the skin determines much of that look and feel, which skin appears the first time one cranks up the Mozilla browser is important--often love or hate are matters of first sight. However, we all have different tastes, so being able to choose immediately from among several skins is important too.

Netscape 6 PR1 ran afoul of Netscape fans simply because its one and only skin was ugly--and also because it did not have a classic Netscape look. Netscape/AOL corrected that major faux pas by making its new default modern skin much nicer looking and also including a more Classic Netscape appearing skin in NS6-PR2, PR3 and NS 6.0.

The keyword here is "user experience". The vast majority of potential users in the browser market are not going to make their browser choice because of nitty-gritty bugs in W3C (World Wide Web Consortium) standards compliance or hardly noticeable errors in page display and rendering. It is the overall look and feel, the user experience, that will be the prime influencing factor.

Milestone 18 is the most recent release of the Mozilla suite. According to the web site, "The milestones are intended to be periodic check points for progress on the project, stability of builds, porting status, and are entry points for additional mozilla (sic) contributors to provide testing and engineering help on the project." (http://mozilla.org/projects/seamonkey/.)

It has been more than a month since Milestone 18 was released. So, we base today's look at Mozilla-the-browser-suite on both Milestone 18 and the November 12, 2000 "Mtrunk" builds. If you look in the Mozilla FTP daily builds directory tree, you will see the most recent builds are either "Mtrunk" or "MN6" builds. The screen shots here are based upon the Linux Mtrunk build.

"Mtrunk" builds are post Milestone-18 Mozilla development builds. "MN6" builds are the post Netscape-6-PR3 NS6 development builds upon which NS 6.0 is based. Please see our discussion of the Mozilla development plan in "Part 1" of this series for more information about the Mozilla development tree and links to the Mozilla Development Roadmap.

Incidentally, if you would like to get involved in the Mozilla Project, please check "Get Involved in the Mozilla Project" http://www.mozilla.org/get-involved.html.

Mozilla Skins

The Classic skin of course has much the look and feel of the classic Netscape 4.x browser suite. The Blue and Modern skins depart substantially from the classic Netscape 4.x look. You can select which of these skins you want to use by clicking on Edit > Preferences > Appearance > Themes. As you highlight each skin choice, you will see a preview of that skin.

A Milestone 18 improvement in skin-switching lets you change skins on the fly. Simply click on View > Apply Theme and then select and click on Classic, Blue, or Modern. You also can set the theme preference from the Apply Theme menu. However, be careful. When you switch skins on the fly using Milestone 18, you lose all the current session information--it's as though you restarted Mozilla.

However, with the latest Mtrunk builds you can switch themes without losing browser session information--but you still lose session information in the editor (composer). The plan is to allow skin switching without losing session information from any of the browser suite modules.

Third-party Mozilla skins also are available via the Apply Theme menu. Simply click on Get New Themes for links to lots more Mozilla skins. To look at those neat third-party skins without installing Mozilla, point your browser to themes.org (Link in "Resources" Section below.)

Gecko--the All-New Browser Layout Engine

At the very heart of Mozilla is the new Gecko layout engine. Gecko lays-out the Web-like pages that are what you see when you look at Mozilla-based applications such as the Mozilla browser, composer or e-mail clients. It also lays-out the actual web pages that you view in your Mozilla-based browser or page composer, too.

The new Gecko layout engine appears to be lighter and faster than its predecessor Netscape layout engine. It's designed to be strictly W3C (World Wide Web Consortium) standards compliant. However, that could be as much of a headache as it is a blessing.

On the plus side, since the Mozilla Composer module uses the Gecko engine, Composer should write strictly W3C compliant code. Composer is the WYSIWYG (What You See Is What You Get) graphical HTML editor that comes with the Mozilla browser suite.

However, there is lots of HTML out there on the vast World Wide Web that is not strictly W3C compliant. Such noncompliance could present problems pulling in and displaying some web pages while you are surfing. If you are a web page designer and you have not been writing W3C compliant code, you might have to update your web pages if you want Gecko/Mozilla-based browsers to display your pages.

Incidentally, it's easy to check your web pages for compliance to the W3C standards. Simply point your web browser to the W3C page validator (link in the Resources section below). Then enter the URL for the web page you want the W3C validator to check. The W3C validator then will tell you if your page complies with the standards, or give you a list of errors if it does not comply.

Fortunately, Mozilla provides a quirks mode to improve layout consistency with older browsers. The quirks mode allows display of some older non-compliant code, older legal code that is no longer compliant, and/or non-compliant code. A strictly compliant Gecko engine would not lay out such code correctly, or it might not lay it out at all.

SVG Support

SVG is a new and very important open-source web graphics and animation format. Moreover, SVG support is being added to all the newest Adobe web products versions (LiveMotion, Illustrator, GoLive, etc.). It will not be long before SVG joins GIF, JPG and PNG as standard, everyday web graphics formats. Mozilla currently has optional SVG (Scalable Vector Graphic) support. However, Mozilla SVG support is in the early stages of development and is not turned on in regular Mozilla builds. If you want to compile Mozilla yourself, you can include the SVG option at compile time. Hopefully, the Mozilla developers will have full SVG support up to snuff by the time they release Mozilla 1.0.

Personal Security Manager

Privacy and security are major concerns for today's web surfers. Cookies all too often are abused by web site owners and web advertisers to obtain and compile personal information. JAVA scripts included in e-mail have been used to deploy computer virii. To address these issues, Mozilla developers have added a nifty Personal Security Manager (PSM) to their browser. You can use the PSM to set your preferences for Cookie acceptance or rejection and some other security and privacy-related options. Simply click on Tasks > Privacy and Security to open the PSM menu.

Text Display Size Control

Another neat new Mozilla browser feature is the text size control. No more guesswork to set the text display at a comfortable reading size. And no more having to step through text display sizes one increment at a time either. Simply click on View > Text Size. Then select a preset text size (text zoom) percentage from the Text Size menu or open the "other" dialog to set a custom text zoom percentage.

About Plugins--The Mozilla Approach

The Mozilla Organization does not include proprietary plugins with their product packages. If you download a Mozilla daily build or Milestone build, you are on your own to get the plugins. This method makes sense for at least two reasons. First, the Mozilla Project is an open-source project and is dedicated to the open-source philosophy--so why should they support proprietary software in even the slightest way?

Second, the Mozilla Project is not chartered to provide an end-user/consumer browser per se. Rather the Mozilla Project's goal is to provide an open-source codebase upon which other developers and software publishers can build their own end-user/consumer products. Therefore, it is up to other developers and software publishers to include plugins and other extras in their distribution packages as they see fit to so do.

Nevertheless, when the Mozilla browser detects a page that wants to display a file, such as an SWF (Flash) file, which requires a proprietary plugin, Mozilla pops up a button for downloading the absent plugin. But that popup wants to take you to Netscape/AOL's browser plugins web site. That presents two problems. First, Mozilla is supposed to be independent of Netscape/AOL. If so, then the Mozilla browser should not route you to the Netscape/AOL web site for plugins. To be independent, the Mozilla Organization should have and maintain its own plugins web site.

Second, Netscape/AOL demands that you accept cookies in order to get the plugins. Cookies are a privacy risk, and NS/AOL should not demand that users accept cookies in order to get necessary plugins for the Mozilla browser!

For some interesting information about cookies, smart downloading, and Netscape, please see "Privacy Suit Targets Netscape" by Chris Oakes at http://www.wired.com/news/technology/0,1282,37435,00.html.

As a practical matter, however, these improvements have made the Mozilla browser pretty darn good in its own right without the need for more work be suitable for end-users.

Some Bugs & Annoyances

The text displayed in some Linux Mozilla installations looks crappy. In general, it appears that how good text looks in Mozilla will depend in part on the platform. For example, in Windows, where there is a good set of scalable fonts installed, Mozilla text display looks fine.

However, in some Linux distributions where the scalable fonts either are not installed or not easily retrieved by Mozilla, you get crummy raster text. If you are using Mozilla Milestone 18 for Linux and getting crummy text display, you might need either to install the appropriate scalable fonts or make sure that Mozilla can find and use already installed scalable fonts.

Bugs and bug-fixing is an on-going and daily process with Mozilla, in large part, because Mozilla 1.0 is not a finished product at this point. Rather Mozilla 1.0 is still in development and its likely release is at least four months, or more, away.

Additionally, in Milestone 18, you still cannot use a context menu to paste a URL into the location window on the navigation bar. Nor can you use a context menu to copy a URL from the location window on the navigation bar to some other place.

That context-menu annoyance had been in the Milestone 14, 15, 16 and 17 releases too. Good news, however! The Mozilla people have fixed that annoying bug in the current Mtrunk Mozilla builds. And to the Mozilla developers' credit, many other context menu problems have been fixed since Milestone 14.

Conclusion

Mozilla is much more than meets the eye and has many faces. It's an organization and a software product now in development, Mozilla 1.0.

The software product has many faces too. Underneath its outer skin, Mozilla is a multi-platform applications programming framework or stage upon which all sorts of cross-platform applications can be built.

On its surface, it is a cross-platform browser suite that includes Mozilla Navigator, Mozilla Composer, Mozilla E-Mail, Mozilla News and ChatZilla.

When Mozilla 1.0 is released, it should be a much needed and long awaited improvement over Netscape 4.x. In the meantime, there is no need to wait for final release of Mozilla 1.0. The daily development builds and Milestone Mozilla releases are getting pretty decent and stable -- at least insofar as the browser module goes. They also are pretty much, but not fully, feature complete.

We will look at Mozilla again when Mozilla 1.0 is released, if not sooner. Meanwhile, you might as well download the latest Milestone release and/or the latest nightly build and try it now. (The latest Mtrunk builds are very usable.) It's just a matter of time until you will find a daily or Milestone Mozilla release build that you like.

Resources

Download Info--Official Mozilla Organization Downloads

Main Mozilla Download Page:http://www.mozilla.org/binaries.html

Mozilla Milestone 18 Download site:http://ftp.mozilla.org/pub/mozilla/releases/m18/

Mozilla Milestone Release Notes:http://www.mozilla.org/projects/seamonkey/release-notes/

Mozilla Nightly Builds:ftp://ftp.mozilla.org/pub/mozilla/nightly/(The "Mtrunk" builds are the Mozilla product builds and the "MN6" builds are the upcoming NS 6.0 base builds.)

Other Mozilla Downloads

Mozilla Portshttp://mozilla.org/ports/

Mozilla Organization Materials & Pages

The Mozilla Organizationhttp://www.mozilla.org

Mozilla Jargon Filehttp://mozilla.org/docs/jargon.html

Introduction to an XUL Documenthttp://mozilla.org/xpfe/xptoolkit/xulintro.html

The Mozilla Project and mozilla.org by Mitchell Baker, Chief Lizard Wranglerhttp://www.mozilla.org/editorials/mozilla-overview.html

Nglayout Project / Gecko Layout Enginehttp://www.mozilla.org/newlayout/faq.html

Transitioning from Proprietary DOMs and Markup to W3C Standardshttp://sites.netscape.net/ekrock/standards.html

W3C Compliance Validatorhttp://validator.w3.org/

The World Wide Web Consortium (W3C)http://www.w3.org/

Mozilla SkinsMozillaQuest--Building Your Own Mozilla-Based Web Browserhttp://mozillaquest.com/indexes/mozillaquest_series_index.html

Load Disqus comments