I was reading through the Gentoo forums for information on ebuilds for Gnome 2.6, which was released a couple of days ago. While I was doing this I came across a post that was complaining that Nautilus (the Gnome file manager) had a certain behavior. The poster was complaining that when you move a folder, if there is a folder with the same name in the way, nautilus overwrites the old folder with the new one. In Windows and KDE (apparently), the new folder’s contents are merged with the old ones. The poster complained that the nautilus method was “wrong” because it didn’t merge the folders.
I thought about this for a while. I have come to the conclusion that nautilus’ handling is better and the right thing to do. I think this for the following reasons:
- Consistency : if you were moving a file, the old file would be overwritten. Why be different for folders?
- Real world equivalence : If you moved a folder in the real world, it replaces the old version of the same folder. To merge the two, you open the new folder, take out the contents and place them into the old folder. This can be done with folders on a computer aswell.
- An argument against: “It’s not what Windows does” : But MacOS does do this, you can counter that with. In addition, it is the Linux way. If you say mv ~/etc /etc, then /etc will be overwritten.
There are other reasons, but this is the main list I came up with. There are some arguments for merging the two folders, the strongest of these being to not overwrite the users files.
However, nautilus gives a warning that you are going to be replacing the folder before it happens, giving you opportunity to cancel the operation. The warning negates the non-overwrite idea because the user is asked if they really want to carry on. Then the file browser is only doing what the user asked; there is no second guessing of the user’s intention.
I would say that the merge behaviour destroys consistency in the file browser and removes the user’s control. Just because it happens in one OS doesn’t mean it is correct; quite the opposite in this case, I feel.
The nautilus approach is consistent: whatever item you are manipulating the same thing happens. This is what I and a new user would expect; that the same thing happens. This is a fundamental tenet of UI design and is prevalent throughout the rest of Gnome, so having nautilus differ would be rather counter-productive.
Whilst it may seem strange for someone used to a different style of doing things, it seems more logical overall. This approach promotes consistency, so the short time spent learning this change in behaviour is worthwhile as it can be put to use in many other places, saving time in the long run.