January 24, 2009

Why is Apple Finder file management so broken?

I am now pretty ambiOStrous - that is, I go back and forth between OS X (Leopard), Win XP, and Windows 7 fluently between machines and VMs. While a little disorienting sometimes, I am finally over liking one OS over another because of familiarity. I can pretty much choose at any moment which OS to use for a particular task - especially since my files are all shared between OS's (using VMWare to share files across OS's on one computer, and Live Sync to sync files an other computers.)

It turns out that one of the most important and frequent tasks is to access files, and the interfaces for doing so differ dramatically between operating systems - and in this case, OS X is the clear loser - at least for my use. These two screenshots show the best configurations of the same folder on OS X and Win7 (XP is similar to Win7 in the essential issues, so I won't discuss that).

The biggest differences are that:
  • Win7 shows many more files at once (within a directory) - which means you can do more scanning with your eye, and less with your hands. This is a huge performance win for most searching tasks. There is no view on OS X as dense as this.
  • Win7 groups folders separately from files (OS X combines folders and files, ordering them alphabetically). Both seem like reasonable approaches theoretically. But once you actually start using it, you quickly realize that navigating among folders and selecting among files are cognitively fairly different tasks - and you typically are doing one or the other. When I am navigating folders, I want to do that. Then, when I am in the right folder, I want to find the file. This decision coupled with the first issue above means that when I navigate folders on OS X, I spend much, much, much longer scrolling through long lists of files in order to get to where I want.
  • OS X makes common tasks slow and uncommon tasks fast. The most common thing you do with a file is to open it, so there ought to be a single finger, single click way of doing this. On Windows, pressing Enter does the job. But on OS X, it requires two fingers and two clicks to press Command-O. A much less frequent task is to rename a file. Windows, very reasonable, assigns this to the out-of-the-way F2 key. OS X, bizarrely, uses Enter, the single easiest key to press for this uncommon task. WTF?!?
  • OS X forces you to move your hands between alpha and arrow keys. On Windows, you can navigate the folder hierarchy entirely with your fingers on the alpha keys (i.e., "home row" for touch typists). You press enter on a folder to open the folder and see it's contents and backspace to go up a level. On OS X, you are obligated to move your fingers from the alpha keys to (to type a folder name) to the arrow keys to enter the folder, then back to the alpha keys to type the next folder name, etc. Of course, you could avoid this on OS X by only using the arrow keys - but because of the decision to combine folders and files, that means you must press the down arrow many, many, many times to get to the folder you want before pressing the right arrow to open it. Sigh...
  • OS X has no concept of focus - only selection. This means you can not use the keyboard to easily control which files are selected. This one is so weird, it took me a while to convince myself it was real. If you have OS X, follow along at home. In Finder with a file or folder selected, hold down the shift key and press the down arrow key two times. You will now have 3 items selected. If you overshot and don't want the bottom item selected, you naturally will press Shift-Up to unselect the 3rd item you just selected. But incredibly, what happens is that the 4th item above the other 3 gets selected. This is because there is no concept in the Finder of the currently focused object. This crucial bit of state isn't kept, and so Finder can't support the most basic interaction techniques.
  • OS X doesn't remember column widths. HCI 101 teaches "remember what the user does". If it is important enough for a user to do something, then the user interface ought to remember that and use that preference reasonably in the future. But on OS X, if you resize one of the columns, that information is lost as soon as you navigate to a different folder. So if you are moving around a bunch of folders with long filenames, you have to resize the column every single one. This gets pretty darn tiring after about the fifth time.
So, I'm finding that for this, among other reasons, I am spending more and more time on the Windows side of my computer.

January 21, 2009

How Fog Creek Copilot Saved My Marriage

Imagine this scenario: The night before your wife leaves for an early morning trip to Japan, you fiddle with her laptop, completely destroying her Windows installation. (WinXP was running in VMWare Fusion on a MacBook). No problem, that is why you love VMs, so you spend a few hours and restore her VM, re-setting up Outlook, and send her on her way.

You then get a frantic email from Japan a day or so later saying that Outlook doesn't work, and for 10 days, she has to resort to web email which is exceedingly painful. The hazards of providing tech support to your spouse become abundently clear, and you hope for something simple. But after a day of (slow) emailing back and forth, and eventually some Skype calls, you are stuck, and your wife is starting to get unhappy.

Then, you remember Copilot, and cross your fingers. Copilot is Fog Creek's product that lets you remotely control a computer ($5 for 24 hours, and free on weekends). The concept is old, but Copilot packages up this feature to work well across a wide variety of computer and network scenarios with super simple setup. And this, of course, was the key since I couldn't install any software or set this up in advance.

Long story short, I got to my wife's laptop's screen, could control her VM, and figured out that somehow a network setting on her VM was screwed up. I changed the setting, and everything started working.

Now, the remote control was unreasonably slow, but Fog Creek just announced a major speedup (which I haven't tested yet). But still, there are times when there is no other solution but remote control, and Copilot is the best solution of this kind I've seen.

Anyway, thank you Fog Creek. You saved my marriage - or at least gave me some points back.

January 19, 2009

Windows 7 Taskbar - so close ...

As I said in this Technology Review article, I like the Windows 7 UI. Microsoft really polished the Vista UI and removed most of the gravel. They paid attention to so much detail, even improving the behavior of basic keyboard navigation in Windows Explorer to make it work well again (like it used to XP). So, I was surprised that they flubbed something so basic in the Taskbar, which they generally put so much love into.

Look at this picture (running without Aero, which still isn't supported on VMWare Fusion). One of the key tasks in a toolbar is to be able to determine which applications are running just by looking. It is possible to do so with the above visual representation, but it is really hard.

If you look carefully, you will notice that the 1st, 3rd, and 5th applications are currently active (Firefox, Word, and Snip). But it is so hard to tell because the visual representation of running applications is a simple rectangle around the edge of the icon. In this situation, this just doesn't work for a few reasons:
  1. The top and bottom edges of the rectangle are lost because they run up against the edges of the toolbar
  2. The left and right edges of the rectangle are exactly midway between the icon they intend to indicate, and the neighboring icon. Thus, you can't tell which icon is being highlighted.
  3. In general, rectangular outlines are a poor way to highlight objects because when a person's eye is focused on an icon, it is a "global" cognitive task to integrate lines around the edge and determine that they surround an object. Alternatively, a much simpler "local" cognitive task is to determine the background color, or if a simple visual indicator is present. (Umm, see a competing operating system to see how well a little glowing triangle under the active application works for this task).
Overall, this is actually good news. I have to look pretty closely to find stuff to criticize, and admittedly, knowing which applications are currently running is not the most important task, so this is definitely not a dealbreaker, and overall, Windows 7 looks pretty good.

But this is pretty straightforward stuff, and it should really be perfect.