I had so many people recommend OmniGraffle 5 from The Omni Group that it quickly became something I wanted to check out. I've been a pretty heavy user of Visio for two primary tasks: creating UI flow charts for my web sites and generating screen mockups to cover functionality in my applications.
The UI flow charts are pretty simple since a page on a relatively static web site is easily represented by a small box on a design surface. OmniGraffle does a fine job of doing much of what Visio would do; drag a box out of the stencil list on to my page and there it is. Double click on it to fill in a title or some contents and off I go. Much like Visio I can draw connector lines between the boxes to indicate flow. OmniGraffle also allows multiple pages and the ability to set action links within an object so that clicking on it can jump to another page in the drawing.
The biggest difference between OmniGraffle and Visio in this area is really of the defaults for presentation. By default OmniGraffle renders everything with nicely muted shading and smooth edges. The results are some highly presentable flow charts directly from the design stage. Visio on the other hand requires that you go in and apply themes and turn off the grids and alignment points if you want your design to look nice on the screen. It can be done with Visio, it just doesn't look as nice out of the box as it does with OmniGraffle.
If you use multiple canvases and create actions to link your page elements together you can actually create a pretty interactive document. OmniGraffle also includes a Presentation functionality that takes over the entire screen so that you can show off your designs very easily.
Where OmniGraffle leaped ahead for me was in it's ability to render UI mockups. At first I was actually pretty disappointed; I didn't see any templates that were specific to user interface layout. Then I noticed in the Help menu a link to Graffletopia. Whoa! There are over 200 great looking templates in there! I downloaded a couple of the UI templates and was really impressed.
I'm a huge fan of building up UIs on paper before committing them to code because those early paper prototypes allow you to do some front end usability testing with people. The important thing to do is get through them quickly yet still make UI designs that look fairly attractive to the folks you are going to be presenting them to. They don't have to be perfect and look like a final UI but it helps if they are neat and clean.
With OmniGraffle I was able to generate some amazing little screen designs very quickly. How do they look? I mocked up this screen in all of 10 minutes on the first night I started using OmniGraffle:
It really is that easy. I actually had to manually change some of the controls for this screen shot but the process for doing that is very intuitive; just layering items on the page and sending them to the front or back of the stack is really all you need to know how to do.
Visio File Compatibility
Version 5.0 of OmniGraffle has added file compatibility with Visio, both to import and export. I loaded up a couple of files that had some fairly complex components; they imported fine for about 95% of the elements in my documents. The areas where things did not import properly were some of the background embedded image files I had in my files and in some cases the formatting of text was off by a little.
Visio has an XP interface template that I have used quite extensively in my screen mockups and I was really pleased when I found that all of those elements came through fine.
If you are a recent switcher from Windows to Mac and you've been worried about finding a good replacement for Visio, stop worrying. Just grab a copy of OmniGraffle Pro.
Now I know why all those folks were recommending it to me.