Check out the Latest Articles:

Original Copy Window of OSX 10.5

With Windows Vista, Ubuntu 7.10 and Mac OS Leopard we’re experiencing the newest generation of operating systems. All three are (to a point) better than their predecessors and acquired tons of new features, both big and small.

There is a feature though, that I sorely miss in all the OSes as of today.

Sometimes when a friend visits me, I want to copy some files from ~/Music/PublicDomain and some from ~/Music/CreativeCommons and some from ~/Movies/OnlyLegalVideosHere over to their USB drive.

Or sometimes I want to get 13 different Linux ISOs from my file server.

I usually end up having 10 or more copy-jobs open at once, regardless of whether I use Linux, Windows or OS X, which vastly decreases my overall performance: My computer gets slower and the files take longer to copy. And my screen gets all cluttered up.

So I’d like to suggest an advanced form of the copy dialogue: Add a copy queue. What I want is something like this:

I copy a file somewhere, and while I see the little progress bar window, I can simply drag another file or folder onto the bar, adding it to its queue. The files will then be copied one after the other.

Proposed “Small” copy window

Proposed “Big” copy window with file list

The above mock-up shows how this could look like. When a whole folder is dropped into the window, its files will be added to the queue individually.

This has a lot of advantages over the many-windows method.

  • It uses your available bandwidth more effectively.
    A drive usually will be faster when it doesn’t have to fetch files from different blocks at once. So you have less search time and your file will complete more quickly. Over the network, you should also have less overhead copying just one file at a time.
  • Your desktop won’t get cluttered.
    This is obvious. Instead of many small copy windows, you’ll have one big window you can handle or hide more easily.
  • You can sort your files by importance.
    Just drag the most important file to the top of the list. Once it has finished copying, you can start working on it right away, while the rest of the files is still being copied.
  • Time estimates get more accurate.
    When you have 10 files being copied at once, the time estimates in the different windows will usually be far off. Compare that to copying a folder at once, where the estimate is usually quite good. With all files to copy in one queue, the OS should be able to calculate the remaining time quite accurately.

So that’s my idea. As far as I know, this is not possible in today’s operating systems, but I could be wrong.

The only way to get that functionality I know of is to stack cp instructions in the console with &&, but that’s not very user-friendly.

Alright, dear OS writers, get going! I’d be delighted to see this in a file manager somewhere. What about you?

