Why doesn’t the Windows Vista copy progress dialog show the names of the files being copied?


When you copy multiple files in Windows Vista, the progress dialog gives you an estimate of the time remaining as well as an indication of what fraction of the operation has been completed. But one thing it doesn't tell you is the name of the file currently being copied. Why not?

The programmer responsible for the file copy progress dialog in Windows Vista explained to me that there were a few reasons. First, there's the problem of presenting information to the user faster than the user could read it. All those filenames flashing by made users feel like they had lost control of the computer, as if it had decided to go off and do something at lightning computer speeds. Everything was happening so fast that they couldn't keep up with it much less understand what was going on and be ready to stop it if something didn't look right. Users may have been conditioned by the Hollywood Operating System, in which a rapidly changing stream of file names usually means something Really Bad is going on.

Users also reported that the constantly-changing dialog felt unstable, like it never could figure out what it wanted to say. And of course it all happened faster than any human being could read it. There's not much value in presenting to the user information they can't read anyway.

On the technical side, there were slight performance benefits to suppressing the display of the file names. As we saw, updating the screen can be a significant cost when you are updating continuously. Furthermore, even determining what name to display for the file is nontrivial. It's more than just extracting the string after the last backslash, because you can configure a file or directory so that the name displayed to the user differs from the physical file name. This is important when dealing with languages other than English. On Chinese systems, for example, the file whose name is Calculator.lnk is displayed to the user as 計算器.

In Windows 7, the file copy dialog returned to showing the names of the files being copied, but only if you ask for it by clicking the More Information button. That way, the standard dialog looks normal, and only if you say, "firehose, please" do you get inundated with information faster than you can read it.

