When dragging is a big drag

Nicholas Allen wrote to me to comment on a piece of UI in our October CTP:

I'm trying out putting an existing domain language into the editor and I'm having some frustration with creating nested concepts and inheritance to existing elements. I have to drag between two elements that are physically far apart and the scrolling is very slow. If I zoom out until the two nodes are on the screen at the same time, I can't read the text to make the connection. Is there an easier way to create relationships between two existing elements?

There's an inherent issue with a tree-layout like ours that sometimes things you want to relate semantically can be spatially distant.  We've tried to compensate for this by providing two modes in all of our link-creation tools, drag-link and click-click.

In drag-link mode, you mouse-down on the source of the link and drag to the target where you let go. If your target is currently off screen then you can drag to the edge of the screen and it will gradually "bump-scroll" until you get to where you need to be.  As Nicholas found out, if the distance is great then this can be tedious.

In click-click mode, you click on the source of the link and then click again on the target.  Whilst between the two clicks you are free to use the scrollbars on the diagram as normal which is a lot easier when it comes to making a large movement.