So, on September 6th, I went to my local Apple store and bought a Mac Pro, once of those nice gleaming high-end desktops w/ two dual-core Intel chips, and a 30" cinema display. My frustration started with my experience at the store and has not yet ended. The problems run the gamut from availability and stability to features and design. Many of the problems are with Apple's software, but they extend to 3rd party software.
Availability
The Apple store did have three Mac Pro's in stock - but with no ability to change disk size or memory. Since I could buy those less expensively from third parties anway and I didn't want to wait for shipping, I took home the base configuration (two 2.66 GHz processors, 1 GB RAM, 250 GB disk) and a 30" display. However, I also wanted bluetooth and wifi, and it turns out they weren't available at all. Seems that they haven't shipped yet by Apple for the Mac Pro's. And the nice iSight camera I wanted for video conferencing is backordered until the end of October. So much for Apple's promise of "available today".
Plus, the 3rd party children's typing software I bought from the store didn't completely load - some of it seemed to be only for Windows. When I tried to return it to the store, they said they don't accept software returns but would give me a store credit since there was a problem with the software. After *much* complaining to the manager and a wasted hour of my time, I convinced them to give me a refund since it wasn't a matter of my changing my mind - it was a matter of them selling me a defective product. The manager never asked for any details about the product, didn't investigate it, or ever apologize for selling a product which didn't work on their machines. Nor would he commit to removing the product from the store's shelves. So much for Apple's promise of "it just works", or their store's "genius bar" helping users with their problems.
A major reason for my trying Apple now the ability to run Windows at near-native speed within the OS X environment using Parallels. I knew that Parallels had not yet released a version that worked on the Mac Pro, but that it was expected "any day", and in fact it became available at just about the time I bought the MacPro. However, it turns out that it doesn't run at all and in fact causes an immediate Kernel Panic upon installation. So that option doesn't really exist (more later). And Boot Camp, Apple's solution to running Windows separately on reboot is also available only in Beta and has its own problems.
So, when Apple says Mac Pro is shipping today, what that apparently means is that part of the system is shipping today and you can use it if you stick to certain basic features.
Features & Stability
My intention was live in OS X at home, and Windows XP at work and on my laptop. Through the magic of file synchronization with FolderShare which does run reliably on Windows and Mac, I could keep my files in sync across machines and keep all my personal information (email, calendar, contacts, tasks and notes) on my university's exchange server. As long as common file formats were readily usable on OS X and I had good exchange server access, I figured I'd be home free.
Well, common file formats are generally usable on OS X. Acrobat reading works well and fast. Apple Pages reads Word documents, Apple KeyNote reads PowerPoint documents - and well, there's always Microsoft Excel for Apple to read Excel documents.
But it wasn't that easy. My first set of problems came from an inability to really work with an Exchange server. There were several potential solutions, but it turns out that none of them actually works well. First I tried using Apple's products. Apple mail was the one success story syncing my email. However, that was not very useful without my contacts, and calendar, notes and tasks are also important. Apple's iCal and Address Book do not have built-in exchange synchronization. Fortunately, iSync is supposed to sync contacts and calendar. However, despite many attempts, I was never able to actually get it to work.
I then turned to a third-party solution, snerdware - which did sucessfully sync iCal and my exchange server. However, their product for contacts only syncs the exchange Global address book, and not personal contacts. Finally, I gave up on a native Apple solution and tried Microsoft Entourage - Microsoft's equivalent of Outlook. This connected right up to my exchange server and nicely synced email, contacts and calendar. However, it turns out that Entourage doesn't sync notes or tasks - which I found only upon significant web search. So, with no complete exchange solution available, I turned to running Windows virtually.
I started with Parallels which had just released an update for Mac Pro. I installed it and to my delight, it initially worked just fine. I had started to set up my virtual Windows machine when iTunes 7 became available from Apple. So I installed it using Apple's Software Update – which immediately resulted in a Kernel Panic and a pretty gray shade that came over my display (Apple's equivalent to Microsoft's Blue Screen of Death - BSOD). It turns out that I now got BSOD on boot and was totally hosed. A 30 minute call to Apple taught me how to boot in Safe Mode, clean out my "startupitems" folder - which removed Parallels, and I could now get OS X running again. However, whenever I tried installing Parallels, I got a BSOD on installation!
Searching Parallel's website, I found no indication whatsoever of any problems, so I submitted a tech support request by email. They offer no phone support, and when I tried calling their offices they refused tech support by email. Their website promised 3 day response (however, after a week, I still have not gotten a response). Searching Google for problems, I discovered that Parallels runs an open discussion forum - which it neglects to link to from its website. Here I discovered literally thousands of posts of miserable users that get BSOD’s on a variety of hardware in a variety of situations. There is one unlucky Parallels employee that responds every few days always promising that their engineers are working 24 hours a day, and that a solution is imminent. In fact, his latest post says that the current version is stable on all platforms except Mac Pro's with more than 2GB of RAM (at the time I had these problems, I had only 1 GB).
So, giving up on Parallels, I tried Apple's Bootcamp to boot Windows and skip OS X. This had the most promise as I had not heard of significant problems, the software has been around for a while, and Apple was up to version 1.1.1 (beta). Bootcamp consists of 2 components: 1) some software that runs on OS X that lets you configure your disks and repartition them for Windows and set the default boot disk; and 2) Windows drivers that get installed within Windows XP to emulate the BIOS and to work with Apple hardware. I had a few BSOD's at various points of initial setup which scared the bejeebers out of me, but happily, they seem to have gone away and Windows is running with reasonable stability. This seems like a tenable solution, however, I still have several significant problems:
- Disk access seems incredibly slow, but in a weird way. If I am only doing one thing, everything is fine. However, when I attempt to do two disk-intensive tasks, the system thrashes and grinds to a halt. Task Manager shows all 4 CPUs active at about the same rate, so I am highly suspicious that the OS is not multi-tasking properly.
- Device Manager still shows a few unrecognized hardware devices. I don't even know what the devices are and thus can't even attempt to get the drivers for them.
- OS X can see and read the Windows disks just fine, so that gives me nice OS X access to all my Windows files - but I can not modify those disks. The entire Windows disks are read-only, so I don't really have the option of using OS X for my regular work based on my Windows files.
- Despite bootcamp's promise, my borrowed iSight camera is not recognized by Windows.
- Despite Apple's Mighty Mouse theoretical two-button design (it looks like one button, but the right half can be configured as a second button), the hardware is flaky. Most of the time, the right side of the mouse generates a left button, but sometimes it generates a right button. I guess I'll have to go buy an actual two-button mouse.
Similarly, even printing doesn't work. I have an HP OfficeJet d145, a standard multi-function inkjet printer. Setup with OS X was fine, but unfortunately, printing is not reliable. For some documents, it works great, and for some documents, the print queue just stops and I have to restart it. It then stops again, and I can not get it to successfully print that job. There is no error message or explanation of why it stops. It just doesn't work. The only solution at this point is to uninstall and reinstall the printer drivers. It just doesn't work.
Design
Ok, you might think my problems are all because I'm trying to live a Windows life in an Apple world, and that is neither the point of Apple's life nor it's responsibility. First off, I disagree with those objections. Apple regularly advertises how compatible it is with the Windows world, and heavily recruits the concept of switching by saying how easy it is to work with your stuff. And I'm using Apple hardware and software to run Windows with bootcamp. All of this stuff *is* Apple's responsibility, and it doesn't work.
But it turns out that even when I try to live an Apple life, that is a pretty lousy experience too. How could that be, you say? The apparent point of Apple's existence is to create a beautiful and polished user experience. Well, it turns out that what Apple does is beautiful and polished *graphic design*. Actually interacting with the system is something else.
The essential problem is that using OS X is slow, slow, slow. It seems as if Apple has never heard of Fitts' Law - the essential human performance concept that it takes longer to move the mouse farther, or to click on small things. There is a related human perfomance issue which is that it takes a huge amount of time to switch between mouse and keyboard (roughly 2 seconds). This may not seem like much, but it is crucial - not only in terms of time, but also in terms of human concentration. (Important digression: to understand why these kinds of small interruptions are important, read my essays about "Flow" and the importance of supporting human concentation).
So, why is OS X slow? Because it is fundamentally designed for mouse access to all functions. Yes, there is keyboard access for much of the interface, but appears as somewhat of an afterthought. Not everything is keyboard accessible, and the keyboard shortcuts that do exist are often inefficient and inconsistent. It wouldn’t be obvious that there was a problem if I wasn’t familiar with how consistently and efficiently Windows supports keyboard access to just about every function in the operating system. For example, in the Finder file browser, there is a special keyboard shortcut to switch between views. In windows, you would either use the menu shortcuts which are mnemonic and easy to remember (i.e., Alt-V D for View->Details), or use the standard UI keyboard navigation using tab, control, and page up/dn to access any part of the interface.
The single biggest issue is how hard it is to explore menus through the keyboard. While there are keyboard shortcuts for common function, it takes a long time to learn those shortcuts, and many people never do. Instead, on Windows, people commonly use the keyboard to navigate the pull-down menu by pressing the Alt key, and then selecting the first letter of the menu item (or faster yet, pressing the Alt key and the first letter of the menu item at the same time). Because it is efficient, and easy to explore, people often start doing things like pressing Alt-F, A for File->Save As without even realizing they are doing it.
With Apple on the other hand, a few seemingly subtle design differences make keyboard menu access so slow as to hardly provide any advantage over a mouse. To access the menu, you press Control-F2. Now, unless you are an orangutan, there is no way that a touch typist can press this key combination with their hands in their natural position. Instead, it requires a significant posture change which is nearly as time-consuming and disruptive as moving your hands to a mouse. (Yes, I have swapped Caps Lock for Control which makes it easier, but still not really touch-typable.)
The other major slow-down issue is that there is a single menu on the top of the screen at all times. I know this approach has been debated for years (decades, really), and there is some good justification for it. I always viewed it as a trade-off between the Windows approach of having a menu at the top of each window rather than a clear negative. However, actually having used it for a couple of weeks, and doing so on a 30" display, I am entirely convinced that it is much slower than the Windows approach. Because of Apple's mouse-based design, you are obligated to use the mouse to access the menu more than you ever do on Windows. And when you do on a big screen, the fact that the menu is so far from many of the windows means that you have to move the mouse several times to even get to the menu (and yes, I have configured the mouse to move as fast as Apple will let it). And what if I had a two-monitor setup - yikes! Apple defenders say that the single-menu design is fast because since it is against the edge of the screen, you don't have to move the mouse carefully to target those small little text labels. This argument may have made some sense back in the days of small screens. But now moving the mouse pointer two and half feet relegates that argument to the dustbin of history.
And of course there are numerous other design details that slow users down as well. For example, while there is keyboard support for navigating the folder hierarchy in Finder, if you are in the middle of a long list of children and you want to move up to the parent folder, you are obligated to press the up arrow key many times until you reach the parent. On Windows, you just press the left key. Why Apple didn't do this is anybody's guess. Yes, the multi-column view supports the left arrow, but why not the other views?
I think the real problem is Apple's narrow view of their users as novice home users that don't care about compatibility with the big player. They can ignore the reality of the world, but that won't serve their user's day-to-day needs. Worse, they seem to disregard their user's time - offering a design that continually gets in between a user's thoughts and the ability to execute them on their computer. Apple has thrived in their role as the underdog. But I'm afraid with the attitude they have taken in the development of their products, they are destined to never get past it.
Postscript - September 25, 2006
Potential Mac Pro buyers will be happy to know that a combination of Apple's firmware update and a new version of Parallels made Parallels work. However, the only way I could get past the BSOD problems was to format the Apple disk and start over. A complete install of the OS did not fix the problems. And because of the three week delay, I'm now committed to a Bootcamp installation which means I don't see OS X unless I reboot. Maybe I'll try again when Leopard comes out...
So what have I learned from this experience? Is Apple really much worse than Windows? Absolutely not. I am aware of many of the benefits of the Apple approach which is why I wanted to try it. And I agree that many of my problems come from: 1) trying to keep a windows life on a mac; and 2) using hardware that is new. Apple does do many things extremely well, but they communicate that pretty clearly. My aim here is to point out that Apple life isn't all roses. Technology remains hard and that there is almost always a set of trade-offs associated with the choice of any platform. I would recommend an Apple for many users, and in fact I plan on buying one for my 7 year old daughter for her birthday (sshhhhh - don't tell). But I would not recommend one for someone that also has to continue working in a Windows-oriented environment, or for someone that is a real Windows expert and an efficiency nut, like me.