We are creating a drawing application where users can add shapes to a canvas. They can cut/copy/paste via keyboard shortcut or context menu. For the context menu, it's pretty clear that the pasted objects appear at the context menu's click point. However, the keyboard shortcut has caused this discussion in our team.
There doesn't seem any sort of standard for pasting objects in drawing applications:
- MS Paint always pastes to the top right corner of where you've scrolled to.
- Photoshop/GIMP pastes to the center of where you've scrolled to/your selection.
- Paint.NET seems to paste on top of the copied area when zoomed out. But, when the pasted area is not visible, it tries to position it near the copied area.
- Some applications paste "offset" from the original location. Multiple repeated pastes continuously offset.
- MS Word pastes offset the original shape and scrolls you back which is very annoying
- We have an internal application that always pastes to where the mouse is.
We don't want to do what MS Word does and scroll you back to the original pasted area. It is terrible UX. Therefore, our options seem to be:
- Paste to the center of where you've scrolled.
- Paste to the top/right corner of where you've scrolled.
- Paste to where the original shapes were copied (but also where you've scrolled).
- Paste to where ever the mouse is. I'm against this one because I believe that's what the context menu paste is useful for. Also, what do you do if your mouse is off screen? The first time the users paste, it may or may not be obvious as to why the pasted objects appeared where they did.
Before writing multiple implementations and testing them on our users, I figured I'd ask the community for some thoughts on these choices.