Windows 8: Improving our file management basics: copy, move, rename, and delete
blogs.msdn.com
blogs.msdn.com
I cannot tell from the video whether Windows 8 does this or not.
That's the big point. The most serious usability flaw is when doing a large copy, and every single file with a permissions issue requires user intervention to make the copy continue. Keep a running list of problem files, and let me peruse them at my leisure - keep copying the rest.
Windows 7 does it, so I imagine it wouldn't regress in Windows 8.
- The examples seem dated, like people copying pictures over USB drives in the era of facebook and dropbox. He runs the example on a netbook, which I guess means after his sister leaves he needs to get another USB drive and copy those files again to his PC.
- Why did he copy files, edit them, copy them back and then need to figure out what version he wanted to use? Now he's got two copies of the same filename in different locations and they may get out of sync.
- Why in the case of conflict, does a number have to be added to the file if you want to keep both versions? Why not have some type of versioning and conflict resolution built into the filesystem? Look at a user's computer, directories are littered with filenames like "copy of Myfile (2) 2011_may.doc".
- Where is the touch interface? Those buttons are small and all the dialogs assume a mouse.
I do like the blog and I like that they introduce different members of the Windows8 team, but they need to focus on more compelling features.
(Although it still has woeful conflict resolution http://cl.ly/9Zqg)
Rsync under Cygwin was always too slow. Any sort of significant I/O is slow under Cygwin.
I've learnt the hard way that you dont use rsync in cygwin for anything remotely crucial ;)
(also, has that website been updated since 1995? 'Order by fax' - WTF? 'Now also with Paypal!' - Uh?)
Try xplorer2. I've been a very happy user for about a decade.
Pause button is kinda cool though.
- at the end of the day, that's what most of end users are going to notice.
I have high doubts about the pause button too, will it freeze the window to 'Not Responding' or it will just pause the operation in progress...
And of course pausing it is not going to freeze the window to "Not Responding". The people working at Microsoft are actually really smart
I don't think you tried hard enough
And I'm talking about a Core 2 Duo machine with 4 Gigs of ram.
You can minimise the Windows 8 dialog.
On Windows 8, the dialog shows both where the files are coming from and where they're going to.
By default, Windows hides most information in favour of a percentage. Click "More details" and Windows shows you much more information than GNOME does - Windows has emphasis on power user information.
The Windows dialog's layout is much better. The GNOME dialog's buttons stick out. GNOME's dialogs are really ugly and this is no exception.
It really shows the difference in polish between the two products.
My criticisms of Windows' dialog is that 'flat buttons' are aesthetically appealing but not particularly user-friendly, and perhaps Windows should show filesize and progress by default.
IIRC, if you "closed" the gnome one, it went to the systray, which is a UI problem all its own.
Also, you can pause the win8 operations, not just cancel them.
As for ugliness, this seems to be a shot of Hardy, give or take, so 2008-ish. I would say that the Ambiance theme that debuted to much controversy in 2010 is improved over the screenshot. (And neither of these are Gnome's default.)
Even when I want to delete something in Win7, I get the message "Discovering items...". In that time, my *nix box has already deleted it and moved onto the next task.
I wish they wouldn't spend so many expensive developer hours to make an efficient pausing mechanism on your copy and move operations when instead they could focus on why the copy and move operations are taking so long in the first place.
The "use pause to prioritise the thing I'm not interacting with" part is egregious at best. Let me drag/drop the activities to prioritise them: "I want THAT one to complete faster, so I move it to the top" seems much more pertinent UX.
Besides, having ten parallel copies is a sure performance killer on a single disk. Certainly having a queue with a bunch of worker slots per (read+write) device could be a nice design. A new copy task from disk A to disk B could thus be delayed because there are already a network transfer to disk A and a copy from USB key to disk A in progress. Number of per disk workers could be dynamically adjusted according to IO wait times on a given disk, so that a non-copy task (like starting an application or opening a file) would get priority. Raising/lowering priorities would automatically start/pause transfers according to available workers.
1) Other files might get deleted in the process freeing more space.
2) Other files might get copied to the same volume as well claiming space.
3) There may be transparent compression involved meaning that you could copy more data then it seems or that the original data would claim more space in the target volume.
Yes I could look it up beforehand, but why make me take three actions (look for free space on device, look for total space required, order to copy) when one would be sufficient? The computer should do the tedious tasks and let me decide.
What I would like is that copies seem instant and transparent. Actually, I wouldn't like to think of copying at all. I "copy" (or merely just order) a file to (appear in) some place and it immediately becomes accessible from there. Or I decide to move it back a few seconds later and I can do that.
In reality the computer should manage the low-level copying internally and consider it more like syncing.
I shouldn't have to care about how long something takes or how the kernel will queue the actual copy operations, or whether it copies anything at all but just creates a copy-on-write mapping to the same data. I also shouldn't have to wait for copying: I should be able to just copy something and immediately turn off the computer. The operating system would continue copying the blocks, if necessary, when it's restarted later. All copy operations ought to be logically atomic as well: either a copy is immediately made or it isn't, the physical details of copying and remapping the corresponding blocks shouldn't be any of my concern.
So, an immediate, transaction-based and logically coherent file operations with automatic kernel-level delayed-I/O backend is what I would call the 2000's.
I hope that there already is at least one research O/S somewhere that would do this.
Because cross-device copying is the only place where this operation is slow, with modern HDDs all other operations are instantanious for all intents and purposes.
Good idea but you really should have put more tought on it.
going forward it seems reasonable to assume ubiquitous network connectivity, so you can simply treat external drives as a cache and show a non-modal alert "please reconnect for sync, expected to finish within X minutes" iff the amount of data synced is large enough to matter via a 3G connection.
You obviously unmount or decouple your external drive in software first and that's a good place for the operating system to inform you that:
Ongoing I/O for your USB mass storage device.
Wait for completion before unplugging.
And if there are many parallel I/O streams going on and this dialog is invoked, automatically prioritize anything that's being copied to the external hard drive first so that the user can unplug it as soon as possible.You do? I'm often too lazy to.
You haven't met most users, have you?
I'm at my friends house, copying files from a network share over his wifi.
I'm copying from mounted network shares at home over the internet.
I'm putting files on, or pulling them off, a USB stick.
If copy turned into the feature you described, there would have to be a 2nd "no, REALLY, copy" command. Hardly a step forward.
That being said, there's no reason it couldn't work the way you describe if the system knows it's copying to/from local physical discs.
Cue iOS.
Which was a nice experiment which proved that it didn't work. You know what you can't do on iOS which most users want to be able to do?
Yeah. Work with the same document from multiple viewpoints, or applications. You can't work with documents across applications on iOS because you supposedly don't have files.
Like I said: A nice experiment, but it proves that "no files" only works for the simplest of use-cases and limits the ability to work with data beyond the limits that people reasonably expect to find.
Also, besides copying files to removable drives, etc, the primary reason I copy a file is because I want two separate copies. Otherwise I would move it.
That said, Office 2010 was over-engineered in many ways. I just hope they dont over engineer Windows 8
I've seen a nice version of this in linux somewhere - when you push F2 two boxes come up and the cursor is positioned in the one to the left of the dot but you can move across to it easily.
EDIT: Ah, this is available in windows 7 too. Nice, finally.
Another thing I think is interesting: the graph will never be intuitive because they've compounded the progress bar with the actual plotting. Thus, fast operations will take up a larger percentage of the graph because during fast operating speeds more progress will have been completed. Conversely, slow periods in the graph will be disproportionately smaller compared to the actual percentage of time that the slow operation took.
See here for example; http://msinetpub.vo.llnwd.net/d1/keithcombs/blog/images/Rich...
This is incredibly useful when you need to copy folders with a lot of (smaller) files. Think pictures, music, etc.
http://blog.codesector.com/category/code-sector-software/ter...
clean it up a bit, build it into windows
Thanks
There is a well-known usability bug in Win7 explorer that the engineers are aware of but don't seem to care about.
Bug report: http://connect.microsoft.com/WindowsServerFeedback/feedback/...
More discussion: http://answers.microsoft.com/en-us/windows/forum/windows_7-f...
I'm irritated because it seems the only attention given to Win7 is critical/security fixes, while any non-critical bugs will be ignored and the answer will be to simply buy the next version of Windows if you want the problem to go away. IMO a lack of attention to detail and caring about your users.
People who build systems, in general and excluding the ZFS authors, really need to start worrying about my data's integrity at least as much as I do.
I still keep TC around for the odd job, but it's no longer my default.
Through sheer luck till now I've mostly done network transfers using smb + rsync on my notebook.
You understand what's going on in MSFT when the blog post ends with the line like "All of this adds up to building a significantly improved copy experience, one that is unified, concise, and clear, and which puts you in control of your experience." A clear example of managerspeak -- adjusted to sound good among other managers not to mean something.You see even from where the battles for "bling" come.
Is disk fragmentation a serious problem for you? I use SSDs for most of my drives, and let the Microsoft defragger do its thing once in a while, and leave it at that. Doesn't seem to bother me none.
"The key benefit to SSDs is that they have virtually no seek time. Reading adjacent blocks of data is no faster than reading blocks that are spread out over the drive. Fragmentation does not affect SSD drive speed.
(...) SSD drives physically wear out as you write to them. Defragmentation software moves around all the files on your drive. Thus, defragmenting an SSD reduces its life span without giving you any benefits."
I don't quite remember what the issue was, but there was a good anandtech article about it: http://www.anandtech.com/show/2738/8
Fairly certain modern SSDs are not affected, in any case.
So you claim to see improvement from something turned off by the OS? How?
(And not only was this was before the release of Windows 7, it actually came with some version of Xandros installed...)
When you're defragmenting, all you're doing is forcing the drive to write a lot, which itself essentially is a crazy way to fix it without TRIM command, but it works. On the other hand, you're doing a lot more write cycles than what TRIM or garbage collection would normally do.
In the case of A B C A B C you need a disk seek when reading pieces of the file, in the case of AAA you don't. As long as there are mechanical hard disks (and they still have big advantages for a lot of uses) such things matter a lot. You can seek only 100 times per second! Just to compare, during time waited on one seek on 2 GHz machine you can do at least 20 millions of calculations...
When you try to achieve goals set by management you compile all the problems together into one package, nicely designed or not, without actually solving any of the root concerns.
How you really bring results as a programmer is when you divide the issues into the smallest reasonable parts and then find the best way forward for each one of them.
And then later bringing all of the separate lines of work together into one whole symphony of code and experience, so to speak.
Just when I thought I could hate on microsoft, they come out with a nice improvement.
HOWEVER what I'd really like to see is a tool which shows you during boot time what boot ops are not behaving well, and give a very easy and responsive interface for murdering those ops. If its a video driver, fall back to default, some crap that can show me a web browser to troubleshoot with giant warnings that your video driver is dead. If they can get this whole startup taking god knows how long due to one bad application mess, windows will be quite awesome.
And then they need to help developers get the posix tools ported to windows an the most meaningful way out-of-the-box with no special install. Including replacing CMD with Bash and changing their FS to support a good structure like linux (C:, D: can still exist, but make a Sys: which contains things like proc and friends)
http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4...
Not necessarily. You can preallocate space at the destination when the copy starts. File copies are one of those cases when you know up front what the file size will be.
IIRC, there are ways to do this in most file system since the early 90's. I remember HPFS in OS/2 could do that.
Even for local operations automatically queueing operations could be sub-optimal. If copying chunks for small files from two spinning-disk-and-moving-heads drives to an SSD basic queuing algorithms would perform one copy after the other but the SSD is probably more than capable of keeping up with both at the same time. So you are going to need a UI control to override the default queuing.
BTW: If you need auto-queuing and other tweaks in this area for current Windows variants, I've been using the free (not Free) version of http://en.wikipedia.org/wiki/Teracopy for some time and have found it to be useful and reliable.
One thing I would love to see in a conflict resolution dialog is the option to view a diff of text files and similar, like Debian offers to help resolve file conflicts when applying package updates, not just previews of graphics files.
Maybe Microsoft will actually do this correctly instead of implementing it like Nautilus, where the copies aren't queued and thus happily trash the disk (hell, even the pause feature is quite welcome).
Seriously though. TeraCopy does just the right thing and is one of those "must have" Windows additions, despite the ugly-looking UI.
For those interested: http://www.codesector.com/teracopy.php