An Unexpected SurpriseSome time after we released PK Harmony at Synex, several of the people I had known there left, and went to work for Microsoft.
One day, I got an unexpected package in the mail from Microsoft. It was a pretty big box. In it was software diskettes and user guides for two products. One was Microsoft Excel version 3.0 and the other was Microsoft Word 1.2.
They both came with hard cover user guides that were about the size of a standard letter sized paper sheet. They had complete descriptions of all the commands and options in the books.
Vastly Improved Word Processing
Prior to getting these programs, I had Lotus 1-2-3 for spreadsheet work, and when I needed to create documentation, I used a primitive program called RUNOFF which had been ported to Microdata.
At Synex, we had people doing technical writing using products like Pagemaker and Ventura Publisher, so I was familiar with WYSIWYG editors, but they were expensive and I didn't have one myself. That all changed when I got MS Word. I got some great pointers from our technical writers on how to leverage styles, which I use to this day.
In high school I had taken a typing course, largely to fill in a gap, but because I thought it would be cool. The result was that I was one of the few programmers who actually knew how to type (most did chop-sticks typing - two index fingers) and as a result I could type very quickly.
Microsoft Office SuiteIn a few short years, Microsoft bundled Word, Excel, PowerPoint and for the professional version, Access, all in a single bundle called Microsoft Office. Microsoft continued to send me free versions to work with, including a standalone Word 6.0 version that could install on DOS or OS/2 Presentation Manager. (You didn't actually need Windows to run early versions of MS Word.)
Because of PK Harmony, and the need to support Mail-merge and other automation features, I began to become quite expert in these desktop productivity products, like Lotus 1-2-3, WordPerfect and others. We did a lot of macro programming to automate loading data into these programs from people's Business BASIC and PICK systems.
I could write technical documentation and get it 75% of the way there. The technical writers did the last 25% of the formatting and cleanup, giving it that professional shine.
Object Linking and Embedding and Component Object ModelAs Microsoft developed their operating system platform, a new approach to integrating applications began to appear. Through Object Linking and Embedding (OLE) and Component Object Model (COM) an application could expose its functionality so that another program could easily integrate with it.
Just a few years ago, I used the Microsoft Excel COM automation libraries to write a C# program to extract insurance rate data from an Excel spreadsheet that the executive had used to model their next period's rates, and push it into their multivalued mvBase database that ran their insurance line of business. The program I wrote ran through and validated that the spreadsheet had the right tabs, that the tabs had the right columns, and that the columns had the right data and that the data relationships made sense. If anything was wrong we reported a highly descriptive and detailed error and stopped. If all was good, we used our own libraries, licensed by the user, to construct multivalued records and write them to the appropriate staging file (all done in C# - we had a library of multivalue dynamic array handling methods written in C#). The customer would check that file and validate it before replacing the live file with the data we uploaded.
Before OLE and COM, we would have required access to the source code for Excel, or would have had to export the data using a macro, or most likely would have hired someone to data enter it all.
Microsoft Office TodayToday, we have Office 365. While you get access to fat-client programs that you install and run on your device, you can store your data in the cloud, and use slightly limited web versions of the software from anywhere. What's more, my subscription allows me to have Word and Excel running on my laptop, my Mac, my iPad and my iPhone, and they can access data on OneDrive, so they can all access the same information. I can switch where I'm working and continue where I left off!
As you may have guessed, I'm a great fan of the Microsoft Office suite of products.