Further to a recent discussion on the way the Coincident constraint tool works, I've started this thread to aid better tracking.
Good of visual feedback will be crucial to making the tools quicker and more intuitive to use. If the tool looks buggy or not readily understood, users will be much less likely to invest the time to learn the tool in a production ennvironment.
Some user interactions principles that would be good to consider:
1. The tools should always make an effort to provide as much dynamic tracking-type feedback as possible, especially when multiple options or behaviours are possible. See Case 2. When a user clicks on a point on an element, there should be a tentative point highlighted on that point. This feedback should be provided even if subsequent actions may end up changing the point on the previous element.
2. Indeterminacy: The Constraints tools should provide the user the option to use as many 'keypoints' on the element to reduce the amount of 'indeterminacy' in the design, as early as possible. For example, the Coincident tool should also offer the option to snap to the quarter / axes points for Circles / Ellipses, midpoints of Lines, centrepoints of shapes, Cell origins, T-points on Curves etc.... not just the centrepoints and vertices. This should help reduce complexity when solving and will be better aligned with most user tasks which will be based on these keypoints.
Currently, the user is often forced to add more constraints to replicate these keypoints, adding unnecessary complexity and time to the design process.