Yesterday’s keynote had lots of good announcements, but Safari is still the one I find the most exciting. It renders fast and renders well. The user interface, though still beta, is easily the best of Apple’s recent applications. It takes a lot of thought to figure out what to take away to make it simpler, and Apple has done that. Yet Safari still has almost all the important stuff. It does bookmarks and the history right. Sure, these are standard, boring features, but Safari is way ahead of Chimera and OmniWeb here. Same with the Status Bar and dragging links around; in fact, with these two I think it’s broken new ground. Plus, it’s got pop-up blocking, and the SnapBack feature is actually useful.
Like iCab, Safari’s Find feature isn’t forgetful, and amazingly the Find Previous command’s shortcut is the Mac-standard Command-Shift-G, rather than the Command-D that many Cocoa applications use. A list of Safari keyboard shortcuts is available in an HTML file inside the application package. (You must have Safari installed in the top-level Applications folder for the link to work.)
Apple did a wonderful job of keeping Safari’s preferences lean. Almost everything important is there, although there are a few other preferences I wanted to be able to set. Fortunately, Safari has preferences beyond those exposed in its user interface. Using F-Script Anywhere:
> (NSUserDefaults standardUserDefaults) dictionaryRepresentation
I was able to get a list of Safari’s preferences. The interesting ones I found were:
WebKitHistoryAgeInDaysLimit = 7; WebKitHistoryItemLimit = 1000; WebKitMinimumFontSize = 9; WebKitCursiveFont = "Apple Chancery"; WebKitFantasyFont = Papyrus; WebKitSansSerifFont = "Lucida Grande"; WebKitSerifFont = "Times New Roman";
To set one of these preferences, you can use Terminal and the defaults command. For instance, to raise the minimum font size:
defaults write com.apple.Safari WebKitMinimumFontSize 12
Overall, I’m very happy with Safari. It’s remarkably solid and polished for a beta. Of course, there are some things I wish it did better, and which I will be suggesting to Apple:
- Text is fuzzy and doesn’t support synthetic styles. I am so very happy reading sharp Geneva text in iCab, but Safari’s speed and standards compliance are tempting.
- No drag and drop of text.
- Can’t save complete Web pages to disk. iCab gets this right, saving a Web page and its associated images as a Zip archive. This is much better than a PDF.
- Spawned windows don’t inherit the history of the window they were spawned from.
- No search shortcuts like in OmniWeb and iCab.
- No control over the number of HTTP connections. iCab nails this, and I appreciate it when dialing in with a modem.
- Can’t view the source in BBEdit.
- Doesn’t reload pages when the local source file changes.
- Tabbing in the bookmarks/history view doesn’t work.
- Missing a few important contextual menu items, for dealing with frames, images, and links.
- Odd-looking small scrollbars in the Activity window.
- Always seems to open new windows in the wrong place.
- No window arrangement commands.
For now, I’m trying Safari as my default browser. It is the only browser to tempt me away from iCab since I switched from IE. Of course, I’ll probably still need to keep IE and Netscape around for the few odd pages that only work in one of those browsers.
- Eric Albert on the Safari team and their choice of KHTML over Gecko
- John Gruber on a variety of Safari issues
- Mark Pilgrim on Safari’s rendering abilities
- Don Melton’s greeting to the KHTML team (and jwz’s translation)
- WebCore source code in Darwin
- The massive change list compared to KHTML
- Safari AppleScripts from Apple
- Dave Hyatt responding to bloggers’ comments
- OmniWeb 5 may use KHTML
- Scot Hacker on bookmarks
- Brendan Donohue on software that just works