Comments (56)
  1. Anders says:

    Is there a way to tell Windows 7 to always use the expanded dialog?

  2. Nick says:

    Raymond, the links to articles are broken.

  3. blah says:

    Updating extremely often is bad, but the reasons before it are nothing but excuses. There is benefit in showing stuff even if you can't technically read any single name. When you have lots of files flying by, you can easily make out a pattern and see the parts that are changing. In other words, you see progress. But I know Microsoft has a dumb decision quota to balance out the good they do. At least 7 gives the option back.

  4. blah says:

    This new blog system is disappointing. I still had to wait 30 seconds for my HTTP POST. Go MS.

  5. prunoki says:

    It has one practical use: when the copy hangs for some reason you see where it stopped. Can be quite useful.

  6. zen says:

    The broken link should be blogs.msdn.com/…/535440.aspx

    [Fixed, thanks. -Raymond]
  7. TomBl says:

    Why not update the file name every 5 seconds to the file that is being copied at that time?  This would hardly kill the performance, and would give you a clue of what is being copied if you're copying a bunch of rather big files from just one directory.

  8. Maurits says:

    > On Chinese systems, for example, the file whose name is Calculator.lnk is displayed to the user as 計算器.

    Why isn't the file name 計算器.lnk?

    [Please read the linked article. If it were called 計算器.lnk, then English users would see 計算器 instead of Calculator. Remember, each user on a system can have a different preferred language. -Raymond]
  9. KristofU says:

    +1 for TomBl's proposal.

  10. Jonathan says:

    I like the rapidly-changing filenames. It gives me a feeling that the computer is working, as opposed to being stuck. However, the Windows 7 design sounds right to me – "normal" people who are afraid of computers get their stability, slow remote desktop users can still live, and I get to make one more click to see action.

  11. rs says:

    As someone who prefers to see what is going on, I am wondering why the obvious solution (updating the name of the file being copied only every five seconds or so) hasn't been chosen.

    Regarding the new blog system, I'll need to get used to having a link to the comments only at the top of the blog, and to entering comments at the top of earlier comments.

    Some older issues:

    • The Microsoft Translator applet (I believe) blocks IE6 for a several seconds while the page is being loaded.

    • The Amazon Book link may allow third parties to collect blog usage statistics.

  12. kog999 says:

    "I am wondering why the obvious solution (updating the name of the file being copied only every five seconds or so) hasn't been chosen."

    My god windows is slow. This file is only 2k and it took windows a whole 5 seconds just to copy it. Mac was able to copy the file so fast i couldn't even see it. Windows must suck.

  13. kog999 says:

    "I am wondering why the obvious solution (updating the name of the file being copied only every five seconds or so) hasn't been chosen."

    My god windows is slow. This file is only 2k and it took windows a whole 5 seconds just to copy it. Mac was able to copy the file so fast i couldn't even see it. Windows must suck.

  14. John says:

    kog999:  In other words, no matter what you do someone will call you an idiot.

  15. josheinstein says:

    Despite popular opinion, I didn't have many things to complain about with Vista. This change was definitely one of them.

  16. Chris says:

    Darn, for a second I hoped that you'd linked to TV Tropes (where it's called Viewer Friendly Interface).

  17. anonymous says:

    The silliest of reasons are being given on this blog for removed features. Long-standing features that users actually depended on for years. Also why does this completely eliminate the possibility that the user could be copying several huge files each of whose file names can be easily read for 15 seconds? As pointed out in the comments, there can be several benefits to displaying the file name.

  18. Alexandre Grigoriev says:

    While Windows 7 file copy is significantly better now than Vista's, it's not completely out of the woods yet. For example, if you do disk-to-disk copy of sevaral large files at once, it will run multiple copy threads. So, instead of nice linear reads/writes it will continuously jump between files.

    Also, if you copy a large file from a fast (disk) to a slow (USB flash) device, it would post the whole file to the cache, and then you'll have to wait for it to finish. This is not the problem, though; the problem is that you're not able to cancel it in the meantime (which could be a minute or so).

  19. Jeff says:

    It's pointless to argue the merits of different approaches here, as I'm sure Microsoft had many people smarter and more informed (as well as dumber, but still more informed) debating the design.

    Personally, though, in situations like this, I generally update the UI every N milliseconds.  This way I give feedback without bogging down the process with GDI interactions.  I would probably start out at 1/10th second, or 1/4 second and see how it goes.

  20. blah says:

    Microsoft isn't very informed. They somehow missed the minor fact that just about everybody didn't realize at first that they loaded a million things into the MSO2007 orb menu. And that many people hate the ribbon in general. I'd love to see their usability study that totally missed the mark.

    [I think you have me confused with Jensen Harris. -Raymond]
  21. Marc says:

    Makes sense to me, but there's always someone, somewhere, who wants more information so Windows 7 is a good compromise.

  22. John says:

    If it offends you so much just write your own file copy shell extension.  With blackjack and hookers.

  23. ntl says:

    Learned that the hard way. While trying to optimize a process, discovered that if I didn't update the progress box the whole thing would take 15 times less time…

  24. Chris says:

    @John:

    No need for it, there's already TeraCopy. But it doesn't come with Blackjack and hookers. Maybe the Pro version does …

  25. Gabest says:

    Just tried to give one larger file the .lnk extension (to see whether it gets displayed while copying) and it became hidden and cannot be renamed back as it was! File extensions aren't hidden in explorer, yet this one gets magically.

  26. Matteo Italia says:

    [ For example, if you do disk-to-disk copy of sevaral large files at once, it will run multiple copy threads. So, instead of nice linear reads/writes it will continuously jump between files. ]

    I couldn't agree more; a nice improvement would be to have an option to have a single queue for files copied from/to the same disk.

  27. Alexandre Grigoriev says:

    @Matteo Italia:

    It makes sense to have read-ahead buffer of reasonable size (1 to 4 MB should be OK) with file queue. And a write queue that span several files. And also open a number of files in a bunch. That will make the copy of many small files very effective.

  28. Me again says:

    @Jeff: And yet, somehow, marketing ppl always win. :(

  29. Miral says:

    @Gabest: Yeah, the .lnk extension is magical and gets hidden even if all other extensions are shown.  (.pif does the same thing.)  It's usually a good thing, because usually when you have extensions shown you still don't care that a particular file is a shortcut (and before you disagree: think what it'd look like if Every.Single.Application on the Start Menu appeared as "Application Name.lnk").

    You can rename it back using the command prompt.  Arguably, since it does treat .lnk and .pif specially, Explorer shouldn't let you rename files to use those extensions in the first place, since you can't reverse it from within Explorer itself.

  30. NickA says:

    Thanks Raymond!

    I was asking myself this question just yesterday becauseI was copying a large amount of files and not seeing the filenames gave me the impression it was going slow…

    Seeing the filenames give an idea on the progress and where it's copying.

    Windows 7 is how it should have been done in Vista but I'm glad they put' it back in 7.

    And in general I am happy with Vista and think a lot of reactions are just a cheap shot to bash Microsoft that can never do things right even if it's the best solution on the market. Probably Windows 8 will be an excuse to bash again.

  31. Chris says:

    @Miral

    Of course Explorer let's you unrename .lnk files. It's under Edit -> Undo Rename.

  32. Drak says:

    @NickA: it was not an impression of slowness Nick. Sadly the file copy from a Vista machine is exteremely slow (not to mention the time it spends checking the size of the stuff you are copying). Copying the same number of files from, for example, a windows 2003 machine goes about 3 times as fast in my office setup. It's one of very few things I'm sad about in Vista.

  33. ender says:

    [ On Chinese systems, for example, the file whose name is Calculator.lnk is displayed to the user as 計算器. ]

    This is somewhat bothersome with the shell folders (Program Files, Users etc.) – I've seen several confused users because Explorer shows one thing, but when you try to access those directories, you have to use the English name. I've also had complaints both when a directory picker showed localised names, but the input box above the actual name, and when the directory picker showed actual names… IMHO, on non-Ultimate SKU, the directory names should be localised, since you can't (legally) change the operating system language anyway.

    [Localizing the file system name has its own problems, primarily in test burden. There are now two ways to get a system with French UI, either with French file names or with English file names. And what if the user upgrades to Ultimate? Now you have N^2 test cases. (French file names upgraded to Ultimate + German UI, etc.) And then there are preinstalled non-Ultimate systems that let you pick your language at first boot. But the files have already been created with their file system names (say, French since the computer manufacturer is French). Say the user chooses German. You now have French file names without a French UI! All the options suck. You just have to pick one that sucks less. -Raymond]
  34. Joe says:

    WRT using Explorer for complex activities… I've always thought of Explorer is a program aimed at the day-to-day activities of normal users – not the specialised needs of developers, power users or sys admins.

    If you aren't knowledgable enougn to be able to use an alternate file manager or the command line, then you aren't knowledgeable enough to be doing things that Explorer won't let you do. Adding the '.lnk' extension does seem like something that Explorer shouldn't allow though, seeing as it doesn't allow them to be removed.

  35. test says:

    test

  36. test says:

    test

  37. Gregory Kong says:

    Okay, with filesnames. Some people do complain that you shouldn't hide extensions, because then some not-so-savvy computer users might be misled by phishers and social engineers into doing Bad Things(tm).

    What's wrong with viewing files arranged by file extension / file type? Windows knows, even if it doesn't show it to you, and something that's supposed to be a .TXT showing up amongst the .EXEs should ring very loud bells. Besides, if I've hidden file extensions, and suddenly *one* file shows up with an extension, that too should ring some alarm bells.

    There's a context menu extension that shows what extension a file has, and allows you to rename the extension. Probably more than one out there, actually. Can't remember what the one I use is called, though.

  38. Sameers says:

    I guess, this is the stupid answer we can expect from the developers.

    Never mind,

    Sameers

  39. Pixy Misa says:

    Because God forbid the user interface should actually provide an interface for the user.

    Windows 7, with the useful details hidden behind a simple button, is adequate.  The Vista version was inadequate.  What's more, it was immediately and obviously inadequate.  No excuses, just blatantly poor design choices.

  40. MikeA says:

    I brought a robust Dell laptop in 2004 with WinXP and kept it going with the maintenance I have learned over 25 years in the computer field, until I went on vacation in 2009, returned home, powered up my laptop and it died.  It must have missed me.  Anyway, I purchased a HP laptop running Vista and found the O/S acceptable, but I made some changes for the system to suit my needs.  Early this year I upgraded my Vista to Win7.  

    That copy feature, showing files, is something I've always liked.  Yes, some of it flows by quickly, but to tell me, it is (or was) for my own good, sounds like Microsoft is in bed with the governments that want to tell me what I am going to do over what I want to do.  

    It is all about options.  There is no one set way to perform something in Windows (or Mac) and I would like to keep it that way.  

    It has always irked me when a handful of people get together, create something user communities like only to have a later 'committee' make 'enhanced' changes, telling me this is for my own good.  Yes, give newer features, but retain 'options' to have it 'your way'.  Some may like seeing the files fly pass while being copied, others may like not viewing files being copied.  This feature has been enhanced when both options are in place, this feature is not enhanced when the option has been changed, period.  

    MS really removed the feature and then gave it back with options.  This tells me someone screwed up and a sizable group complained about it.

    I don't need Bob to tell me what to do, make decisions for me or make changes for me, in the doublespeak that I will like it.  

  41. Rolf says:

    This is one of the most ridiculous explanations I have ever seen. It is neither complicated nor is it creating an extremely high load. Other file managers do it; and if you copy anything but very small files, you can easily follow the progress.

    [I bet those other file managers show file system names instead of localized names. Obtaining file system names is neither complicated nor creates an extremely high load. Localized names are another story. Wait, I said this in the article! See paragraph #4. -Raymond]
  42. Andrew says:

    There is a better way of handling this.  To display the current file being copied, but only update the screen every half second or so.  This keeps the file name readable and does not slow the system by displaying too much.  This method may miss out lots of file names but it gives you an indication of how far things have gone.

    We use this method in AJC Sync, see:

    http://www.ajcsoft.com/AJCSync.php

  43. evacchi says:

    <blockquote>My god windows is slow. This file is only 2k and it took windows a whole 5 seconds just to copy it. Mac was able to copy the file so fast i couldn't even see it. Windows must suck.</blockquote>

    also, my god, why  isn't copying all of my files and skips some; oh they are al there in the destination folder… stupid Windows…

  44. peterchen says:

    WRT "show file names, but update only each (N) seconds": This works, but may create the impression that it's skiping some files. I prefer the file names flying by, but I'm not a typical user.

  45. Balaji Birajdar says:

    Your answer works only for copying small files.

    But I want to know videos are being copied onto my drive in which a individual files takes about 30 seconds to a minute to copy. Do I have a choice?

    [I thought I mentioned it in the article: On Windows 7, expand the dialog. -Raymond]
  46. Balaji Birajdar says:

    I think MS is dropping some core functionalities to speed up the performance of its new OSes.

    Less code, less functionalities, more faster will be the execution.

    I will suggest MS guys to write better code than cutting down the functionalities if you really want to improve the performance of your code…..!!!!!!!!!!!

  47. ender says:

    [ You just have to pick one that sucks less. ]

    Is it really necessary to display those names localized? Most users will never see them, and it'll confuse many of those that do see them (even I was confused the first time I saw them, and I've read about this before using localized Vista the first time).

  48. Pi says:

    Seems like we have a new influx of Microsoft bashers who automatically think the worst of the developers if it's not done their way.

    Does it have anything to do with the new blog-software?

  49. Drak says:

    By the way, the reason 'updating the display is slow' is nonsense, as the progress bar is constantly updating anyway.

  50. Joe says:

    So much heat over such an inocuous change.

  51. Developer/User says:

    As a user, I just want to know that the OS is doing *something* other than wasting my time. A simple "Copying file X of Y" is all that is required.  And no, an analog progress bar is not the same as a digital message… How many times have you seen a progress bar go to 100% and never complete and wonder WTF is going on?   Thought so…

  52. Simón says:

    This is a clear example of why "Windows Vista Sucks" and that "Microsoft Knows It".

  53. Fowl says:

    Obviously the solution is to make getting localised names faster. You do want people to be local, don't you?

    (seriously though, is there a setting somewhere to set all these "progressive disclosure" things on "everything" mode?)

  54. john smith says:

    one thing i don't  understand. yes updating to the screen slows down the program. but how can this be the case

    here when obiously the copy rate and copy completion precent are updated to the screen constantly?

    and "updates too fast"? as suggested incremental updating whould fix that.

    it seems the programer simply got lazy  in implementing this feature or even tried to implement it but left it so

    he won't have to attened to fixing it.(probably left it to work on another resource hoging, redundent feature for vista)

    too bad.

  55. Ben says:

    Dear John Smith, Simón, Balaji, Drak,

    Please take this comment in the spirit in which it is intended. You are all idiots. If you thought about the problem for two seconds, read any of the linked articles, or (in your case Balaji!) bothered to look at Raymond's response; you would see that there are rational logical minds behind these decisions. You may not agree with the decision that was ultimately taken, but the general attitude that "the programer simply got lazy" is a rude, unhelpful, and ultimately wrong take on the issue at hand. Your comments add nothing to the discussion, and are likely to discourage Raymond from posting any of this interesting information in the future.

Comments are closed.