Safari for Windows: No Thanks

I’m with many others, including Yuval, in saying that Apple porting Safari to Windows is unfortunate. Web developers have basically got 3 main browsers to deal with right now, and adding a 4th isn’t going to help. IE6 is dying, but still prevalent. IE7 isn’t great, but is obviously a force to be reckoned with. Firefox is bloated and slow, but comfy and relatively painless to develop against. Safari is outdated, buggy and less standards-compatible than IE7 or Firefox, often intentionally so (try styling a submit button).

The big claim Apple makes is page rendering performance. Firstly, I hope nobody takes Apple’s performance numbers seriously, they’ve been flat out lying about them across the board for a decade or more. Even if the stats are legit, picking a browser based on page rendering speed is silly, it’s like buying a car that goes 200mph instead of 150mph, when you live in Los Angeles and spend most of the day in slow traffic anyways.

I think Apple ported Safari to force people to support it, since it’s often sidelined due to low usage and its quirky behaviors. I’m really loathe to support a browser that offers no new features yet has a unique set of drawbacks. The solution here is for Apple to abandon the KHTML core and put it’s overstated development resources into the Gecko engine, giving them the ability to Mac-ify and brand a browser, but not impose increased costs on web developers. They should look to their own successful Airport line for how you can drive adoption, leverage/strengthen a standard, and maintain a strong brand at the same time.

Macintosh Gripes: Poor Usability

I’ve had many computers over the years, and many of those have been Apple Macintoshes. I’ve had an SE, PowerMac 7200/75, iBook, Mini, and currently a MacBook Pro. Up through about 1997 I considered myself to primarily be a Mac user, but I switched because I was using and developing for the web more and more, and Mac web browsers were slow and poor, to put it kindly. I was also developing on Microsoft Access quite a bit, and there was no Mac version (and there still isn’t). When I started at StyleFeeder I had a choice and opted for Mac because that’s what the other developers were using, and I have to admit I regret that decision.

Macintosh OSes, especially OS X, is often praised for it’s quality and usability. Back in the old days, I’d agree. System 7 was hands-down better than Windows 3.1 in pretty much every way I can think of. These days, I’d say the tables have turned and can’t think of any way that OS X is better than Windows XP. They both crash infrequently, but I’d give a slight advantage to XP as it only crashes for me once or twice per year, while the Mac has done so at least twice since August. The Mac came with some decent software for dealing with movies and making music, but I don’t do much of that stuff and if I did, I’m sure I could find similar Windows software.

My main cause for regret is the overall usability of the OS. There are three main issues here. The lack of keyboard access to commands, the antiquated menu bar and the MDI.

As a full-time developer, I’m in the power user caste. I am constantly trying to find the shortest and easiest way to get things done. Nobody with half-a-clue about usability would argue that the mouse is an efficient command tool. It’s obviously the ideal way to select things and navigate spatially, but once you’ve gotten where you need to go, you are ready to start issuing commands. On Windows, every command is accessible via the keyboard. Common operations have simple key-combinations, more obscure ones will have more complex combinations. Control-P prints, Control-S saves, and so on. For tasks that are more specialized or used rarely you will likely have to use things like Alt-F-W-F (makes a new folder in explorer) or Shift-Control-F (formats code in Eclipse). These don’t need to be easy, but they are there and every user will find themselves learning a few of them depending on what they do often.

On a mac, no such luck. Some things like printing and saving are common, but after that it’s seemingly random and left to the application developer to implement commands, and most don’t. So I have to stop what I’m doing and reach for the mouse all the time. In usability terms, this is a fairly significant hurdle and has a high cost which I find unacceptable. Apple reluctantly introduced “universal keyboard access”, but it’s really bad and clearly a begrudged afterthought that makes you use the arrow keys to navigate menus.

The second gripe is the way OS X sticks the menu/command bar at the top of the screen. The logic here is that it’s easier to target something thats at the top of the screen because the mouse won’t go past it, and also that it’s always in the same place. That makes sense in theory, but fails in practice. As mentioned above, the mouse is a last resort for issuing commands, so by the time you’ve reached for it you’ve already incurred significant expense. Spending the extra 50ms target it is a minor addition to this.

Where the fixed menu bar really fails is when you use more than one monitor, because it sticks it to the top of the primary monitor. If you’re working in the second monitor you now need to grab the mouse, and drag it all the way to the second screen, then drag it back.

Also, when working in more than one program, which most people do, you can’t select commands from an inactive program. You need to find a safe place to click to activate it, which is expensive and varies widely, then you can access the menu bar. In windows you can click on an inactive menu bar and it will open with that same click.

Thirdly, almost all Mac programs use what is called an MDI, or Multiple Document Interface. This means that all the windows for a program are linked together as opposed to a Single Document Interface (SDI). Microsoft realized that MDI was a poor design in many cases, and fixed this in XP. MDI makes sense for some things, such as dialog boxes and the many windows that Photoshop uses to show things like layers and pallettes. This does not make sense for things email and word processing. Just because I have two documents open in the same word processor doesn’t mean there is any relation between the two. I should be able to alt-tab to a specific document and keep the other one minimized. A minor annoyance related to this is that you can have programs running with no windows at all, which ties up resources and is just plain confusing.

Perhaps the worst part of these problems is that they could be built into the OS and be optional behaviors, but they aren’t. Apple’s stance has always been that they know best, and that options are confusing. Unfortunately they compound this defect with the fact that they are extremely slow to change things even when they are clearly wrong. For proof of this you need only to see that they still put one-button trackpads on their frighteningly hot, overpriced laptops.