Steve Ruiz calls this post an “extra-obscure edition of design tool micro-UX,” but I find it fascinating! If you select a bunch of elements in a design tool, then rotate then, then later select those same elements and try to rotate them back, you’ll find they have “drifted” a bit from the original location.
It’s because the selection of elements needs to rotate around a center (the transform-origin
, in CSS parlance), but where that center is located is calculated differently post-rotation. The trick, if any particular design tool cares to fix it:
[…] here’s the fix: once a user starts a rotation, we hold onto the the center point; if the user rotates again, we re-use that same point; and we only give it up once the user makes a new selection.
There’s a related tweet thread.
Now we have to know when the user is attempting to rotate it back and isn’t just continuing to make adjustments. It creates a layer of hidden functionality. The real solution involves ux work. The current center needs to be visibly displayed and a keypress to override the functionality. The default behavior should be the one we have today (because it’s straight forward with no hidden behavior) and the override key should save the center, etc. The user could decide for themselves to flip the default behavior in the settings. Now we’re getting closer to a solution, but it might not yet be the optimal fix.