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.


Tak Yeon said...

I haven't used OS X's finder heavily, however, I can see the difference between microsoft and apple clearly from the picture and your review.

According to your review, one may think that windows explorer is for expert users, while apple is suitble for beginners. I agree quite a bit, however, I'd rather focus on a background strategy under the design. (This is about the general UI style of Apple)

Apple always tries to reduce options of user's activity, probably because they know people will get used to it. The trade-offs are very clear - Apple's products gain bullet-proof mental model, internal consistency and (most of all) enough space for visual aesthetics.

But what Apple lost is just options (in other words, flexibility, productivity, proficiency)? Sometimes I feel that Apple's products train me to think less by exploiting my experiential tacit knowledge. Even I don't think that they're logically consistent - rather all the usage cases are extremely easy to learn respectively. In other words, they produce a sort of 'learned helplessness' in our minds, by reduing user's chances of failure and betterment at the same time. This is why I'm not interested in any Apple's products.

Steve Harris said...

Your OS X comments obviously are directed at the column view. Just change it to icon view and be happy, if that's what you like.

Personally there's way too many files in that view for my eyes to scan - YMMV.

lvizon said...

to add to Steve Harris..

you can sort the file listing in the Finder by Kind. it will then separate the folders from the files.

speaking of beginner stuff, if the standard mac os x shortcuts bother you, all cocoa apps have emacs key bindings enabled by default.

robert said...

Wow! Thats great. Claim to not be biased and then be completely biased. I switch between Mac and Ubuntu daily and I use Windows also. The issues you are having with finder are nothing more than getting use to the OSX workflow. Every operating system boasts a different workflow style and I truly believe that not one of them is right. Do yourself a favor and quit comparing operating systems with windows as your guide as to what is right. The only reason it feels like it is right is because that is what you are use to. Apple is not going to give you that because they don't wanna be Windows. I use finder and change names on files all the time so enter works great for me but you don't hear me complain when Windows opens crap I wanna change the name for. Honestly your so biased for Windows you don't even realize it and you won't give another operating system a chance because it isn't a Windows clone. Wake up mindless Windows slave! Wake up! Don't label yourself as unbiased ever again. You clearly are not.

Giorgio said...

What about cd&ls with bash completion? I haven't used a graphical file manager in work for years. :)

Ben Bederson said...

I appreciate some of the suggestions here, but maintain my criticisms.

Steve Harris said I could switch to Icon view. While that does show more items on the screen, it doesn't solve any of the other problems - and introduces a host of other issues.

Lvison had a hopeful suggestion to order files by "kind", which groups folders together. Unfortunately, it also groups every other filetype together, so I can't do an alphabetical search on other files. Plus, the actual folders don't show up at the top, they show up somewhere in the middle, depending on what else is in that directory.

As to Robert, I am glad he is happy with Finder. But I gave a long list of specific concerns, and you didn't actually address any of them or explain why they aren't issues. I'm pretty sure they really do result in slower usage in comparison to Windows. You may well have gotten use to them so they don't bug you. But that doesn't mean they aren't inefficient.

And Giorgio - I agree. The terminal is awesome, and I use it quite a bit too. However, I still find it less efficient for lots of things, depending on how familiar I am with the particular files, what the task is, etc.

robert said...

Ben let me be more clear. You are comparing Mac to Windows and claiming that you are unbiased. You then proceed to take a Windows Mindset into a Mac environment and are disappointed at the results. This is fundamentally wrong because Windows and Mac are completely different and strive to be different to which you pretty much said in your article. You are not over the familiarity of windows if these are issues.

A Mac user already has their fingers hovering over the command key because so many of the shortcuts surround them so cmd+0=easy and quick. They already have one hand on the mouse so two clicks=easy. examples of mac using cmd key like crazy.
copy cmd+c
paste cmd+v
cut cmd+x
hide cmd+h
find cmd+f
quit cmd+q
save cmd+s
close cmd+w
take a trip to your keyboard shortcuts in keyboard&mouse in system preferences.

A Windows user is ready to press Enter and they are ready to do that.
Also two clicks will suffice.

Place a heavy Mac user in Windows and then watch them complain that Windows doesn't work like Mac.
What I'm trying to make clear to you is that your blog is to point out where developers got it wrong. When you post this article you are saying that mac got it wrong because they didn't do it the approved windows way. Your real complaint should be that there is a lack of customization offered in the environment for key bindings and that the OS should work around what the user sets up not what the OS sets up.

If you must have OSX work just like Windows then I recommend you look into Keyboard shortcut programs that offer more functionality. I personally recommend 'Keyboard Maestro'.

As for the displaying of the files I personally use the columns as they can actively show me the path I have taken and I can switch quickly to another path and I already know what my files are named so I just start typing the first few letters and it jumps to it(which is why there is only arrow key navigation or mouse navigation). But I also like the list method which is essentially what you have in windows and you can even switch to icon view but not in the same window. Downfall for a windows user sure. Big deal for a mac user no. Should it be a customization option yeah. I recommend oddly enough 'Adobe Bridge' they have perfectly simulated a windows navigation environment but you'll most likely be upset with some of their presets as well.

If the selections are too much for you and you shift select too much then merely hold down command and unclick them. Do you not have a mouse. Is it too hard to operate? I think it is actually quicker to use the mouse+shift to select then it is to hold shift and press up a hundred times or hold up.

As far as me not talking about other concerns that could be because I agree with you on them. What do you think I'm a Mac fanboy? Hell no. I prefer linux but I don't have a choice all the time.

robert said...

