If you could possibly single out one culprit as the source of all the incompatibilities that ail our industry, it just might be Visual Basic. Though not in the same league as C++ or Java, it is the one development language that almost no amateur or professional programmer has done without. Over the last decade, the language has evolved to a point where there's almost nothing you can't do with it. Almost. And that's the problem.
Because it can just as easily be used to write software for Windows as it can to automate Microsoft Office, Visual Basic is like a giant vacuum. It sucks you in. With its unique blend of approachability and access to all that Windows and Office have to offer, it's often a matter of minutes or hours before a quick hack can yield significant results.
The problem is that you don't have to write too many lines of code to forever lock yourself into what some call Microsoft's "walled garden." This isn't necessarily a bad thing. Virtually anything you can do with any other "system" can be accomplished from inside the walls of Windows and Microsoft Office. But trouble begins the moment a flower outside the garden attracts your fancy.
My own saga started when I realised that I was repeating the same tasks over and over in Outlook. It wasn't long before I created a macro to speed things up. In Outlook, macros are created in Visual Basic. A year later, what started as a basic VB macro has blossomed into a full-blown application. Realising that the forms that I created along the way were being populated with valuable data that was being tossed away at the end of each macro execution, I got Microsoft's Access database involved. Now, with every email that arrives in my inbox, I automatically generate a friendly, half-canned response, and all the contact data as well the email itself is stored in Microsoft Access. Already, I've found some code on the Web that shows me how I can synchronise the data in Microsoft Access with the address book in Outlook. That's on my list, but there's a host of other improvements that I'm going to make first in the name of even better productivity. After all, productivity is the battle cry for automation.
To say I'm hooked is an understatement. Why?