Why use Visio for data diagramming?
Microsoft Visio first appeared as Visio from a company called
ShapeWare in 1992. From the very beginning, it was designed as a smart diagramming system. Before long, the company changed its name to Visio Corporation and a new information graphics paradigm was born.
At that time, I was working as an implementation consultant for a Unix CAD (Computer Aided Design) system that had a link to a Unify database. I was using this system to provide personnel desk locations, space chargeback, and cable management to merchant banks in the city of London. In those days, you could not buy just the software and install it on your own PC or Mac; instead, you had to buy the hardware too. So, each workstation would cost about £20k ($30k). This is quite an investment, and the skills required were quite specialized, thus spending extra for a consultant to actually use it did not seem so expensive. The work for the merchant banks took me over to New York, and the cable management application even took me to NASA in Alabama.
However, the merchant banks that I worked for began to demand that any reports were formatted to an exacting standard. They had become used to the WYSIWYG interface in new Windows applications such as Word. "Unfortunately, this was not available directly in UNIX, so, I invested in Microsoft Access for reporting, via FTP. They soon also demanded better printed graphics than was possible in CAD, so I had to seriously reconsider my toolset. The consulting company that I worked for also sold a Windows CAD system that could not produce acceptable graphics either. It was also very difficult to automate, so I surveyed the available alternatives.
In the days before easy downloads from the Web were available, every computer magazine had a cover disk (a 3.5" stiffy, not a CD) with a few trial versions of programs on it, and I had previously tried one called Visio 2. I had been impressed with its parametric behavior and the provided ability to automate it using
Object Linking and Embedding (OLE), so I decided to find out more about the current version at that time, which was version 4. I was excited to find that the technical edition had now brought the ability to import some types of CAD files, which meant that I would be able to utilize some of the drawings that I had been using for years. It also introduced the ability to link to databases via OLE.
I began to provide solutions using Visio Technical Edition linking to data in Sybase, Oracle, SQL Server, Access, and Excel using the database connectivity support that was introduced in Visio 4.
For example, I was linking 600 trader desks per floor on a single Visio page to the corporate Sybase database, and with a single macro I was able to refresh the text and color fill for each desk with the up-to-date occupant details. These floor plans were used by the help desk on these large open-plan floors to find traders who reported something amiss in their workstation. At first, I had to automate Visio from an external application, which I did with Microsoft Access or Excel as they already had
Visual Basic for Applications (VBA) built in. I also wrote some code in Visual Basic (VB) as executables, but all these methods ran code across application boundaries, which slowed them down. I did manage to wrap VB DLLs with C++ to get them running within Visio as add-ons, but the coding time was increased by too much. Then, Visio itself introduced built-in VBA, so the code could execute far quicker within the Visio environment, and the time taken to write tactical solutions was reduced.
The parametric capability of Visio shapes enabled me to construct a single monitor SmartShape that changed size and appearance depending on one of the 33 different combinations of manufacturer and screen size that I entered into the Custom Properties of the shape.
I was totally sold on the Visio paradigm and started a business based on providing Visio-based solutions shortly before Microsoft acquired Visio Corporation at the start of the year 2000.
Microsoft took over an extremely large amount of code and began the process of assimilating the application into the extended Microsoft Office family. This has had many challenges since the original Visio developers had no access to Windows or Microsoft Office code and practices. The "Big Three" Office applications (Word, Excel, and PowerPoint) have always blazed the trail as far as user interface design and file format are concerned, and Visio has followed behind at a respectful distance.
So, after the acquisition, Microsoft reviewed the breadth of features available within the many different editions of Visio (Standard, Technical, Professional, and Enterprise) that they had inherited and began to consolidate them. Over time, a large number of add-ons were added to the base product, and the Visio Corporation voraciously acquired many products that were using the Visio system (for example, IntelliCAD for CAD, InfoModeler for database modelling, and Kaspia for network discovery). Some of the products and code were incompatible with Microsoft's vision for Visio, so they were deprecated.
Note
For a more complete history of Visio, take a look at http://visio.mvps.org/History, which is maintained by the longest-serving Microsoft MVP for Visio, John Marshall.
However, the core engine of Visio has matured and expanded over many years of production use, with very little of it being removed. Therefore, skills learned around Visio shape development or automation have not been a waste of time, and most of the old documentation about these subjects is still relevant.
There are three available editions of Visio 2013 and 2016: Standard, Professional, and Pro for Office365. In fact, the last two are exactly the same apart from the licensing method. This book is not about the Standard edition because it does not contain all of the data capabilities.