Something seriously wrong with undo

I’ve just downloaded the trial today and I gotta say I am unimpressed. Almost every feature I’ve used so far seems intentionally designed to be as frustrating as possible, while being minimally useful. This isn’t a matter of my unfamiliarity or reading the documentation—several google searches for simple things (like, oh, shifting a selection over by a certain number of pixels) have ended with people providing AppleScripts to do the trivial thing I was trying to do.

To my reason for making this post:

Several times today I’ve ⌘+Z’d my way out of an attempt to do something that should be simple but is instead incredibly byzantine and which eventually proves to be futile, and instead of having the document restored to a previous state it is corrupted—lines might be deleted, or text might be incorrect.

Is this recent behavior or is this just more of the same to which users have grown inured over the years? I can deal with a poor feature set, but if I can’t even rely on being able to back out of whatever hoops I’m forced to jump through to do simple things then the value proposition is nil.

Sorry to hear about the trouble and for your frustration. We fixed 3 undo issues which were all related to Auto-Layout features in version 7.3 which are described in the release notes. I think it is fair to say that undo has been a challenge. If you are already on version 7.3, there may be more fixes needed and we would like to know about them so that the problem can be resolved.

To make certain we address your issue, it would be helpful if you could email us a sample document with steps to reproduce the issue. You can find an option to Contact Omni under the help menu, and then select to include a document. Undo is supposed to return you to your previous state, and when it doesn’t, that is a bug that we would like to correct. Thank you for sharing the issue that you are having and also explaining the impact.


After upgrading to v7, I was just about to email support but I’m posting here instead.

Your undo stack is absolutely royally screwed up. I believe that everything I have undone in v7 has put my documents into a different state than they each were before the last user action, so I currently have little to no confidence in v7. And I’ll focus solely on the auto-layout functionality here since it’s the topic…

Have you even tested any of your code before you released it? In attempting to create the simplest example for you where I just created a dozen text objects and connected them all, I can’t even get the auto-layout functionality to operate. I click the auto-layout button in the Canvas inspector and OmniGraffle does nothing. Then no combination of selecting layout types from the pop-up menu or hitting the “Lay Out Now” button will do anything. So I can’t even give you a simple example to illustrate an undo problem because I can’t get the auto-layout to operate :/

The point that I was going to make with undo after auto-layout is that auto-layout can add midpoints to connections, and undoing the layout leaves the new midpoints on the connections but puts the objects back into their original locations before the layout, resulting in a huge mess on screen. Assuming you wanted straight connections and not curved ones, you can at least select all connections and “remove midpoints,” but that is only a work-around for the simplest case of straight connections.

My suggestion… Put a veteran developer on the project and kick the interns out of the code base.

Oh good lord, I now also see that your developers are adding iterative auto-layout steps to the undo stack. No wonder things are so f’d up. Since some auto-layout types like “force-directed” perform an iterative solution, you shouldn’t be adding each iteration to the undo stack. And you certainly shouldn’t also be drawing every iteration to the screen which slows everything down.

Another issue… You don’t properly undo the selection of the “Auto layout” button. If you switch it on and don’t like the layout and then choose to undo, you may get the document back to the old state but the auto-layout is still active which then tries to perform auto-layout again.

Btw, attached is a screenshot of the crap you end up with when undo doesn’t restore properly. This really looks like alpha level software issues.