Is Safari on Windows a good thing or a bad thing?
The first thing most web developers probably thought this morning when they learned about Safari for Windows was "oh man, yet another browser to test in". And yes, for the moment, that's what it amounts to. Coincidentally, I have spent a good part of last week making the history management in Microsoft Ajax work in Safari 2.0.4. I got it to work fine (after much Apple cursing), so the first thing I tried after I downloaded Safari 3 beta was my history tests. And sure enough, it breaks in new, unexpected ways. History management is pretty much a big hack that is different on about all browsers (Firefox and Opera are the nicest ones here, with predictible, similar behaviors). And sure enough, Safari 3 brings a totally unheard of model. I didn't find a way yet to create a new entry in history from script that doesn't navigate away from the page. None of the old Safari tricks work anymore (they were probably and rightfully considered bugs and were fixed). They weren't replaced by the more rational things that work in Firefox and Opera. Even the iFrame trick that we use on IE doesn't work because Safari now crashes if you try to dynamically add a frame to the DOM. If anybody here found a way to do that, I'd love to hear about it.
But there is at least one thing to like about this new version: Apple is going to release it for MacOSX Tiger (the current version of their OS), which means that thanks to auto-update, the horrible, horrible browser that is Safari 2.0.4 is going away in the not so far future. When I say that it's a horrible browser, that's entirely from an Ajax developer's perspective. Your mileage may vary, but the latest Webkit, even with its flaws, fixes the most serious problems that plague Safari 2, and the new Safari 3 is based on that better codebase.
Another thing to like is that it seems like the behavior of the browser on Windows is very very close, if not identical, to the behavior on MacOS. That doesn't entirely remove the need to test on both platforms, but at least it promises to make it possible to automate test runs on all Windows browsers as part of your integration process. This way, you'll catch most Safari regressions earlier, and that's only goodness.
So sure, it's never fun to have yet another browser to test, and this release has its problems that hopefully will get fixed (I filed several bugs already today, and the total lack of error feedback doesn't help), and others that probably won't (why can't they respect the conventions of the host OS?) but I'm convinced that in the long term, we'll all benefit from this move from Apple. But there may be a few difficult months ahead of us as we work around new Safari 3 bugs and still have to work around old Safari 2.0.4 bugs.
What do you think?