I think a two-mouse GUI would have no real disadvantages and several nifty advantages. However, there are a few ways in which it is not strongly advantageous. For one, you can't have a hand on the keyboard if both are on mice. Keyboard is good for many things, and the keyboard/mouse combo is powerful. Thus, it would be useful to be able to get the full advantages of the interface even when you were using only one of the two mice. For example, in a select-and-copy scenario (which used to exist on this node), one could much more easily select with the mouse and hit the key combination to copy than to simultaneously select and choose a menu option with different mice.
Thus, the question really is, what can you do better with two hands (cursors) at once than with one?
- The original suggestions were for video games, either two player mouse-based games or multiple mice for the control of the same side (one mouse to aim with each hand, or move with one mouse, aim with the other). Perfectly valid, but I don't think that mice are going to be standard issue on any dedicated gaming platforms.
- If you are in a situation where you are in a repeating dialog box which requires two button presses in different locations, and some typing, you can type and more easily select the desired fields and buttons with two on-screen locations. Kind of trivial, but there it is.
- Another original suggestion was that one hand could select while another hand could pull down a menu to copy. As pointed out above, that's not helpful... but for menu items or buttons that don't have command-key shortcuts, it is. This isn't so much two hands at once but capitalizing on the human ability to do relatively independent things with two hands, and taking them as input serially. Still, it's useful.
- In addition, there are some things which are better thought of as two-handed activities.
- You can resize a window by double-grabbing it and pulling or pushing in opposite directions. This does away with the need for special places to grab the window to resize it.
- You can copy rather than moving by doing a similar thing with icons rather than windows.
- Bring PAIRS of windows forward, or hold one forward while pulling another up behind it.
- Even better control over piles of windows: grab one in the back as if picking it up, then pick up another window and 'slip it under' the other one. Much control over order of windows!
- Similarly, pick up an icon and 'hold' it in mid-drag, while the other mouse rearranges the windows so you can put it down in a window that used to be wholly covered
- Swap two identically named files by picking them both up, and dragging them simultaneously. Of course, a swap function would work just as well with one mouse, using the dialog: "A file with this name already exists." then the buttons: (cancel) (overwrite) (swap) (keep newer) (rename files) (compare...)
- Each mouse has an independent selection.
- Choose which application to use to open a file by picking the application with one mouse and double-clicking the file with the other (perhaps after making the original selection invisible?). Of course, we can already do this by dragging the file onto the application of choice, but having a selection that doesn't need to be visible could be useful... and dangerous...
- Keep one item selected even while working with other things. It might be better to implement this as stack than as two hands...
- Asymmetric selections! The left-hand-selected item is taken as one argument to a function, while the left-hand-selected item is taken as another. Or, the left-hand selection can be taken as one kind of argument while the right-hand selection can be taken as another (allowing a more consistent interface theme). Why would you need two mice for these and not just two mouse buttons, though? In fact, it would probably be best to avoid these, so that general-purpose symmetry between hands is maintained. However, we can have time asymmetry (first, second) and use it as above...
Another class of uses could arise if you could have some way (perhaps a key on the keyboard or both mice, or a variety of other options) to switch the two cursors onscreen. When you switch, the cursors would bring along any items being dragged. That way you could put one hand in one place and leave it there as a common destination. Then use the other to select items. Switch and release, then switch again to 'juggle' them to the other hand. Another option would be to pass a dragged item off by clicking on empty space with the empty-handed mouse.
How does one throw?
- Well, we don't even need two mice: this can be done with one mouse and an onscreen anchor to which you can swap the cursor. Note that this capability is extremely rare, and is not standard on any operating system I have ever seen.
- With optical mice, the mouse knows whether the hand is pressing down or not. So, if you pick up an icon then lift the mouse, then lift the other mouse, you toss the icon. This would get a nice physical mnemonic. On the other hand, one often picks up the mouse for other reasons... Coming up with a logical scheme for not getting things tossed when you don't want them to be under this mechanical signalling method would be difficult. Also, I'm sure that the optical mouse nowadays doesn't tell the computer it's off the surface. Even though any kind of mouse could be modified to give this information, this is too much investment in what would probably be a bad idea - this worrying about picking up your hand would mess around with user expectations, which is the bane of a GUI.
- Another option is that you toss things by rapidly moving both mice in circles. This is an easy motion to go through, either with opposed rotations or agreeing. Most mouselikes are capable of continuous circles. The problem with this is that it requires the user to actually be using both mice. Perhaps one mouse not moving at all and the other doing a complete circle would be sufficient. I don't know how often I trace out a complete circle in the course of normal dragging. I suspect it is infrequent. Of course, this would have to be user-adjustable just like double-click speed.
- One can force questionable acts through without comment by using BOTH hands to do it (for example, move an icon to the trash/recycling).
- Further possibilities exist in
- text editors: text comparison (this could be handled by multiple selections with one mouse, and it isn't necessarily more convenient with two mice due to the large amount of typing).
- spreadsheets: one mouse for cell references, the other for cell selection. Different tools would make as much sense, though... no need for two mice (though if two mice are used, it is more convenient).
- Drawing and painting programs could have lots of built in tools...
or just take advantage of the system's two mice without allowing use of both together...
- fixing one object to another
- resizing from both ends
- fixing a point in the object while resizing or rotating
- two-handed painting tools like a spinning paint bucket - one hand winds it up, the other guides the bucket (lots of fun, not necessarily useful. Maybe good for Pollock imitators?).
- change tools very rapidly (though even old macPaint back in 1984 had the ability to switch to certain tools by holding down command keys, this is more flexible).
- change color rapidly - even eyeball a gradient by dragging the brush while dragging the color picker?
- not only more rapid but also better-controlled alignments. While navigating a dialog box, are able to leave one mouse in pixel-perfect place.
- Fat mice with half the keyboard on them. Never have to switch back and forth again! May be too cumbersome or prone to accidental typing.
Aside from some special tasks, I think that the multi-mouse feature will be most useful for things that are easy to do without hardly thinking about it or looking at it, and can be anticipated (so that you can do them with your off-hand while working at something else). This however, is not to be sneered at.