
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.

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?
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.
try teracopy
search for teracopy in lifehacker.com you wont get it in google search
have you tried TeraCopy?
total commander its called
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.
That is an awesome idea. I have also wondered why that is not the norm.
I’m sorry, I should have made clear [if it isn't by now] that I of course I refer to Mac OS X.
Hot damn that’s a great idea.
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 ;)
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.
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. :)
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.
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.
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.
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!?).
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
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
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.
Open VMS has a feature that lets you define queues for jobs.
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.
Total Commander has this feature, though, it’s for Windows only.
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.
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/
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!
try teracopy for win32. does exactly what you are asking for.
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!
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.
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.
Lookup TeraCopy for what a built in OS copier should do
This is almost exactly like how the copy/transfer queues in Amarok work. Brilliant idea, applying this to a file manager.
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.
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.
Total Commander has had this functionality for many years. Welcome to the 90’s.
Software patents are incredibly stupid.
The idea is sound tho.
scp?
This is hardly an OS issue.
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
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).
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.
I think the new gio-based nautilus will be doing this: http://blogs.gnome.org/alexl/2007/11/23/file-operations-in-nautilus-gio-and-adventures-in-the-land-of-policykit/
BeOS did this. Whatever happened to BeOS?
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.
Be was pwned by Steve Jobs when Apple chose him and NeXT instead of BeOS for the future of Mac OS
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…
those were the times…
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
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
Upgrade your RAM.
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
Ubuntu 8.04 (Hardy Heron) alpha 4 has this feature:
http://arstechnica.com/news.ars/post/20080202-first-look-ubuntu-8-04-hardy-heron-alpha-4.html