blog: where is undo?

Discussion & Support for xplorer² professional

Moderators: fgagnon, nikos, Site Mods

Mr.Pleasant
Silver Member
Silver Member
Posts: 281
Joined: 2006 Dec 29, 12:56
Location: Utrecht, NL

Post by Mr.Pleasant »

A file manager like X2 does much more than any program in which you just work on a single document. In such an application you add or remove information which makes it relatively easy to step back. In the end, things are in the working memory until you save it to the hard disk. The way a file manager works is completely different (the same goes for many database applications).

Just let's think what kind of actions could be undone. For 'undoing' your browsing, we already have a 'back' button. For selecting files or marking files, no real damage is done when something goes wrong (and 'sticky selection' and scrap containers make it easier to do your work without errors). Running faulty Dos or Run commands are completely out of x2's scope. Any commands regarding 'view' or 'customize' aren't very useful to undo, either.

That leaves us with actions regarding file movement, renaming, and 'Change attributes'. This is a very limited set of actions to undo. For renaming, you have the opportunity to preview your actions (undoing renaming actions is as far as I know renaming tools, very uncommon: previewing renaming is common indeed). I guess that undoing your file moving actions is limited by nature: permanently deleting files should be permanently, overwriting files is by nature even more permanent, and many actions on a remote drive are also quite undoable by the way networks work. This is all unless you would like to backup everything before you delete/overwrite it, which is undesirable for speed and disc space (and semantic reasons ;-) ). So there's only unvoluntary moves to the waste bin, or slips of the mouse to be undone. Both are covered by safety nets already: you can get things out of the waste bin, or you can go to the 'drop target' folder.

Therefore, an undo button would cover a very tiny set of actions, and just because of that, I do agree with Nikos, it doesn't bring you any help. I remember that, with WE, I didn't use the undo button whenever I severely messed up the file system. Because I knew that it could repair things only by half. I had to reason what could have been restored. As a result I wanted to inspect the damage myself, and see what undoes were done, and what undoes were left undone. Which makes it usually even more confusing to go back to the previous state. In my view such an undo function is like a clock that works only a part of the time: you can't trust it, and therefore it becomes totally useles. In cases where the damage is less severe (a file moved to the opposite pane), it is usually so easy to repair, that I wouldn't want some resource consuming log system to monitor my actions.
<jokingly>That leaves me one thing: 'Change attributes' does needs a undo function!</jokingly>
Cosmo
Gold Member
Gold Member
Posts: 465
Joined: 2007 Apr 17, 11:09

Post by Cosmo »

The last post sounds, as if you do not want to use (in case it would be there) undo. So far no problem. Nobody says, which feature must be used.

I do not like the skinning feature, so I simply do not use it. But because of this I do not write, that this feature is somehow wrong or nonsense. Obviously there are users, who like it and have the time for it.

But reading arguments, which in reality aren't any, is another point. At the beginning of your post there are points, that have nothing to do with the common meaning of undo, or more precisely: undo an action. You tell about navigating, selecting and marking, changing views and customizing the program. In my understanding the common undo functions are those, that users can see in office or graphic editing programs (example OOo Writer or Draw or Microsoft Word): Without any doubt those programs have an undo function, but also without the smallest doubt the undo function is not  doing anything, what you wrote as your first arguments. And I can not remember having seen any request in the OOo-forums for expanding the undo-functions for "undoing" the navigation through the document, for marking a part of it, for changing the view or for changing any of the program options.

Reading such arguments, which lead the discussion to a dead end, makes me very very careful about what follows. Point for point:

Renaming: In theory you are right, you can preview; in practical terms there are situations, where you see at first in context of the complete folder's content, that the done renaming action leads to problems, the user did not see before. (Partly because the preview shows, how the filenames, that get renamed, will look like afterwards, but it does not show the whole folder.) Having renamed a single or some few files is not the problem for a manual correction, but if there has a batch renaming job been done, than "Good Night". Congrats, if you until now did not run into such a situation, but this does not mean, that those situations do not exist. The more powerful a program is (giving the possibility for such a batch renaming) the greater the risk for making mistakes. And as I said already in a previous post: The goal of x2 is partly the possibility, to make file management easier; a simple undo for such a case would IMO definitely belong to that category.

