Curio vs OmniGraffle?

Inspired by @beck and @JohnAtl’s influences

Curio appears to have one of the essential features I’ve loved OmniGraffle for: you can draw lines between objects and they’ll adapt as you move them around:

I had thought that OmniGraffle’s implementation of this feature was best-in-class, but it seems like Curio is basically as good. It seems like Curio’s missing OmniGraffle’s automatic “lay out” tools, but I don’t use that very often anyway. Otherwise, many of the same Inspector-based tools are the same, with minor differences.

Moreover some things I have had to stretch OmniGraffle to do Curio seems to handle easily. OmniGraffle’s support for Tables, for instance, is shallow—Tables are secretly just well-aligned shapes, which makes actually manipulating them as Tables very tough. Curio seems to actually think of them as Tables.

So… now I’m curious. Why am I using OmniGraffle for making pretty sense of things? Is Curio the better tool?

I’d love to hear from folks who’ve used both, or continue to use both. What do you pick up OmniGraffle for, versus Curio?

I think they are different tools, both useful in varying ways. Curio excels at brainstorming, storing research, and planning projects; I use it as the starting place for all my projects. Omnigraffle is an excellent technical diagramming tool that I use for editing topology diagrams (e.g., for networks) and for doing complex diagrams and illustrations for papers that I’m writing. In addition, I work with a lot of people who use Visio for Windows, and being able to exchange files is essential for me almost every day.

I would never dream of using Omnigraffle for project planning. I’ve also seen that storing data in Omnigraffle, for example, in tables, is not fun. Creating diagrams in Omnigraffle takes more time than in Curio (for me), but the output looks better. Therefore, for anything I’ll publish, I tend to go for Omnigraffle.



How do you know when something’s too complex for Curio? I think that’ll be the blurred line for me, too.

Good examples are Entity Relationship Diagrams or Data Flow Diagrams.

Omnigraffle has excellent templates for creating these, and I can make a professional-looking diagram in minutes. I could use Curio, but when I need to export and share with a Windows user, I would be stumped (if they want to be able to edit it in Visio). Additionally, the output looks so much better from Omnigraffle; I usually need to publish and put these into papers or reports, so spending the extra time to make it prettier makes sense in this context.

Copy that. So, your decision tree is kinda… “What type of diagram is this? If ER or Data Flow diagrams, use OmniGraffle. Else… am I going to publish this? If so, use OmniGraffle. Else, use Curio.”

I think this makes sense. I agree that OmniGraffle can render some real pretty outputs, and I am also super fast when using it.

I remain curious as to how much of that is attributable to my practice with OmniGraffle. I.e., with more practice with Curio, would I be able to do handsome diagrams just as quickly? (Probably not in the case of ER diagrams, where you really do rely on OmniGraffle’s ability to work with connections… but for my designerly, abstract stuff, it might be equivocal.)

I would say that my thought process is if it is a draft or brainstorming, and only for me, I use Curio. If it’s for sharing or publishing, I use Omnigraffle. I’ve never been able to make diagrams in Curio look as good, but I find it allows me to make them in less time. I’ve been using both tools for well over a decade, so I am efficient in both. I often base my Omnigraffle diagrams on drafts that I’ve quickly made in Curio.


I could just never see doing something like the attached in OG.
Curio is my thinking place.
Every Figure you see on that Idea Space is an alias to a file on my external RAID drive. The solid lines tell me who calls whom (.m is matlab code), the dashed lines show data flow. The .fig files are what is generated in the end. I can double-click a figure on the diagram to open that source file in Matlab, make a change and re-run the processing pipeline. When I switch back to Curio, the images are all updated automatically.

BTW, the image attached is from a Curio project that is almost 1GiB, so no worries about performance on large projects.

I have dozens of these diagrams that I used in my research, and wouldn’t have ever been able to keep up with it otherwise.

On the other hand, I used OG for things like posters, and it works well for that.


Is there a reason beyond “it’s generally easier to make it look pretty” that you opt for OmniGraffe in these cases?