Safari is Apple's very own web browser. A public beta was released on the 7th January 2003 at the San Francisco MacWorld expo. It is based around the KDE's KHTML rendering engine and runs on Mac OS X 10.2 and higher, with Safari 1.2 requiring Mac OS X 10.3 or higher.

For some time rumour sites had been speculating that Apple would release its own browser. Many have grumbled about Internet Explorer. It was commonly believed that if such an "iBrowser" were to exist it would be based around Mozilla's Gecko rendering engine, like Chimera (now called Camino), especially as Chimera's lead developer David Hyatt now works for Apple. Instead Safari is based on KHTML and KJS.

Features:
Note: This is my view of the situation. I'm not really taken in by Safari's wonderful bookmarks. They're just bookmarks.

  • Lightweight: The Safari download weighs in at just 3 Mb, and the application itself is just 7 Mb. By comparison, Chimera is a tad over 21 Mb, IE is just under 20 Mb and Mozilla is about 35 Mb. For version 1.0 this has changed to about a 7 Mb download and a 14 Mb executable (not counting the WebKit framework), with subsequent versions all being more or less the same size. Most of the size increase is due to the fact that Safari is now available in 14 languages.
  • Fast: This was one of Safari's main selling points at the keynote. Steve Jobs produced benchmarks that claimed that Safari was 3 times faster than IE in a standardised HTML rendering test. Safari is also supposed to be faster at javascript. (the benchmark used were Ziff Davis' iBench). The same benchmarks also shows Safari to be faster than Netscape 7 and Chimera. This has only got better with successive versions.
  • Popup blocking: This has been around for some time in a number of browsers, including those based on Mozilla. But for the first time, it's available in the default browser on a mainstream platform. People who don't have the knowledge to grab a copy of Mozilla will have this at their fingertips. Mozilla's popup blocking is however more powerful and allows a more fine-grained control of things.
  • Snapback: A back button on steroids. It takes you back to the last page you entered the url or submitted a form for. For example if following a google search you dive deep into one of the results, snapback will take back to the Google results page.
  • Tabbed browsing: Public beta 2 brings tabbed browsing to the masses at long last! Like many I was not convinced of the usefulness of this until I actually started using it, now I'm hooked. Tabbed browsing is brilliant at reducing clutter. Instead of having 30 different browser windows (unwieldy even on my 23 inch Cinema display, I will usually have 1 or 2 for each of the sites I am reading.

Appearance:

Safari is a bundled Cocoa application. Installation is trivial. You download the disk image, open it, agree to the license agreement and it copies itself to your application folder. Following Apple's recent trend, it's a brushed metal application which people tend to love or hate (you can of course turn that off using Interface Builder). It's generally fairly slick. For example the progress bar appears as the background of the URL bar.

Now that the facts are out of the way, my own opinion.

It's Fast

Safari loads in mere second or two (take note Firefox), and pages render quickly. I was stunned the first time I tried Safari and Apple have managed to improve on this with each new version. Beyond subjective notions of speed, tabbed browsing saves me time as does the handy Google search bar (especially with the advent of the Google Calculator).

It works

When I first wrote this I commented that Safari was "pretty stable" but now (1.2.1) it is nothing short of rock solid and can handle pretty much anything you will throw at it. You can play quicktime movies in it, waste countless hours on silly flash games involving penguins, and of course node. The best thing is that it keeps getting better, the rendering errors that used to crop up occasionally are all but gone.

It's scriptable

Applescript is one of the less well known crown jewels of Mac OS X. Starting with version 1.0, you can tell Safari to run a piece of Javascript from an Applescript. This is hugely powerful and used by several of the example scripts Apple have released. For example one can write scripts that will pick all of the linked pictures from the front window and open each one in a separate tab.

It makes life easier for developers

With Safari 1.0 the WebKit framework became available to all developers. Apple applications such as Mail or Sherlock have all been updated to use this to display HTML. Recent versions of OmniWeb also leverage Safari's HTML rendering code (although OmniWeb doesn't actually use WebKit, it uses a customised version of WebCore, the framework that sits under WebKit). WebKit is available to both Carbon and Cocoa applications and makes fetching and displaying HTML in your program an absolute doddle. Carbon developers may want to note that all the Carbon functions do is allow you to create a WebView, to actually control it it is necessary to write some Cocoa (personally I have a framework written in Cocoa that makes a set of plain C APIs available).

It's open source friendly

It's nice to see that Apple hasn't just taken from the open-source community. In the year and a half that Apple has been working on Safari they have of course made many changes and optimisations to the KHTML and KJS code they started from. Apple released the source code for those changes and emailed KDE developers with a detailed changeLog on the very day Safari was released. The developers also received an email thanking them for the work they had put into KHTML and KJS and asking for their feedback.

I first wrote this shortly after the initial preview release of Safari, and finished off by saying

Overall Safari shows great promise, and I for one hope that it will mature into a great browser.
A little over a year later I can do nothing but say that Safari has lived up to my initial hopes. In this relatively short period, Safari has gone from a promising new browser to my reference point, burying Internet Explorer on the way (Microsoft have officially ceased development of the Macintosh version of IE). Hats off to Apple.

Sources: http://www.apple.com/safari
The MWSF January 2003 keynote
A few hours of my own testing
Text of the mailing list posts sent to kde developers:
http://mkb.n3.net/khtml.txt or http://lists.kde.org/?l=kfm-devel&m=104197092318639&w=2
http://lists.kde.org/?l=kfm-devel&m=104196912316326&w=2