Please get rid of your geek attitude, your CS knowledge and put yourself in the position of a newbie or a marketing person. Zoom... What's a zoom feature ? For just everyone, a zoom feature is a magnifyer : everythings looks bigger AND unchanged. If you're using a 3x magnifyer, the object you're looking at is three times wider and higher in the magnifyer, period. That's what a zoom does. Always.

But not the zoom in Firefox... Let's see it with a page we all know, http://planet.mozilla.org :

FF 1:1
FF 150%
Firefox 3, 1:1 Firefox 3, 150%

Take a look at the above... The screenshot at the right is not a zoomed view of the left one because the vertical gutter at the right-hand side of the screen is still attached (at its right) to the right edge of the viewport while it should be attached to the right edge of the content area. The width of the content area (the blog article) is equal to its normal width multiplied by the zoom factor. Please note the presence of an horizontal scrollbar even if all the visible contents fits into the viewport...

While we're at it, let's see what other browsers do here :

IE7 150%
Opera9 150%
IE7, 150% Opera 9.23, 150%

Contrasted results here. Firefox is clearly on the Opera track (title of bug 4821 is "(pagezoom) – Full zooming not functional (images, objects as well as text) (page zoom like opera)") while Internet Explorer chose to go in another direction.

From a user's perspective, only IE7 zooms. The fact that a geek can analyse the web page and say "yes, that's because the page has a CSS rule making the gutter stick to the right edge of the viewport" is irrelevant here. Zoom is a UI feature, not a CSS feature. From an average user's perspective, Opera and Firefox are NOT zooming since the article area's width in zoomed view is not only not equal to the normal content area's width multiplied by the zoom factor, but it's even smaller than the original one ! Reusing the paradigm of a zoom or a magnifyer, this is not understandable. Why does Firefox zoom The New York Times correctly and not Slashdot ? The iPhone does zoom, IE7 does zoom ; Opera and Firefox don't.

I have the feeling this has to be changed and Firefox has to abandon the wrong Opera way of doing zoom. In zoomed view, positions and dimensions relative to the viewport have to consider viewport width and height that are also multiplied by the zoom factor. Opera paved the way here, implementing zoom loooong before anyone else. But what they do is not enough. Doing right a real zoom is:

  1. tremendously important for accessibility reasons
  2. very important for Mobile Firefox and could become absolutely critical

Just my two eurocents.

Update: comments allowed.