Safari

Last major update: 24 May 2004.
Tested version: 1.2 (v125)

In 2003 Apple released Safari, a new OS X browser based on the KHTML libraries that also power Konqueror. It's a good browser, as any Konqueror clone would be.

The release of Safari took me completely by surprise. Not only has the first Konqueror-clone appeared (where hitherto cloning was the exclusive right of Mozilla), but it was Apple itself that released the browser.

If you are claiming Mac-friendliness, you must test all your pages in Safari from now on. Safari will start to eat Explorer Mac's market share somewhere in 2003.

One serious problem: it doesn't have good JavaScript error messages.

One very positive point: the Safari team pays lots of attention to the wishes and needs of web developers. Developer Dave Hyatt even runs a weblog about Safari bugs and their solutions.

Apple is the only browser vendor that makes bug reporting extremely easy. If you encounter a bug, please use the Safari -> Report Bugs to Apple functionality. I can personally assure you that these bugs are being processed, though it may take a few months.

Technical information

Can Safari deliver a good browsing experience? Yup.

Safari is better than than Explorer on Mac. DOM scripts run much faster than in Explorer (see the W3C DOM vs. innerHTML benchmark test). On the other hand, it's almost impossible to be slower than Explorer in this regard. Apple claims Safari is generally faster than all other Mac browsers including Mozilla (but then, Apple is bound to say so). In any case it isn't much slower.

So from a technical and graphical point of view Safari stands a decent chance to supplant Explorer. The real decisions will be taken on the political level, though.

Bugs

Safari 1.2 has solved all bugs I noted in 1.0. No doubt I'll find a few new ones as we continue, but at the moment its record is squeakily clean.

Excellent bug list on diveintomark. See also CodeBitch's list.

JavaScript error messages

The Safari beta offers some well hidden debug facilities. To switch them on, close Safari, open a terminal on OS X and type in:

defaults write com.apple.Safari IncludeDebugMenu 1

Now restart Safari. You'll see a new menu Debug has appeared. It offers a DOM Tree viewer, a Render tree (which specifies where the various HTML elements are positioned; useful!) a userAgent string switcher and some more useful applications.

Switch on "Log JavaScript Exceptions". Then open Console.app, in Applications > Utilities. You'll probably have to clear it, first. Then rerun the problematical script. Unfortunately the error messages are not very clear.

Politics

This bit is slightly outdated now. I wrote it when the very first Safari beta was released in January 2003.

The political consequences of this release are far more interesting than the technical ones. Why does Apple release its 'own' browser? To use it, obviously. Therefore we'll have to conclude that the days of Explorer as the default Mac browser are numbered. In turn, this means that the days of Microsoft being hand-in-glove with Apple are over. As far as I remember the original Microsoft-Apple deal was that Microsoft gave Apple a lot of money and Apple added Explorer as default browser to its new computers. Apparently this deal is over and Apple wishes to become more independent of its large competitor.

Another interesting question is why Apple hasn't opted for a Mozilla clone. There are several Mozilla clones for OS X (I don't know the details, I focus on Mozilla itself), so why not use one of these? The answer seems to be that the Konqueror engine is far smaller and significantly faster than the Mozilla engine.

In any case this release makes Konqueror's fortune soar, and deservedly so, because the development team has done an outstanding job of creating a good, modern browser from scratch in less time than the Mozilla team needed.

So the Mac side of the browser market will be shaken up in 2003. The natural next question is whether a Windows port is being prepared. This seems indeed to be the case.