Sketch Non-Linear historyAugust 8, 2019 at 11:01am
I created a concept for a non-linear history inside the Sketch
What do you think?
August 8, 2019 at 12:21pm
The main issue with non-linear history is that it's really hard to undo an action when something happened on the same object after. For example what if you create an artboard, a text layer inside and want to undo the creation of the artboard. What happens to the text layer? Shall it be removed? Left on the same place but without an artboard? I don't think there is a good answer.
One idea I was toying with was a "per-artboard" history. So you could work on an artboard A, switch to another one B and work for a while there, then come back to the original A and undo the work you did before you switched to B while keeping the work on B.
I have no idea what it would look like tho hahaha
August 9, 2019 at 7:37am
Good comments! sure embeded version history would be powerful, maybe i will do a shot around this, yes there are many challenges, and dependencies in the historization process, but this was exactly what i wanted to explore, maybe the option just to see the moves and make a group undo would be something that will test how seeing the history changes our interaction with it....
August 12, 2019 at 11:54am
I think even if you can't selectively undo it would be great what you propose. Right now undo in Sketch is terrible. So many times it seems like has some additional steps in there. Like I have to press CMD-Z multiple times to undo the last step. Sometimes it seems to get stuck so even pressing CMD-Z dozens of times I can't go back even 1 step. I think it might be that it considers selecting and unselecting of objects a step, although it shouldn't. So to be able to see what it is undoing would be a good start to know how many steps to go back. I mean even in the Edit Menu it doesn't show you WHAT you are undoing, like almost all other software I know.
it might be that it considers selecting and unselecting of objects a step
That's not exactly true, but I think you get this impression because you use plugins that do stuff when you select/deselect. When a plugin is executed, Sketch creates an undo point so that you can undo what the plugin does. In addition, a plugin can listen to the different actions Sketch is doing and respond to it.
Now that I think about it, It might not need to create a new undo point when a plugin respond to an action 🤔
I personally don't use a lot of plugins and sometimes I get the feeling Sketch gets stuck with the Undo action, so I agree with your observation, regarding the plugin steps this is a really interesting insight I have to admit. One of the basic points of user experience from my perspective is to really communicate what is happening, I am ok with plugins and the way they interact with Sketch, the thing is we are visual creatures and we like to see visually what is happening beneath the hood of the tool... manifesto behind the shot is I believe we as UX guys need to believe we can do better than CMD+Z, that is visualised with text label: "Undo Shape"....
Ah, that might be the case . Probably Anima adding lots of additional steps when using Auto Layout functions. It tries to undo them, but then Anima instantly redoes them, basically making it impossible to go before anything Anima does automatically. If that's the case then Anima shouldn't write any of those response actions to the undo history. Anyways, wouldn't even be an issue if I had a list where I can just jump to a point in the past.