September 25, 2006

Switchback: Horrors of a Windows Power-user Trying to Switch to Apple OS X

I have been a dedicated Windows developer and user for over 10 years. I am a nut about efficiency and ease of use (and also a professional in this area). While Windows has worked well for me, it is regularly frustrating in it's lack of "pleasingness". I wanted to experience Apple's OS X and take advantage of Apple's attention to fit and finish that has appeared more and more compelling - from their advertising and my casual observation of Mac users, not to mention users' general gushing adoration of their Apples. Plus, their new line of hardware is compelling - and now provides a safety net of being able to fall back to Windows if OS X didn't satisfy me or there were things I needed Windows for.

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.
Oh yes, the rest of Apple's software isn't that stable either. On my first use of iPhoto in OS X, it hung the entire computer when importing my photos from disk. What happened to OS X's Unix promise of keeping naughty applications from crashing the computer? Apple is supposed to "just work", but the reality is that Windows is much more stable. Dead applications do not kill the operating system, Microsoft applications almost never die in the first place these days, and except for this week on Apple hardware, I haven't seen a Windows BSOD in quite some time.

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.

September 21, 2006

Call for "User Advocate" Position

Microsoft's Windows Media Center 2005 woke me up at night by making two sounds and turning on the screen. Presumably this was a result of an auto update and reboot. But whatever the cause, having a product targeted for home and bedroom use that can ever wake the user up by its "normal" behavior is totally unacceptable.

I set the alarm on my Palm Treo 650 to wake me up for a morning appointment and was frustrated that I overslept because the alarm never went off. Despite the beautifully clear interface for setting the alarm, and the clear hardware switch that silences all sounds, I didn't see that the hardware switch had silenced the alarm. The interface that lets you set the alarm doesn't tell you that all sounds are turned off.

Adobe Reader 7.0 displays an annoying advertisement in the upper right corner of the window that changes every once in a while and thus continually distracts me, interrupting me from my reading. It turns out that you can turn this purposeful annoyance off through the “Edit->Preferences->Startup->Show Messages and automatically update” menu. This was clearly done to make it very difficult to find while giving Adobe plausable deniability if customers complained. I want to let them know that I am aware of their anti-consumer tricks.

Google's Picasa photo-management software politely saves edits to photos separately from the original photo so the original photo is not damaged. But many times I want to modify the original photo and there is no way to do this. Even if you export the edited photo back into the original directory, it gives the photo a new name rather than overwriting the original. And if you manually delete the original and replace it with the exported one, then the edits are mistakenly applied a second time to the edited photo. Surely I am not the only person that wants to crop their photos and see those crops reflected in other photo browsers? Yet there is no way to do this.

The User Advocate

All too often, users of software find themselves frustrated by the user interface of a company's product because of decisions the designers made that may not have taken into account the customer's particular use scenario. Perhaps because of how the customer integrates the product into their work flow involving other tools or perhaps because the user is not part of the product's targetted demographic, things just don't work right. And sometimes these problems occur day after day, and there is a clear solution waiting to be implemented – if only the company would realize it. The challenge is that even for loyal customers that want to help the company, there is often no way for them to give this feedback. And there is no way for users to know that there are masses of other users out there that feel the same way.

I thus call for a new "User Advocate" position within all end-user software companies, similar to "Ombudsman" or "Public Editor" in other contexts. The User Advocate's role would be to cross product lines and business units and communicate directly with the public to understand their concerns, and to communicate them within corporation.

The User Advocate position should have the following characteristics:
  • Reports directly to upper-level executive, and must not be affiliated with any business unit, product team, or organizational structure.
  • Has vocal executive support, with encouragement to all in company to be responsive to his/her requests for information.
  • Has ability to receive input directly from the public - probably through a website that could process, cluster, and tag comments. This would require technical development and some special mechanisms to limit volume. I.e., could require a human entry using a CAPTCHA (human detector), and a valid email address or mobile telephone # that limits suggestions to, say, one per month. Or make these valuable in a way that encourages a market for them, and limit to just a few per year.
  • Has a dedicated team to support above-mentioned technology and communication.
  • Has public venue to communicate to the public on corporate property (i.e., company webpage or blog).