Moving / Copying: Of course you can "undo" this by hand. I also could use WE (e.g.2 WE-windows or an ad-on, which gives the possibility to split WE in 2 folder panes) for doing those actions. If I make a mistake (can be a user's fault or a faulty mouse during an drag / drop action), WE gives me the chance to undo this with a single click. So where is the advantage of x2 in this situation, if I have to make a handful of actions here, what WE can solve with one? X2 is written as xplorer squared and that means in my understanding, that it is far superior, but never less powerful.

Deleting: One example: Say you have a partition with let's say 100 GB, not uncommon, if you have to deal with multimedia files. As the smallest setting, you can set for the bin's extent is 1%, this means 1 GB; there is no possibility to make a smaller setting. On a typical Windows drive the average size of a file is about a few kB (everybody can prove this on his box with a tool like WinDirStat or Stats2000), so there may be some ten or hundred thousands in the bin. Trying to open the bin with such an amount is a pain, especially if you have left it with the group feature activated; it is a classical situation for having some coffee. An undo feature for an erroneous deletion is an real advantage in this situation. And once more: X2 is in my understanding meant to bring advantages over using WE, not disadvantages. - To clear this up: I do not understand an undo feature for wiping (not even for deleting without using the bin). The warning boxes for those actions, that get shown by x2, are not there for nothing. BTW: If you format a partition and click yes on the confirmation box, you cannot expect, that you can undo such a action - even with a system restore. (Special tools for recovering from those actions are a quite different point.)
Mr.Pleasant wrote:Therefore, an undo button would cover a very tiny set of actions
I do not consider that, what I described as tiny, and they are not tiny at all in my experience (which may differ from your's).
Mr.Pleasant wrote:it doesn't bring you any help.
Being able since the new version to skin x2 does not bring me any help. My descriptions should make clear, where an undo feature in contrary does.

Regarding to your experience: I do not to contradict, that you made those experiences, mine are different to that (with WE, Norton Navigator and Idoswin). As I said already, nobody shall get forced to use undo, but if user A does not want to, this does not mean, that user B shall not. (As user A may skin, whereas user B does not want to waste his time by that.)
As you did not describe the situation, where the "undo-clock" only worked for a part of the time, I cannot even try to reproduce this, and as my experiences are obviously quite different to yours I disagree totally, if you say, that I cannot trust in the undo-function and that it is useless - not totally useless and not partly useless.

BTW, I guess reading this
Mr.Pleasant wrote:I wouldn't want some resource consuming log system to monitor my actions.
that you disabled your system restore. But at least there is one interesting point: Making the requested undo feature in x2 an option, that can be disabled.
Mr.Pleasant wrote:<jokingly>That leaves me one thing: 'Change attributes' does needs a undo function!</jokingly>
Ha ha, happy attributing.
MKairys
Bronze Member
Bronze Member
Posts: 142
Joined: 2003 Apr 15, 15:39
Location: Boulder, Colorado

Post by MKairys »

Well Nikos, there seems to be some energy around this topic!

I just want to note that I have found on Vista it is easy to undo an X2 operation by immediately right-clicking on the desktop and choosing Undo from that menu. As I recall this did not work on XP.
User avatar
nikos
Site Admin
Site Admin
Posts: 16341
Joined: 2002 Feb 07, 15:57
Location: UK

Post by nikos »

that's interesting, this used to work in win9x (checkout the old 2xExplorer FAQ) but stopped working in NT... now they've reenabled it, sweet!
User avatar
TiKu
Member
Member
Posts: 22
Joined: 2005 Mar 18, 17:47
Location: Unterföhring, Germany

Post by TiKu »

Cosmo wrote:But I know of 2 filemanagers (besides Windows' Explorer) which can do it:
The first one was the filemanager of Norton Navigator, a product, that Symantec launched together with Windows 95, but gave up before the release of Windows 98; the second one is a filemanager named Idoswin (German only; I don't want to place the link here, but easy to find) even in the free version. Both handled the undo fine (AFAIR), so I wonder, why not x2?
Correct me if I'm wrong, but Norton Navigator and Idoswin seem to be real file managers while xplorer² is a shell browser.

Where's the difference? Well, file managers work directly on the file system. They don't know anything other than physically existing files and folders.
A shell browser, on the other hand, works on the shell. The shell is some kind of abstraction layer above the file system and can be extended by shell extensions. This extensibility goes very far, e. g. a shell extension could present the content of a database as files and folders (which wouldn't physically exist on the hard disk). For a shell browser, boundaries between physically existing files and folders and virtual ones vanish.

Implementing a Undo feature in a file manager isn't that difficult, because it is limited to physically existing files and folders and there's not that much you can do with files and folders (copy, move, rename, create, delete). You don't even need a Undo framework for this.

Implementing a Undo feature in a shell browser is very difficult, because shell browsers use a whole different API which is lacking a complete Undo framework as Nikos pointed out.
Even if Nikos would manage to develop a Undo feature for xplorer², it would be more irritating than really helpful, because often it would work in some situation, but wouldn't in another one, although to the user both situations appear the same.

I'm developing shell browsers myself and know the problems very well.
(German translator of xplorer² and editor²)
www.timosoft-software.de - the home of ExplorerTreeView
Cosmo
Gold Member
Gold Member
Posts: 465
Joined: 2007 Apr 17, 11:09

Post by Cosmo »

Thank you for the explanation, TiKu.

Indeed, the advantages out of the shell browser concept brought me to the decision for x2. As I am no developer, I cannot tell, what is possible and what not. But as undo is a feature in the Windows shell I have the hope, that there is a way to undo in x2. I would not say, that x2 shall be able to undo actions that have been done with e.g. WE and I would be already happy, if it would be possible to undo physical actions on physically existing files (those that I and you have mentioned in our posts). Hm, should it really be impossible, to let x2 "remember", what actions it has done and do revert it? Just as at now the user has to revert those actions manually? I cannot imagine this.
User avatar
TiKu
Member
Member
Posts: 22
Joined: 2005 Mar 18, 17:47
Location: Unterföhring, Germany

Post by TiKu »

Windows Explorer has a Undo feature, that's right. But Microsoft has left way too many details about the shell undocumented, so that "copying" this feature would require lots of reverse engineering (something that is illegal in many countries except you use the cleanroom model).

Yes, xplorer² could check whether it's dealing with real files and provide partial Undo support, but I think this would be a mess to code and maintain. Nikos couldn't use the Shell API anymore for things he wants to be undoable. While the Shell API suffers from incomplete documentation and parts of it are implemented in a strange way, it is also very powerful and in a way comfortable. Therefore the trade-off for a Undo feature might be losing some other features.
(German translator of xplorer² and editor²)
www.timosoft-software.de - the home of ExplorerTreeView
Cosmo
Gold Member
Gold Member
Posts: 465
Joined: 2007 Apr 17, 11:09

Post by Cosmo »

TiKu wrote:Therefore the trade-off for a Undo feature might be losing some other features.
Do you know this or this is assumption? The word "might" leads me to believe, that this is an assumption; so it cannot be judged without knowing details.
User avatar
TiKu
Member
Member
Posts: 22
Joined: 2005 Mar 18, 17:47
Location: Unterföhring, Germany

Post by TiKu »

I don't know it because I don't know the xplorer² source code. But I know the shell API and I can imagine how Nikos has implemented specific features of xplorer².
(German translator of xplorer² and editor²)
www.timosoft-software.de - the home of ExplorerTreeView