Friday, May 15, 2009

Anti-UI pattern: Copying files & folders in Windows

This is another one that drives me nuts in Windows, and has been bass-ackwards now since... well, since Windows was first conceived.

DOS had options to make this work right. DOS. Venerable, ancient, command-line DOS could do this, but Windows File Manager, and later, Windows Explorer still cannot:

Copy a set of files & folders and gracefully handle problems during the copy without requiring the user to start over from the beginning, or WORSE, leaving things in a messed up half finished state when the operation fails for whatever reason (out of disk space being an obvious and common one).

WTF? I'm listening to PDC2008 video from MS that gives an overview of their "design process", that discusses the why's behind many of their decisions, and the driving principles for their UI department for Windows 7. And many of these design principles are laudable. Simplicity. Less steps to do obvious and necessary things. Less clutter and distraction. Yes, these are wonderful! But do they step back and actually look at their own OS and evaluate maybe some of the most obvious and necessary functionality with Windows (or any OS): File Management???

Apparently not, otherwise they'd have long ago discovered that their OS doesn't have the fundamental interface / tool-set to give users the ability to reliably copy or move files from one place to another with confidence that the operation will actually succeed.

Why is that? What could possibly be going through the many minds at Microsoft that leads them to ignore this fundamental requirement of a modern PC?! Windows 7 "Gestures"... while being nifty and full of novelty, don't actually represent a requirement of today's PC. Maybe they're a sales bullet point requirement from MS's marketing dept. But they are NOT a core requirement of a PC.

Copying and Moving files reliably, however, IS.

So why is it that when I use Windows vaunted Explorer, and I select a folder containing many files, does it abort the entire operation and fail to clean up after itself (roll back) or offer me the ability to remedy the failure and continue the remainder of the operation?! The latter is preferable, but the former would be acceptable, and another alternative would be to allow me to pick up & resume an operation that was partially finished (though this probably the least intuitive, and hardest to imagine a UI that would make sense to most people for).

I have had situations where 98% of my files (which can take hours to move or copy) fails at that last 2%, and the entire thing must be started over. One cannot fix the offense (say, delete a few more files on the target volume in order to free up some space for the remaining few files in the incomplete copy). One cannot choose to cleanly roll back the operation, leaving things as they were before one started. This is especially important if I was for example MOVING a few thousand files, because it then abandons the two file systems in a mixed state.

What is especially egregious about this interface is that when you go to copy things, Windows takes a small century to go through and think about the operation you're about to perform... yet, when it finally decides to begin the operation, it apparently hasn't used that thinking time to actually do any reality checks - simple things like "does the target volume have enough space for the requested operation to succeed?"

Now, mind you, that's not an especially reliable check anyway. Its a possible up-front check, which isn't the worst idea to go through with, but the reality of matter is that the target volume way well change its available space during the time that the copy or move is being performed anyway, perhaps due to another copy process, or being a shared volume in use by other clients, or for any other of a large range of reasons. So whatever check it can do up-front are only an initial reality check, and hardly any assurance of success, and shouldn't be relied upon by the copy algorithm as assurances that it doesn't have to actually handle problems on the fly.

Waaaay back in DOS one could purchase the excellent PC Tools or Symantec Tools which would give you a Text/GUI for copying, moving, and other file management operations. These competing packages both offered very smart copy, move, and error recovery. And yet today, more than a decade later, Windows has yet to provide such basic and essential maintenance support.

As long as we're on it, I might as well at least touch upon the stupidities and inadequacies of Windows Explorers security management interfaces. They're clumsy, hard to use, impossible to understand with anything less than a certificate in Windows security administration, and they do the wrong thing in most circumstances.

Say I upgraded my computer and chose to do a clean install of Windows onto a new hard drive. But I want access to all of my old files and so I keep the old hard drive around for both backup and access purposes. After completing my fresh install onto my new drive, I attach the old drive, boot to Windows, and try to access my old files. BONK! Can't read most of the folders on my old volume, due to security descriptors. Okay, so I just need to change the security to give myself access to my own files. Its something like 20-40 clicks to accomplish this, along with a long, long ass wait. I have to take ownership, add security for myself, remove any useless security from them, and these operations are exposed through a thoroughly unfriendly interface that often refuses to do what I ask it to, despite my being the Administrator on the machine to which this drive is attached. And woe is you if you actually used MS's encryption abilities on any of your files... they're goners unless you're still able to boot to the old OS in order to access them.

So why is this? Why are these things incredibly head-up-ass retarded in their convoluted, frustrating, and generally unhelpful implementation?

Microsoft is fond of thinking of itself as the company that cares about its customers, that takes pains to learn how folks use its software and to actually improve its users experiences of its products, and yet consistently they miss even the most basic usability issues with their software, be it Word, Excel, Windows, or other.

Microsoft, when can we have a marginally functional file system management tool for normal usage patterns, such as ...wait for it... copying and moving files around. I know, I know, this is a TALL order, one way up in the stratosphere of DOS level of complexity. But I would think even you guys could manage this after a full decade to think about it and do usability tests and design by committee or whatever else you needed to do to come up with a viable solution.

No comments:

Post a Comment