mozillaZineheader image

Feature Status Update for Mozilla 0.9

by JAMES RUSSELL | The mozilla.org status updates always seem to revolve around particular teams, and it's hard to get an overview of where particular features are. This report is an attempt to redress that imbalance, with summaries of (hopefully) all the major changes going on at the moment. For the most part, the headings below are linked to a relevant bug in Bugzilla. I've tried to categorize them since I've added some entries -- please let me know if I miscategorized something.

Note! If you have a feature update, or a feature you think is missing, e-mail James (only features included in the Mozilla tree itself will be considered for mention). I have agreed to post new feature status updates for every point release of Mozilla (so the next ones will be for 0.9.1, 1.0, and so on), which should work out to every five weeks or so, according to the new Mozilla roadmap.

Navigator

imglib2 (a.k.a. libpr0n)

Description: A rewrite of Mozilla's image library. The old one had several architectural problems that made it easier to throw the whole thing away and start over. Among many other improvements, with imglib2 Mozilla only decodes images once and performs animated GIFs far more efficiently than it used to. The overall benefit here is a page load improvement of about 30-40 percent. Status: Included in Mozilla 0.9.

Cache rewrite

Description: The cache subsystem is being rewritten for performance reasons (the existing cache has a large performance hit for cache misses) and reliability (the current one breaks after 500 entries.) In Mozilla 0.8.1, the first level of the new cache was landed. Netscape's Gordon Sheridan says that the disk cache that landed around the time 0.8.1 was released is known as "Level 0", which Gordon said was the first cache update to land, and had "known performance issues". Gordon's descriptions of Levels 1-3 follow: "[Level 1 provides] dynamic eviction (Level 0 evicts only on shutdown) and efficient cache miss detection. Level 2 will provide a more efficient mechanism for storing the cache entry and metadata. ... Level 3 will build on Level 2 and provide a more efficient mechanism for storing the data portion of cache entries." Status: Level 1 disk cache has landed, and is included in Mozilla 0.9. IMAP is using the memory cache now. libpr0n is turned on for all builds, and uses the memory cache. We are continuing work on the Level 2 disk cache and hope to have it checked in for the 0.9.1 milestone. Says Gordon: "We are currently distinguishing new cache bugs from old cache bugs by adding '[cache]' to the status whiteboard field, so you can search bugzilla to see what's happening."

Note from MozillaZine: "There is a problem with the old cache that conflicts with the new cache.  Before you run a build with the new cache, you should manually delete the contents of your cache directories.  If you go back to an old build, you should perform the same duty again.  For more information and to track the status of this, see the bug."

View Manager 3

Description: A rewrite of the current View Manager (the third such rewrite) by Robert O'Callaghan, which should get z-ordering working in many cases where it's currently not, as well as enable transparency and translucency. Status: Included in Mozilla 0.9.

View Source window rewrite

Description: This is Doron Rosenberg's rewrite of the View Source window, which will allow viewing a page's source without having to reload the entire page from the server. It will also mean the window will have menus, etc. Status: This checkin depends on the new cache manager.

SVG

Description: SVG is an XML grammar defined by the World Wide Web Consortium (W3C) that defines a language for describing two-dimensional graphics, such as vector graphic shapes, images and text. SVG builds on existing technologies such as XML, Cascading Style Sheets (CSS), Document Object Model (DOM), JavaScript, PNG, and JPEG, which are already implemented in Mozilla. Status: Alex Fritze has posted a Windows test build of SVG here, along with some screenshots. Bradley Baetz has also gotten SVG to work on Linux. There are build instructions and a description in Alex's newsgroup post, but says "don't blame me if it erases your hard disk or sends itself to everyone in your Outlook address book!" The code is not in the trunk, nor is it included in Mozilla .9.

BiDi

Description: Mozilla's bi-directional text code is being contributed by IBM. BiDi enables support in Mozilla for languages that are written from left to right, such as Hebrew and Arabic (and some Chinese). Generally the BiDi code allows both kinds of languanges to be displayed properly on the same page. This is a pretty cool feature if you speak these languages, which a lot of people do. Status: Check out the BiDi status update page for a list of files being checked in, as well as a list of bugs. BiDi is slowly being checked in (see here and here) under the --enable-bidi compile-time flag. The holdup is that it is awaiting a lot of reviewing, because BiDi is a large set of complex changes to many areas of Mozilla.

MathML

Description: This is the W3C's markup language for mathematical content, and it has been maturing for a while now. MathML has already been turned on on the tinderbox builds. Status: MathML really requires appropriate fonts to be included with Mozilla to be useful (and to have any chance of being turned on in nightlies and releases). A company called Design Science owns some suitable fonts that they're willing to contribute. Negotiations are in progress, with a few loose ends to tie up.

Gopher

Description: Bradley Baetz has contributed gopher protocol support. It's the same level of support as Netscape 4.x,minus support for searches. Status: Included in Mozilla 0.9.

Mail/News

Mail/News performance