Actually forgot to ask this but have you ventured into other operating system environments? KDE, Gnome, Enlightenment, XFE? Just curious as they are more geared towards those who want to customize their workflow, shortcuts, functionality. Just a little programing and voila the environment you want.

Keisar said...

I use windows and linux at work and now started using OSX at home, honestly i think the problems you wrote about (minus the selection thingy) is just because you are new to OSX, i really enjoy the navigation in Finder, execute is CMD+Down, if you want to go to the parent directory CMD+up, wanna preview something - space
view the information - CMD+I
really fun... :)
the only thing that kills me and is the search term that brought me to your post is the stupid selection thingy, just cant get use to it, but i do believe there is a solution
also another thing i miss is a keyboard shortcut for mouse right-click... but overall OSX is better than windows, just runs smother....
just hang in there and i bet you will see it :)

Geneva said...

As someone pointed out, your are bringing a Windows mindset to the Mac Finder and finding it "hard". The Windows mindset is keyboard-oriented, the Mac mindset is mouse-oriented. (Or pad-oriented, these days.)

As someone else said: Do you not have a mouse? Is it not working? Macs were born with a mouse, and have used it for everything ever since. Windows adopted it late, and it seems Windows-users even later. IT people and "gurus" like to use the keyboard "shortcuts" because it impresses regular people, but regular people just use the mouse and never learn those "shortcuts".

To answer your complaints:

1 - The Explorer & Finder windows you showed above.
You could make the Finder window look more like your Explorer window by simply enlarging it 2 more columns and choosing "Facebook" instead of "Config". The density is the same -- you are showing different things. Use the "List view", if you like it better.

One way to make the folders all come together at the top is to put a space in front of the name of each folder. But the best way is to sort all those files into folders of their own. Or you could put them all in a folder called X-Files, and it would come at the end of the list : ). You are the one that is mixing up files and folders, then wanting to deal with them separately.

2- OS X makes common tasks slow... WTF -- why are you selecting, then using cmd-O? Just double-click with the mouse, which selects AND opens it. Selecting, then pressing "Enter" is slower, so it's given the more uncommon task of renaming the file, but faster is to just mouse-click the name of an open file - it turns blue, ready to be renamed. (F-what key did you say?)

3 - Moving between... alpha & arrow keys. I have been using Macs for over 20 years, and I have NEVER used the arrow keys OR the alpha keys to navigate Finder. Just use the mouse. Scroll and click. If you need to search by name, typing the first few letters into the spotlight will usually bring the file into view, unless you have too many unorganized files, like in your view shown above. Using the arrow keys is why you have your hand on the keyboard, instead of on the mouse, where it belongs.

4 - focus... - selection. Again, you are not supposed to use the keyboard for selection. Just use the mouse. Click the first file, hold down shift key, click the last file. For non-contiginous files, hold down cmd key while clicking. Have you ever read anything in Help?

5 - ...column widths. Changing column widths only works for that folder. Use the list view, or hover the mouse over the file name. Or use shorter names.

Here is an exercise for learning to mouse: Cover the keyboard (except for cmd-, option-, or shift-) with a sheet of cardboard while you are navigating files, forcing you to use the mouse. Soon you will be zipping around like never before. Uncover the keyboard only when you are actually changing the contents of a file, like, typing. When in doubt, right-click -- it gives you menus to mouse-click on.

I have a website to help switching from Windows to PC: http://askgeneva.wetpaint.com . I see it will have to address issues like this.

Keisar said...

I didn't plan to comment but couldn't resist it...
I use shortcuts not to impress anyone but to make my work smother and faster, my hands remain on the keyboard and doesn't move between it and the mouse, i use shortcuts on windows, linux and mac.
it is true that mac is mouse-oriented but it doesn't mean you can't make it more keyboard-oriented with utilities like QuickSilver and more and the shortcuts do exist you just need to find them, after one year of working with mac I barely use the mouse (just couldn't find any shortcut for right-mouse-click...)

Giorgio said...

Oh, *requiring* a mouse to work...
Then Mac it is not for me.

the.paysonator said...
This comment has been removed by the author.
the.paysonator said...

first off: i never use the mouse for manipulating my mac. i have the extensive keyboard shortcuts memorized and use them constantly. quicksilver is brilliant, and i use it as well, but its not the reason i dont touch my mouse.
also, you dont like finder? buy xfile, which is superior in every way.

Cheers, PB. said...

I'm really interested in your thoughts on the iPhone OS mobile platform, with the impending availability of the iPad. With your thinking, and indeed basis for this blog post, being "one of the most important and frequent tasks is to access files", how do you see this new HCI paradigm panning out? Will there be a new HCI 101 teaching?
Cheers, Peter B.

Ben Bederson said...


iPad will no doubt offer a whole new set of interaction innovations and challenges (which I'll no doubt write about after I get mine on Saturday). I think that the kind of issues I raise here will be largely irrelevant for iPad though. iPad is just not targetted in any way for expert efficient use. Its focus is no doubt for ease and comfort, not efficiency. There will not be a single keyboard shortcut, and lots of things will be much slower than with a traditional computer. Still, I can't wait to replace my paper newspaper with one. And I just heard that our ICDL for iPad app was approved for Apple (our children's book project @ www.childrenslibrary.org), and I have no doubt that I'll read to my kids more on iPad than I ever did on laptops.

Jimmy said...

A mouse isn't REQUIRED, especially on the rare chance Finder happens to crash. On that kind of case, when there's basically nothing to click, you have to rely on keys to work the Terminal, change to the Finder.app and run the executable to see things again. From there you can do everything like normal again. But a mouse is not *required*.

Col said...

"also, you dont like finder? buy xfile, which is superior in every way."

Nah, just use windows instead.