admin wrote:
As it might not surprise you, I'm not going into the DP discussion again here and now. However, I want to let you know that I read every word of your longish posts because I saw them well written and thought out. And they indeed made me curious: can you show me a good dual pane implementation? Is one existing somewhere, and if yes, for what percentage of all users (would you estimate) is it that good?
Well, in general, Dual Pane is relatively simple. It only gets messy when a developer tries to get cute with it (such as with Xplorer2).
PowerDesk Pro 6.0.4.2 has a simple and clean implementation of it. I'll give you the characteristics that, in my opinion, make for a good Dual Pane implementation (most of which are covered by PowerDesk Pro):
----------------------------------------------------
1. Quick to turn on and quick to turn off.
We're not looking to lock a file manager into one or the other, but give a quick way to switch to whatever is needed. As I mentioned in a prior post, in PowerDesk, I keep it in single pane mode most of the time. When I need dual pane, I hit Ctrl-2, and dual pane pops up. When I'm done, I'll hit Ctrl-1, and I'm back to single pane (with the active pane being the one that remains when switching to single pane mode). Being able to switch quickly, cleanly, and via keyboard shortcuts is a must.
2. Resizeable panes.
Self explanatory, you should be able to drag the boundry where you need it, and have an easy way to reset it to the default halfway point (such as double-clicking the boundry point). There is a seperate but related issue, regarding the column layout in the file portion of the panes. In PowerDesk, any changes made to the column layout (such as which columns are displayed, sort order, column sizing, etc...) is remembered for the second pane, and restored whenever it's brought up again. I think it's important to allow each pane to be configured seperately - but people will have different opinions as to whether they want those changes remembered, or if the second pane should always come up configured identically to the first.
3. Seperate trees for each pane!
To me, this is an absolute must, because - while counterintuitive - having a single shared tree is significantly *less* efficient than having seperate trees for each pane.
First of all, if you're working with two seperate directory trees, located far apart - you don't want to have to constantly be scrolling between them, as you shift which directories you are loading into each pane.
Also, as I previously illustrated with XPlorer2, you will - on average - need to make twice as many clicks with a single tree than you would with dual trees. With seperate trees, you click once to change the directory of the top pane, and once more to click the directory of the bottom pane. But with a shared tree, you click the top pane first to make it active, then you click to change its directory. Then you have to click a third time to make the bottom pane active, and then a fourth to change *that* directory.
There is absolutely no good reason that I can see to have a single tree. You're not saving any screen space, because either approach takes the same width on the left side of the screen. The only advantage of a single tree is that you get the full height to work with - but that does not come close to overcoming all the disadvantages.
4. The file manager should remember the last used directory for the second pane.
Now here, I can see there being some legitimate disagreements. What I would recommend is that you should have a general configuration option for the file manager to behave in one of two ways:
Option 1 - Remember the last used directory for the second pane and restore that whenever the second pane is brought up. If the directory doesn't exist, don't generate an error, but just go to the topmost root of the tree.
Option 2 - Set a Home Directory that the second pane will always open up to. Respond the same way as Option 1 if it can't find the directory.
PowerDesk functions with Option 1's behavior. Personally, I would prefer Option 2's behavior, but the absolute best way would be to give users the choice.
5. Have a *subtle* way of differentiating which pane is active.
Even if you have a seperate tree for each pane, you still need to always have one pane set as the active pane. This is necessary to account for many actions that could be executed - KB shortcuts, for example. However, personally, I find it extremely annoying when the entire background of the pane changes color to indicate this. As I said in an earlier post, I feel like I'm about to have an epileptic seizure when I'm constantly switching from one pane to the other.
PowerDesk Pro has a good implementation of this - it has a single header bar for each pane which lists the path of the directory that's active in that pane. The active pane has that bar shaded in gray. This way, it's easy to tell which pane is active, but it's a subtle change when you switch from one to the other.
6. Proper integration with the file manager's features.
Simply put, anything you can do while in single pane mode, you should be able to do in dual pane mode - with respect to the active pane. The file manager should never need to be crippled when working in dual pane mode, and each pane should be treated seperately. You can implement *additional* actions that will affect both panes, but never take away the default actions that work on a per-pane basis. Let me give an example: As it pertains to XY, Shift-/ closes all branches except the active one. If you're in dual pane mode, Shift-/ should only work on the active pane. If you like, you can implement an *additional* KB shortcut that will do this in both panes simultaneously - but don't take away the default option of acting on only the active pane.
----------------------------------------------------
Off the top of my head, that's what I can think of at the moment for what would make a good, clean dual pane implementation.
That aside, thank you for reading my posts - I'm sure it was a thorough test of endurance.
