by Mark Trescowthick - GUI Computing
Visio and Micrografx have been fighting the diagramming wars for years now… and I should confess right now that I've been a dedicated Micrografx user for most of that time.
That would just appear to have changed. Micrografx' strong suit has always been the sheer performance and stability of their graphics engine, and here I'd say they still have the lead, but Visio 5 offers me, as a developer, so much bonus functionality I just can't ignore it any longer.
Try these on for size…
Database Creation and Mapping Wizards.
Visio has them both and they work very well indeed. I can draw an ERD then click a few buttons and create a full blown Access or ODBC Database. Visio even provides me with the ability to define attributes while I'm doing the drawing. Working the other way, I can point Visio's Map Database Wizard at any similar datasource and have a full ERD generated, including Foreign Key notations, Attributes and Datatypes if I so desire.
Those two features alone will save me a good many hours of work. I used to have a primitive database generator for ABC Flowchart using OLE Automation, but this built-in facility is just great. I like to model databases in a drawing tool, and Visio would seem to provide all I need to automatically take those models the next step.
Web Mapping Wizard.
Another thing I seem to be doing more of is Web Diagrams. Visio promises to make this process a thing of the past, too, with it's Web Mapping Wizard. Just point it at a URL and away it goes… or, at least, that's what is supposed to happen. As I write, I can't get this little beastie to actually complete correctly. More on that front later!
Interface Diagramming Tools.
Visio supplies a complete set of shapes to represent Windows 95 (and Office 97) interface elements. They look pretty good, and certainly make the process of drawing interface models much easier than before.
Yes, Visio supports a complete VBA environment, and comes with a bunch of source code to get you started. If you need to build drawing / diagramming applications, you could do a lot worse than Visio as the place to start. The VBA implementation appears robust and the object model is pretty decent… though it does, like most object models, take a while to get your head around. That process isn't helped by the lack (so far as I can see) of a map of the model. I do wish all vendors would consider this a "must have" in documentation.
Developer Support and Training.
This is a biggie. Visio's Web Site provides some pretty decent forums specifically for developers and, even more importantly, Visio are starting to take Australia seriously. The first local training session is, in fact, in only a week or two's time - with the US developers out here for a five day session in Sydney. Contact Icom Solutions for more details. Micrografx, on the other hand, seem more entranced by pretty graphics than by providing developer support - probably understandable, but not where I, as a developer, want to be.
Any diagramming tool obviously needs to provide a range of pre-formatted shapes, lines and such, and Visio scores well here. And, of course, the very concept of the 'smart shape' means that, once you get the hang of how it all fits together, Visio delivers as much or more as the opposition.
Creating new shapes is easy and, because of the VBA support, making them truly 'smart' is a straightforward process, assuming you're familiar with VBA. One disappointment is that there is no macro recorder. I would dearly love to see one included, as I find that recording a few macros is a great way to get started in any new environment.
Of course, you might want more than just shapes. Visio supports any ActiveX controls you have available. I can see some definite potential in a drawing with an embedded ActiveX…
Yes, there are some.
Visio 5 still has feel of being not quite mature as a product. On odd occasions, I got non-critical error messages, and, as I mentioned above, at least one wizard wouldn't.
If it's blinding performance you want, you should think twice about Visio as well. Their graphic-rendering performance appears just fine, but response from Visio's menus is, at best, sluggish. This would appear to be because Visio checks a large number of directories to discover what addons, etc are available every time you click a top level menu. It caches directory information, so it says, but there is a noticeable pause between your click and a menu appearing that could irritate after while.
The interface is straight from the Office 97 handbook, but does have at least one irritating 'feature'. Any shape may have custom properties, but the darned menu item is always available… even when there are none. Which means I click on it and get an annoying dialog box. A lot!
Finally, beware the sheer size of this monster! 60MB+ is a big chunk of disk real estate for a drawing tool! Of course, 14MB of that is VBA, but even so…
Visio 5 really feels like it's a developer tool that just happens to do diagramming, in many ways. It certainly provides a number of developer features far ahead of anything else I've seen, as well as offering a rich set of end user functionality. It ain't perfect just yet, but the quibbles I have with it are, on the whole, minor.
Put it this way :- I'm really happy that Visio 5 supports the import of ABC Flowcharter files. I didn't even bother checking whether it exported them.