Of course most companies already have a significant focus on usability and have dedicated tremendous resources to understanding user requests and usability problems through each group's product management team, but based on what I hear about user's feelings about just about every company's products, it is not enough. I believe that this failure is partly due to a focus on usability within the business units that create the products, and thus are somewhat blinded to real user experiences. This can come from many things, including different products interacting with each other, from real-world use environments that differ from those that are tested, and from differing expectations among product teams and users. It is for all these reasons that I advocate a new executive role focused specifically on the user. As a cross-divisional role, such a person could oversee and manage a company-wide user-focused strategy.

The primary goals of this call are to: 1) improve the products by having a direct mechanism to learn from the public and influence products outside of the normal command chain; and 2) improve public perception of the company by providing an outlet for user concerns, and proof that those concerns are being listened to.

There is a lot of frustration out there in the world of computing. My favorite current analyses of the situation comes from two current studies. The first study is of people's feelings of rage towards computers, separated by Windows and Apple. The second study, led by my colleague Ben Shneiderman, looks at user frustration, and finds that of 111 students and 50 professionals; more than 40% of the time using the computer is wasted in one way or another.

Other models
There are other models for positions similar to a user advocate in other industries. The most notable of which is the Public Editor introduced at the New York Times a few years ago who has had significant success in effecting culture change to improve the newspaper in difficult, but important ways. The public editor is employed by the NY Times, and is given a prominent place to publish his independent views in the Week in Review section about two Sundays a month. He is independent of all departments and presumably reports to executives directly. He communicates with and represents the public's interests. He has direct access to all employees. Most impressively, he writes openly about trends, policies and individual articles in the Times. His existence makes it abundantly clear to every reader that while not every action of the Times may be perfect, they are making an honest attempt to do a good a job as possible, and they are open to public comment and to change.

Many other institutions have an ombuds office (ombudsman) whose role is to provide an impartial, independent and confidential resource for employees, students, etc. This role has been in use since the 19th century when it was initially used to investigate citizens' complaints against governmental agencies.

Challenges

As with any ambitious project, there will be challenges. Some issues I foresee are:
  • There is a potential for friction between the user advocate and the individual product management teams. This position only has the potential of working if it comes with real power for the advocate and strong backing from the highest levels of the company. The goal of the user advocate is to convince the product managers of problems so they want to change their products to reduce user frustration.
  • There is likely to be a fear of publicly admitting fault. This is wrongheaded. Politicians and the public have shown over and over that people much prefer the admission of honest mistakes over hiding the obvious. Furthermore, by exposing problems that everyone knows to be true, it will put internal pressure to fix them, and this pressure is apparently needed since the problems are not getting fixed well enough without it.
  • This could be perceived as an attempt to replicate or renounce the excellent internal design and usability work done within product groups. The user advocate would not be concerned with day to day design characteristics and feature sets that were decided on by sound business analyses. Rather, the user advocate would focus on show stopping user experiences that product groups may be unaware of, or are outside the control of the product group because the experience is a result of feature interaction between multiple products or happen in real life outside the scope of internal testing.
  • There is the potential for increased legal exposure when faults are admitted. The larger point is that this is a strategy to improve products and improve public perception of the company which in the long run will reduce legal attacks. In the short term, there is no reason that the user advocate can not work with legal counsel to minimize legal exposure without abrogating his/her core responsibilities to the public.
Many companies produce incredibly sophisticated software that is wonderful in many ways - and yet fall flat in a few key ways that continuously irritate their customers. As software becomes more and more competitive, especially in the home markets, companies must focus on "delighting the user" in order to be successful in a landscape of growing competition.