On Safari

It’s funny – an Apple-branded web browser is the last thing I thought I wanted out of Expo, but I’m already head over heels for Safari. Earlier this morning I was wondering why they would have chosen the lesser-known KHTML rendering engine over Gecko, but after feeling its speed and reading that the codebase is less than 1/10th the size of Gecko’s, I get it.

Safari’s bookmarks implementation is a thing of beauty. I’ve wondered since the mid-90s why no one ever seemed to get bookmark management right, but think Apple has finally cracked the egg. The one aspect of bookmark management I miss from BeOS is the ability to add keywords to bookmarks and then find similar bookmarks via live keyword queries. But if you make sure you give good descriptive titles to your bookmarks, the existing Find function works just fine.

They copied all the hotkeys over from Explorer, so everything works as expected. Even the almighty Cmd-click to open a link in a new window.

I’m always surprised to see how many people gripe about the brushed aluminum look. Personally, I’m sick to death of looking at white stripes and would be happy if every app on my system went brushed aluminum. However, it does seem like Apple has violated their own guideline to use brushed aluminum for apps that replace real-world devices. What device does the browser replace?

Music: Sham 69 :: If the kids are united

18 Replies to “On Safari”

  1. “I was wondering why they would have chosen the lesser-known KHTML rendering engine over Gecko”

    One reason I heard was that one year ago, when the Safari project started, Gecko simply wasn’t good enough yet. What I still find amazing is that Apple did the smart thing and used a free rendering engine instead of wasting time by writing their own.

    And as somebody on Slashdot commented: between AOL/Mozilla and Mac/Safari, web authors will have less excuse to build IE-only sites.

    “What device does the browser replace?”

    Maybe it’s the other way around, and Apple is trying to plant the seeds for how future browser devices are going to look like :-)

  2. I dunno, Sean – tabbed browsing is pretty awesome, but does it really outweigh the efficiency and speed, the polish, the clean-ness? Not for me. Choosing Safari over Chimera was a no-brainer. Good to hear you’re sticking with the Mac ;)

    Anway, seems like the chorus for tabs is universal…

  3. I dunno, Sean – tabbed browsing is pretty awesome, but does it really outweigh the efficiency and speed, the polish, the clean-ness? Not for me. Choosing Safari over Chimera was a no-brainer.

    Oh, I don’t see Safari as any better in any of those departments… It’s a hair faster, but nothing serious… And Gecko is more standards compliant than KHTML…

    Good to hear you’re sticking with the Mac ;)

    Oh, that decision hasn’t been made yet… I still use my PC regularly, mostly because I still can’t do everything I need to on the Mac.

    I think the Mac will stick around at least for DV editing though…

  4. I often wondered what NetPositive would have been like if Be had survived and had resources to commit to it. I just realized, just now, that that is what Safari reminds me of. Net Positive, except that everything I’ve thrown at it thus far works. Apple is making their embrace with open source work for them, and I think that’s a great thing.

    And for the record, I HATE the gecko derived browsers. They’re agonizingly slow, enormous, and not much better at anything. I was actually using Opera before I switched to Safari, and yeah, tabbed interface would be nice. I’m wondering in general if Apple’s not pushing a “See what kind of cool stuff you can do with pure cocoa programming?” sort of mentality between this and their X11 server, which also seems pretty slick.

    Now the bad news. Safari desperately desperately needs decent cookie management and site filtration, the tools it’s got for that are, frankly, as primitive as Net+s were.

    So Scot, got any proxy server software for OSX that you recommend?

    -Jim

  5. Did someone mentioned proxy software?

    I’m using Privoxy (privoxy.com). Not 100% foolproof setup and admin (by Mac standards) but very good at protecting your privacy and cutting out the clutter when browsing. It’s ideal if you switch between browsers with varying capabilities.

    Two minor flaws:
    1) currently disrupts iDisk (and other WebDAV services) so add http://www.mac.com to your proxy ignore list in Prefences. Should be fixed in version 3.1 I’m told.

    2) the default banner replacement is a mid-grey/transparent checkerboard gif. I recommend you replace it with a black/white checkerboard png and make it roughly 90% transparant for a more Aqua-like experience.

    What it really needs is a simple Cocoa GUI. Volunteers?

  6. “And for the record, I HATE the gecko derived browsers. They’re agonizingly slow, enormous, and not much better at anything.”

    Compared to what? While Mozilla may sometimes slower on the initial load on older machines, once browsing its as fast and many times faster than them all from my experience. Maybe you just have an old computer or something? Beacause on any recent one waiting a few seconds isn’t that big a deal. Later lauches of course come up instantly. As far as them being better there are sooo many features, addons, and things you can customize with Mozilla which frankly makes other browsers Obsolete.

    I also tried Safari and compared to Chimera its severely lacking in the ability to customize it, has a horrible dpi setting, and of course doesn’t have tabbed browsing. This is all for the sake of some sites where it may load a tiny bit faster. Not a very good trade if you ask me. Needless to say if they had put half the effort into Gecko and/or Chimera that they did fixing the KHTML engine they’d be a lot better off right now. Gecko has better standards support, more industry support, a much much bigger userbase, and of course the momentum behind it. Anyway I look at this its a huge mistake by Apple. Oh…but the file size is smaller*rolls eyes*. Is anyone here going to really try and tell me that if Apple had picked Gecko and then ran with Chimera when it came it that it wouldn’t be 10 times the browser that Safari is now?

    The one and only benefit to this is that although lacking as am html engine, KHTML is based on standards, so in theory that should benefit everyone.
    BTW in case anyone is wondering I’ve been using KDE since its Alpha days so I’m pretty darn familiar with KHTML. If it were 1999 I’d say Gecko was overkill and Konq is all you need, but times change and Gecko is just a better engine for the job.

  7. And Gecko is more standards compliant than KHTML…
    Standards compliance is, and has remaind, the primary focus of the Konqueror development team. Can anyone point to a test suite that has found Mozilla to come out ahead in this area?

  8. Try running both Safari and Chimera through Eric Meyer’s CSS2 test suite:

    http://www.meyerweb.com/eric/css/tests/css2/index.html

    I’ve just done a few pages starting at the top, but after a half-dozen there are already 2 ones Safari gets wrong and Chimera doesn’t.

    http://www.meyerweb.com/eric/css/tests/css2/sec05-02-01.htm
    http://www.meyerweb.com/eric/css/tests/css2/sec05-06.htm

    I also noticed Safari breaks on my photo book viewer, a Javascript/DOM web app I wrote that’s proven to be a serious browser-killer despite being, to the best of my knowledge, compliant with the W3C DOM spec:

    http://www.ranea.org/photobook/

    In IE 5+ and Mozilla, this works (provided you haven’t disabled Javascript); it doesn’t in Safari.

  9. let’s not kid ourselves folks – KHTML doesn’t even fully support CSS1 (see Dave Hyatt’s blog – Safari dev..) … this is a well known (among web devs) pitfall of KHTML, the CSS support is not up to even IE 5 (pc even) standards. Which is kinda sad.

    That said…

    The bookmark management is awesome. It took me 2 hours to completely reorganize and clean up my 8 year old bookmark collection… something I have given up on in every other browser due to cumbersome interfaces.

    It does remind me A LOT of net positive.

    The problem with brushed metal is this:
    constiency and performance.

    here’s how it works -> aqua loads up the GUI. then a brushed app loads another GUI ontop of that. hmmm now we know why resizing iPhoto brings computers to a crawl.

    If the aqua GUI became all brushed, fine by me. do not confuse the user with two different GUIs (which actually act quite different… oh and add the Classic/Plantium GUI in the mix for older Mac users… hmmm confusion, most likely.)

    don’t think we ever see tabs in Safari – it goes against the aqua human interface guidelines. then again so does the metal interface. heh.

    OH and it is beta…

  10. I believe you, but I sure don’t feel a performance diff with aluminum apps. When you say they “act quite different” what exactly do you mean? What’s different besides the appearance?

  11. anon and Watts – More recent updates to Hyatt’s blog state that they’ve already fixed Safari failing on some CSS tests. Flash framerates are already way up. And they already have it working at 96dpi.

    Woot!

  12. Cool. I figure Apple has more resources and probably more motivation to get rendering glitches fixed quickly than the actual KHTML developers do.

    I haven’t found many sites *other* than the test suites where its CSS implementation severely breaks, even though I’ve heard they’re out there. I should be fair and note that OmniWeb and iCab break on fairly simple CSS I’ve done that Safari gets right. (And last I checked, Opera got the CSS wrong too, despite all of Opera’s strutting about their amazing compliance in that regard.)

  13. DPI is not a big deal.

    Can people really get that excited over bookmark management? Jeepers!

    KHTML is a great call because Moz is such a bloat. The enthusiastics response to Chimera shows how catastrphic Mozilla’s decsions was to develop anything beyond a browser.

    Brushed metal is a better call not only because it doesn’t look like crapy (Aqua stripes and garrish icons), it’s functionally better because of the increase surface to drag windows. The whole “inconsistency” complaint is a joke. Practically every Apple app has a different cmd-equivalent for Preferences and noone complains.

    And for crying out loud, tabs offer very minor benefits over the opening of windows. Don’t forget that 95% of web surfers get along just fine without them.

  14. What don’t I like about gecko/moz? Well, the fact that it is a couple dozen megabytes is a good place to start. IMHO there is no earthly reason a browser should ever be that large. And yes, my machine is not a speed demon – I’ve got a g3/350 with a g4/450 CPU upgrade in it, so I’m on a 100mhz bus with no AGP, so no QE either. So yeah, Moz beats on my CPU. It’s slow to load, slow as crap to render, and has been so glopped up with unecessary features as to be practically unusable. This, IMHO, is typical of large, popular opensource projects.

    As for KHTML, I’d only used it a little before Safari came out, and I don’t recall being that impressed with it, but obviously the engine has been improved a lot between my old Linux distribution and now.

    Make no mistake, Safari’s not perfect. It does gag on some CSS stuff that I’ve tried (I hit the test site and sent in about a dozen bug reports). Its cookie management is primitive, and its filtration is nonexistant except for popup suppression. If I could encourage Apple to look at Omniweb’s cookie management and Opera’s filtration for the final version, I would. Scott, they listen to you, right? :)

  15. Um, yeah, sure Apple listens to me… that’s why they made darn sure we had a complete FileTypes preferences panel in Jaguar… not. Nahp, I’m just another alpha geek to them, small fish in a big pond. But they sure are listening to users it seems, with the feedback option on every iApp page, and the bug icon built right into the browser. I have the very strong sense they care a lot about finding out who their real users are and what they want.

Leave a Reply

Your email address will not be published. Required fields are marked *