- New Threshold for Resting Space
Currently the Splitting/Joining action starts the very moment that your mouse drags out of the corner action zone it started from.
If you had initially touched down in the middle of the zone then you can rest there without action starting, because it would take a movement of half the area before action is initiated. However, if you were to touch down close to the edge of the zone then action will be taken almost immediately, since the distance to the edge is obviously much smaller. This difference in behavior can result in surprising results, especially when using imprecise pointing devices. And this is made worse by the removal of the visual "triangle" indicators (which I hated), as users can not guess which areas are more forgiving of others in terms of movement after initial touch. The behavior instead seems a little random.
This patch makes it so that a movement of half the action zone width is required before action is started, regardless of where you initially touch down. So the resting space and the start of action feels much more predictable. And the lack of visual corner indicator is much less important because it will work predictably as long as you start anywhere in the zone.
- Drag Direction Limiting
From any single zone, you can do one of three actions: one possible join or one of two possible splits, which means if you randomly drag you are twice as likely to initiate a split than a join. We split immediately without any confirmation. But joins require confirmation and can be cancelled. These factors are the reason that new or imprecise users can be frustrated with multiple accidental splits.
We are also aggressive in always trying to do *some* action rather than do nothing. This is a great strategy for many actions, but not ones that can be accidentally destructive. Consider dragging from the center of the zone at approximately 45 degrees. In this case the system will guess your intent wrong half the time, and if that results in an unintended split you will have something that must be undone. And redone by repeating the process you just failed at.
This patch limits the angles where a drag is considered for action. So a 45 degree drag will do nothing rather than something wrong half the time. In a nutshell it requires that you drag toward a cardinal direction with at least a steepness of 2:1. This might seem odd to limit ourselves to more precisely dragging direction, but the latitude is still very wide and the result is less unintended splits. It just guesses better or you get no action. The following illustrates the angles required.
- Action Zone Size
This patch increases the size of the action zone, but only vertically. So the same width (the maximum space between the corner and the editor-change menu) but is now 50% taller. It is a size that feels more like the full corner but still does not interfere with any other interface items.