Description: The Mail/News team have done a lot of nice performance work on their own branch. Says stephend from the Mail/News team: "Four programmers *really* worked on this: Dave Hyatt, David Bienvenu, Scott MacGregor, and Seth Spitzer. Along the way they fixed bugs along the way that were plaguing the trunk builds." Status: Included in Mozilla 0.9.

Notes: From Asa Dotzler's build comments: "This landing resulted in fixes for a lot of bugs (too many to list here; query Bugzilla if you want details).  Also, if you're having problems with your bookmarks in the sidebar, try removing them (not unchecking them, actually removing them in the Tabs->Customize My Sidebar window), restarting, and then adding them back."

Network performance

Description: Network performance (FTP and SSL through proxy) are greatly improved. This is dougt's major checkin -- including 10,000 lines of code, 250 files and a month of work. Nice one, dougt. Status: Included in Mozilla 0.9.

Message/Compose performance

Description: The Mail/News crew is at it again. After recently landing some serious Mail/News performance, the team is now working on improving the message compose feature in Mozilla, which is currently pretty slow. Status: Waiting on Editor overhaul to land (which may be in time for 0.9.1; see "Editor overhaul" above).

Outliner

Description: is like an XUL tree widget, but better. This is part of the Mail/News perf improvements. Status: Included in Mozilla 0.9. Still a bit buggy.

LDAP autocomplete

Description: LDAP support is one of Mozilla's most requested features. The first user-level feature to show its head should be autocomplete support for Mozilla's Address Book, so that you can query an LDAP server for matches to what you type in a Mail Compose window, for example. This is Dan Mosedale's project, with leif and srilatha@netscape, Blake Ross, and people from Sun in Ireland. Status: The LDAP C SDK been turned on by default in the trunk, but nothing "user-visible" has been implemented yet. The intent is to have full implementation for autocomplete of e-mail addresses from an LDAP server by 0.9.

Editor

Editor overhaul

Description: Editor is undergoing some pretty major revisions, including a revamp of the directory structure (Bug 66345) and the migration to XPIDL (Bug 66318). Status: The migration to XPIDL has landed, but the revamp of the directory structure has only partially landed. Phase 1 of 2 is checked in, but Phase 2 isn't likely to be checked in until at least 0.9.2.

Security

Personal Security Manager (PSM) 2.0

Description: PSM 2.0 is a rewrite of the Mozilla crypto code. Mozilla.org defines PSM as follows: "Personal Security Manager (PSM) consists of a set of libraries plus a daemon that performs cryptographic operations on behalf of a client application. These operations include setting up an SSL connection, object signing and signature verification, certificate management (including issuance and revocation), and other common PKI functions." Status: Checked into the trunk and included in Mozilla 0.9.

S/MIME (Secure/Multipurpose Internet Mail Extensions)

Description:  Says the S/MIME Version 3 Message Specification specification: "S/MIME provides a consistent way to send and receive secure MIME data. Based on the popular Internet MIME standard, S/MIME provides the following cryptographic security services for electronic messaging applications: authentication, message integrity and non-repudiation of origin (using digital signatures) and privacy and data security (using encryption). Status: According to the PSM 2.0 page at Mozilla.org, "Although S/MIME is not a feature of PSM 2.0, we will be laying the groundwork for S/MIME features in later releases. Although we're not doing any S/MIME work for PIP at this time, we want to make sure that the UI and APIs don't have to change when we start to imlement S/MIME features. The UI and APIs (where applicable) will be S/MIME ready. That is, S/MIME functionality should be a super-set of PIP. The S/MIME developers will not need to change PIP when adding their own features."

Miscellaneous

XSLT

Description: XSLT is an XML language that translates one type of XML document into another, using the TransforMiiX module. It can be used with Mozilla or as a standalone translator. Status: The Mozilla XSLT module can only display XML documents, so the HTML output method is implemented with a workaround. TransforMiiX generates a XHTML document instead, which forces XSLT stylesheets to be more careful about CSS styling. Mozilla currently doesn't load external CSS stylesheets (see Bug 53030).

New string classes

Description: SCC is working on rewriting the classes Mozilla uses for strings to improve their speed. Status: Slowly happening.

Bugzilla

Description: Bugzilla 2.12 is the first major release of Bugzilla to land in awhile. Major features include:

  • More extensive email filtering
  • Fixed bug charts, with some very cool new features
  • Better duplicate tracking support (such as auto-generation of the most-frequent-bugs list)
  • A bazillion tiny features and bug fixes

Status: Bugzilla 2.12 has landed.

Platforms

As a side note, Mozilla now has green tinderboxes for (i.e. it builds on) the following platforms:

Windows, MacOS, Linux, SunOS Sparc 5.6, MacOS Carbon, OS/2, BeOS 5.0, SunOS i386 5.6, IRIX 6.5, HP-UX 10, HP-UX 11, AIX 4.3, Linux/PPC 2.2.15, BSD/OS 4.2, SunOS Sparc 4.7.

James

Got a response? TalkBack!

Home
MozillaZine and the MozillaZine Logo Copyright © 2000 Chris Nelson. All Rights Reserved.