Post to Twitter Auf Twitter posten Post to Reddit Reddit



  1. Ron (Reply) on Donnerstag 29, 2007

    This seems like something that could be patented, if the details were fleshed out some more. Of course, that might deter wide-spread adoption. Chances are though, someone would probably patent this if they got the chance.

  2. gates (Reply) on Donnerstag 29, 2007

    try teracopy
    search for teracopy in lifehacker.com you wont get it in google search

  3. Chasa (Reply) on Donnerstag 29, 2007

    have you tried TeraCopy?

  4. erhm (Reply) on Donnerstag 29, 2007

    total commander its called

  5. Jack (Reply) on Donnerstag 29, 2007

    Actually, what it looks like you want is a download manager.

    Have you downloaded an album from iTunes yet? Have you seen their download managing system? It’s brilliant, I love it to pieces.

    Their browser downloader isn’t as sophisticated, but if they just built their iTunes download manager into the system as just that, for any file you may want to download, you’d practically be all set.
    It’s not -quite- what you want, but it’s awfully close. I bet the boys in Cupertino could whip something like that up in time for 10.5.4 if they put their minds to it.

    It’s a great idea and it deserves to be implemented, but your problem appears to be already solved save for the implementation.

  6. beerorkid (Reply) on Donnerstag 29, 2007

    That is an awesome idea. I have also wondered why that is not the norm.

  7. Jack (Reply) on Donnerstag 29, 2007

    I’m sorry, I should have made clear [if it isn't by now] that I of course I refer to Mac OS X.

  8. jeremy (Reply) on Donnerstag 29, 2007

    Hot damn that’s a great idea.

  9. Xilon (Reply) on Donnerstag 29, 2007

    Well, it has nothing to do with the OS, the OS is on a different layer. It’s more the DE that should be handling this, and more specifically the file manager. This could be done by writing up a very simple wrapper around `cp` in, say, python. The script just needs to have a daemon keeping track of the queue and a client which adds arguments for cp to the stack, then just have the daemon run cp with those arguments. This would probably be the most universal system, but nothing in the GUI world really uses cp directly, especially on Windows ;)

  10. Masklinn (Reply) on Donnerstag 29, 2007

    As far as Windows is concerned, it already exists and it’s called SuperCopier.

    OSX and Linux, no idea but if you know third-party software that do it, I’m interested.

  11. Chris Smaha (Reply) on Donnerstag 29, 2007

    that is a great idea. Why don’t you offer your services up to one of the open source projects and see if you can’t this done. :)

  12. antipathist (Reply) on Donnerstag 29, 2007

    Good suggestion ! Only the developers that you ask this feature from, .. well its not their job. OS developers write file systems, schedulers, and device drivers among other things.

    You probably want to approach the window manager people, since this is an application layer solution. I would try the Gnome and KDE mailing lists.

    Peace.

    btw: Nice site design.

  13. Bonzodog (Reply) on Donnerstag 29, 2007

    um…from a GUI file manager (both windows and linux, don’t know about OSX), you can select multiple files at once by holding down the ctrl key, then go to edit > copy.

    Then, select the empty folder, and simply hit paste on the right click.

  14. Bob/Paul (Reply) on Donnerstag 29, 2007

    I like the idea, and have myself often thought about this, but I think your implimentation is non-intuitive and confusing.

    In the drag and drop environment, we drag files from one location to another location. This causes either a move or copy operation, whichever makes sense at the time. In your scenerio, we begin a copy from one location to another location in the same way, then we drag files from some location to a copy dialog? Where do they go? Apparently to the same destination as previously decided. That’s no good.

    Performance in file copies has to do with the physical destination disk, and not just the folder or partition. The operating system should be smart enough to make the right decision as to whether it should queue an operation or copy it simultaneously.

    How about this: I drag a file and start a copy. I drag a file from the same partition (different folder) to the same destination; it automatically jumps in the previous queue. Now I drag a files from a different partition on the same disk to some other folder on the same destition drive. The file is added to the queue. This continues as I drag files from SOURCE to DESTINATION.

    Finally, I drag a file from some different disk to some other different disk. The file copy opens a new window and proceeds on it’s own. That’s because these disks are not used in the the current copy operation, so don’t affect performance as significantly.

    In fact, I would be happy if ALL copies were always done one at a time, but I think the OS could discriminate based on physical disk.

  15. adam (Reply) on Donnerstag 29, 2007

    this works nicely with an idea i had:
    while copying multiple files and one fails or has a file name conflict, all files end up waiting on user input. with your idea here implemented, it could easily put the failed file at the end of the queue, show the cancel/retry dialog, and try the next one.
    it’d at least get what it can copied, and the only files that wait are the ones that need to.
    i’d also love to see a ‘retry until success’ option. my wifi drops a lot (why did we get a 2.4ghz baby monitor!?).

  16. magicnico (Reply) on Donnerstag 29, 2007

    I know a program that does exactly what you describe…
    It’s for windows only though…

    http://sourceforge.net/projects/supercopier/

    With here a screenshot
    http://sourceforge.net/project/screenshots.php?group_id=171408

  17. magicnico (Reply) on Donnerstag 29, 2007

    I know a software that does what you describe
    It’s only for windows though

    http://sourceforge.net/projects/supercopier/

    Here is a screenshot
    http://sourceforge.net/project/screenshots.php?group_id=171408

  18. Not a Mac User (Reply) on Donnerstag 29, 2007

    Um, what if you actually have a decent computer, and have multiple drives? And say you want to move a file from drive 1 to 2 and another file from drive 3 to 4 at the same time? Your method would not work. It would make things take twice the time. Oh you say, the OS needs to track what drives are attached, and what drives currently have files being moved to and from them? Yes, that’s the easiest way of doing things. Maybe, instead, you need to organize your files, and balance functionality with usage, instead of buying a box with all the details hidden from you.

  19. vinn (Reply) on Donnerstag 29, 2007

    Open VMS has a feature that lets you define queues for jobs.

  20. Eric (Reply) on Donnerstag 29, 2007

    How about only automatically queuing copies that involve hard drives in common?
    For instance if copying from hdd A to B and from C to D, copy them at the same time, but a copy from E to B would be queued after the one from A to B.

  21. Dmitry Chestnykh (Reply) on Donnerstag 29, 2007

    Total Commander has this feature, though, it’s for Windows only.

  22. derfasaurus (Reply) on Donnerstag 29, 2007

    Teracopy: http://www.codesector.com/teracopy.asp

    found this and never went back, does exactly what you’re asking. seamlessly integrates into windows. can’t really help with ubuntu and mac os, wish i could find something for ubuntu.

  23. Paul Betts (Reply) on Donnerstag 29, 2007

    This feature almost verbatim will be in GNOME soon (and Ubuntu by proxy)

    http://blogs.gnome.org/alexl/2007/11/23/file-operations-in-nautilus-gio-and-adventures-in-the-land-of-policykit/

  24. A Nony Moose (Reply) on Donnerstag 29, 2007

    Great idea, I’ve always wanted something like this!

    I’ve also always wanted windows to have a “Rename All” option when copying files into a folder with the same filenames…. linux distros have had it for years!

  25. Bobo_Minky (Reply) on Donnerstag 29, 2007

    try teracopy for win32. does exactly what you are asking for.

  26. Tommie Nygren (Reply) on Donnerstag 29, 2007

    I have had this idea as well but you got the particulars wrong, as some have pointed out. Dragging the files you want to copy somewhere else than where they are supposed to be copied is just weird.

    What you need is an intelligent file handler that, as someone points out above, keeps track of where the stuff should be going and what drives are being used etc. To mock that (as someone does above) concept is just retarded – whenever people say “Oooh, that means the computer has to keep track of yadayada” they are not very clever – computers are good at keeping track of stuff.

    I will check out some of the software suggested but I wont use total commander, have tried, never liked. The UI just looks like shit (updated perhaps? will have a look) and I can’t stand that uglyness in my life. Good suggestion though, people who have the same idea as me are always good people!

  27. lansalot (Reply) on Donnerstag 29, 2007

    Also, the destination drive doesn’t get fragmented (nor does the head keep seeking all over the place) so much. It will also be quicker. Important consideration.

  28. Pierre (Reply) on Donnerstag 29, 2007

    This capability has been around for a while: it’s called a batch file.

    In a Windows command line, do:

    dir *.* >copy_files.bat

    (or whatever file name pattern you want).

    Then edit copy_files.bat to prepend a copy command, append a destination, delete unwanted files, etc, and presto! It’s even restartable.

    Linux, of course, would have far more powerful scripting capabilities.

  29. Seth (Reply) on Donnerstag 29, 2007

    Lookup TeraCopy for what a built in OS copier should do

  30. cdog (Reply) on Donnerstag 29, 2007

    This is almost exactly like how the copy/transfer queues in Amarok work. Brilliant idea, applying this to a file manager.

  31. Greg Davies (Reply) on Donnerstag 29, 2007

    Neat idea. I was thinking of starting to hack around with Plan 9, but was at a loss for what to experiment with. I may take a stab at this, or something like it.

  32. Keith (Reply) on Donnerstag 29, 2007

    This feature existed way back in 1995 on NeXTSTEP 3.3 with a better implementation even. The file browser window just showed small copy progress text in the status area on the bottom right of the window. Whenever you perform a long operation, it would just queue them up. The added advantage is that it doesn’t open any new windows.

  33. Tim Locke (Reply) on Donnerstag 29, 2007

    Total Commander has had this functionality for many years. Welcome to the 90’s.

  34. Luke (Reply) on Donnerstag 29, 2007

    Software patents are incredibly stupid.

    The idea is sound tho.

  35. eric (Reply) on Donnerstag 29, 2007

    scp?

  36. bob (Reply) on Donnerstag 29, 2007

    This is hardly an OS issue.

  37. Damien (Reply) on Donnerstag 29, 2007

    A drive usually will be faster when it doesn’t have to fetch files from different blocks at once. So you have less search time and your file will complete more quickly. Over the network, you should also have less overhead copying just one file at a time.

    Seems like a lot of assumptions and handwaving. OS authors don’t have that luxury. =) The file manager cannot assume that all of the files are on the same disk. Also, the average disk drive will not be able to saturate a gigabit ethernet network (common nowadays), even with optimal transfer rate conditions. So doing multiple operations at the same would be quicker in this case.

    Anyways, I think something like this is fine: http://www.gnome.org/~alexl/nautilus-gio-copy.ogg

  38. Joshua Volz (Reply) on Donnerstag 29, 2007

    Excellent idea. I happen to have actually written a Windows program that is intended to do backups, but that would do this nicely. You can create all the “jobs” you want and then just click the synch button to get them all done in order. My version also has the possibly slight advantage that it won’t copy something if it already exists in the target directory (and is not an older version).

  39. sam (Reply) on Donnerstag 29, 2007

    dude. seriously. it’s called a COMMAND PROMPT. it’s not that hard to learn and it’ll make things like that ridiculously fast and easy.

    just in case you missed it the first time, it’s a COMMAND PROMPT. got it?

    COMMAND PROMPT.

    it’ll look like this

    YOURCOMP~yourname$

    or like this

    C:\>

    COMMAND PROMPT.

  40. CADDY (Reply) on Donnerstag 29, 2007

    BeOS did this. Whatever happened to BeOS?

  41. kometbomb (Reply) on Donnerstag 29, 2007

    I coded something like this in a few moments. Basically, it’s a replacement for the copy command but it checks if there are running instances of it and if yes, it sends the new job to it. It isn’t very smart: when copying stuff from c: to d: and from e: to x: it still queues the other job.

    The only thing stopping me from adding it as a menu option (in Windows) is that I don’t use Visual Studio so I can’t produce compatible dlls :(

    But yes, I agree. The bar for OS developers is way too low on simple stuff like this (that always is available in some other software, such as TC). It’s 2007, come on.

  42. Michael R. Head (Reply) on Donnerstag 29, 2007

    Be was pwned by Steve Jobs when Apple chose him and NeXT instead of BeOS for the future of Mac OS

  43. David Mulder (Reply) on Donnerstag 29, 2007

    Although I don’t remember which linux distro was doing this, I once saw a distro do this… I was first irritated as it messed up my workspaces…

  44. Technology Blog (Reply) on Donnerstag 29, 2007

    those were the times…

  45. IdealChain (Reply) on Donnerstag 29, 2007

    For Windows, I would also suggest CopyHandler. (http://www.copyhandler.com/en/manual/introduction-to-copy-handler-6.html)

    It can replace the standard windows copy dialog and it has a lot of handy features, including a copy queue. So you can add your copy jobs normally with explorer without having to get used to a new copy program.

    cu

  46. Nat (Reply) on Donnerstag 29, 2007

    Linux: use the CFQ IO scheduler

    Use ‘batch’ (the ‘atd’ daemon must be active)
    echo cp FileName Destination | batch

    There is a more complete and tech discussion about it, check my website

  47. Josh Davis (Reply) on Donnerstag 29, 2007

    Upgrade your RAM.

  48. Joey (Reply) on Donnerstag 29, 2007

    There is a free one called BatchTransfer. It looks less feature rich than TeraCopy, but doesn’t cost money. http://www.snapfiles.com/reviews/BatchTransfer/batchtransfer.html

  49. Ubuntu (Reply) on Donnerstag 29, 2007