Firefox - Third time isn't always the charm

The first release candidate of Firefox 3 was released recently, and I don't like it. It's not that it's worse than version 2, but rather that it still sucks compared to Safari. Somewhere along the line of early versions of Firefox 3, or more likely the underlying Gecko rendering engine, they introduced a new bug in regards to multipart/x-mixed-replace.

Multipart/x-mixed-replace is a special MIME type that denotes that content can be sent multiple times, replacing the previous one each time, until the stream ends. It's used mostly for images, and the most common usage of it is webcam feeds, where new frames are sent repeatedly in realtime. In fact, you've probably seen this used by Axis network cameras.

Normally, when a x-mixed-replace stream ends, the last piece of content is considered final, and stays. Not in Firefox 3, however. For some reason, it instead starts looping the images (with artifacts) quickly, over and over in an animation, starting over from the first one. The reason this hasn't been noticed is probably due to the fact that webcam feeds are continuous, and never get a final image. Thus, the bug is never exposed in most cases.

So why do I care about this? Well, Papaya often uses x-mixed-replace to display icons. It first serves the 'regular' icon, which is then later replaced by a Quick Look thumbnail if available. This way, if the thumbnail takes time to generate, which is often the case for movies, the user at least gets a generic movie icon while the nicer once loads.

I've submitted a bug to Mozilla, but haven't got any feedback whatsoever yet. I have no hope that it'll get any attention before the final version, so I'll have to disable this feature specifically for Firefox 3 user agents. Sigh.


Talking about Firefox... it just annoys me. Version 3 is supposed to be more Mac-like, and I guess it is, but it just doesn't go all the way. It's still strikingly obvious that it's merely plastic surgery on the same crappy cross-platform application. Let me mention a few points where it shows it's fake (and poor in general)...

Contextual menus; they both look and feel wrong. Leopard's rounded corners aren't there, menus don't fade away, and the background isn't blurred. I'm not saying these are important features per se, just that it's a clear indication that Firefox's menus are still fake. More importantly, the behavior is wrong. Normally, you can hold down right mouse button down (long enough) and release it again to make the menu disappear. In Firefox, it stays up. I understand things like these can be a pain to get exactly right, but if they'd just use native menus, they wouldn't even have to care.

All windows have toolbar buttons. Yes, even ones that don't have toolbars. In those cases, the button doesn't do anything. You can't drag windows by the empty space in their toolbars. Try customizing the toolbar — the sheet doesn't animate. Then try resizing the parent window. Aah, the "sheet" isn't even kept centered. Many controls are non-standard. Pop-up menus look odd, tabs still use the pre-Panther style and focus rings are rendered incorrectly. And what's with those help buttons?

I could go on. Firefox has a long way to go. Unfortunately, I think they'll just keep patching up their useless homemade UI to make it look native. I'll just stick with Safari, which looks and behaves like any other Mac app and supports awesome HTML/CSS features. The downside would be the lack of a proper plug-in architecture, but I'm easily willing to make that sacrifice.

Tomas Franzén, 2008-05-17