Visio is a nice diagramming program now owned by Microsoft and sold as an upgrade to or extension of Microsoft Office. When is it useful? Are there open source alternatives?
Microsoft purchased Visio on 2000 then released a slight upgrade as Microsoft Office Visio. Microsoft Office takes a real beating from OpenOffice and has to discount in many ways. Visio offers something that had no direct equivalent in open source and gave Microsoft a chance to charge big dollars for Visio plus that can pretend you also need Microsoft Office to use Visio. In fact you can install Visio without Microsoft Office.
Microsoft sells Visio as Microsoft Office Visio Standard 2007 for about AU$400 and Microsoft Office Visio Professional 2007 for about $900. The only advantages of the expensive version are some extra templates and connections to other Microsoft products. If you are not using other Microsoft products then but the cheaper version.
There are two types of drawing programs.
- Raster graphics range where you draw bitmap images and cannot rescale them afterwards because you drew them in their final form.
- Vector graphics that can be rescaled at any time because the file does not contain the final image, instead it contains instructions for drawing the final image.
Raster graphics are great for photographs and the two main applications are Gimp plus Adobe Photoshop.
Vector graphics are better for diagrams. Visio creates vector graphics. The best known open source vector graphics program would be Inkscape.
Microsoft also sell Microsoft Expression Design in competition to Visio but only as part of a big expensive package and without all the nice templates. You do not get a discount for buying both products despite the overlap in function.
Other proprietary products
CorelDRAW is the original vector drawing program. Macromedia FreeHand was the next best choice until Adobe purchased Macromedia and killed a lot of Macromedia products including Freehand. Adobe Illustrator is now considered the industry standard for drawing because Adobe spent so much money to promote the product. All of these products are good for drawing pictures and are less suitable for common diagramming projects. Visio started at the diagram end and is the better choice for many types of diagrams.
The most common Visio-beats-the-rest features are organisational charts and network charts. For network charts, Visio can automatically route connectors, recognise crossovers, and create the appropriate crossover graphic. You would have to buy a dedicated CAD program to build more detailed diagrams.
Open source products
Dia is the first product usually mentioned as the alternative to Visio. Dia can replace Visio for manual diagramming. Visio beats Dia for the range of prebuilt templates and automated features.
You see lots of insane pages on the Web where people spout banalities about switching from Windows to Linux and replacing Visio with Dia. The reviews are rarely based on professional use side by side.
Yes, Dia will import a lot of formats and will export a lot of formats. Yes, Dia has a lot of features. Dia does a lot of things but there are some things that Visio does better. In some fields of employment, Visio does what is needed quickly and efficiently in ways that Dia cannot compete against. If you work in certain fields and have to produce the documentation, Visio could save you the purchase price on the first project.
The choice is equivalent to Gimp or Photoshop. Learn Gimp first then, when you are making money from using the tool, consider the advantages of the proprietary alternative. Some photographers make thousands of dollars per day. Saving a few minutes here and there makes the AU$1500 purchase price of Photoshop trivial. The same happens with Visio. Do you want to save $400 by using Dia or save 10 minutes per diagram when you have to produce several diagrams every day for months.
Dia has add-ons to generate code and other useful stuff from certain types of diagrams. Dia can be used to draw data structures and use add-on programs to export SQL plus data access code in several languages. If you are a programmer who wants to draw diagrams then generate matching code, look through Dia add-ons for something compatible with the language of your choice.
The last real function increase in Dia was back in 2006 and the only upgrades since then are bug fixes plus additional icon formats. There is no attempt to add any of the features that made Visio the better choice for some common tasks back when Microsoft purchased Visio.
Inkscape is an open source drawing tool with no prebuilt drawing templates. If you had to use Inkscape to replace Visio, you would spend time building some of the templates already supplied with Visio. The advantage of Inkscape is is drawing things outside of diagrams. If you need a simple diagram requiring complex decoration with illustrations, Inkscape is a better choice for the illustrations. You can build up your own library of illustrations, or download a ton of free illustrations, then use them as nodes in network diagrams.
Inkscape kills Dia for the range of documentation, tutorials, and prebuilt artwork. I am using Inkscape for things other than diagrams and would choose Inkscape over Dia for diagrams purely because I already know how to use Inkscape in detail.
Dia has add-ons to generate code and stuff that is not available on Inkscape.
OO Draw does less than Inkscape and can only export SVG files, not import.
OpenOffice is based on StarOffice, a good start toward an open source replacement for Microsoft Office. Sun purchased StarOffice then started rewriting Staroffice in Java to force people onto Java. The OO Draw SVG import is critical but Sun are not doing anything. Now Oracle owns Sun and will have to change software to somehow force people to buy Oracle. Meanwhile OO Draw sits there with some nice features but, like a typical Microsoft program, cannot be used where you need it. In fact Microsoft Visio has greater flexibility than the Draw part of OO with regards to import and export.
If Oracle lets Sun work on OpenOffice and the OO Draw import/export problems are fixed, OO Draw could join Dia as a cheap alternative to Visio for drawing some types of diagrams.
Kivio is a KOffice competitor to OpenOffice Draw but is only available for Linux.