1981-1988 TSI: GrandAd: System Structure

The design of TSI’s ad agency system. Continue reading

This entry is rather wonkish. There are no funny stories. I just wanted to record the details while I could still remember them.

I gave our system the name “GrandAd”, but I doubt that anyone ever called it that. We were lucky if the users called it “TSI” rather than “Mike’s system” or “Sue’s system”. The original programs were designed to be run on a Datamaster with an external hard drive (described here). A few years later the system was converted to run on a System/36 (described here). We also converted it to run on an AS/400 (described here).

In the early eighties, administrative software systems generally fell into two categories: BICARSA (Billing, Inventory Control, Accounts Receivable, Sales Analysis) and GLAPPR (General Ledger, Accounts Payable, Payroll). Accounts Receivable was abbreviated as A/R. The GLAPPR modules were abbreviated as G/L, A/P, and P/R)..

GrandAd contained versions of all of these modules except payroll. I don’t remember even one of our agency clients using TSI’s payroll system. From an accounting perspective the distinctive features were that the GrandAd system had two separate methods of billing—media and other—that fed a rather standard accounts receivable system and a unique “media liability” module. The accounts payable system likewise had two separate sets of data entry programs, one for media vendors and one for others. If a bill from a media vendor included production charges, it could be entered in the media payables program after the media portion was completed.

None of the operating systems used by our customers distinguished between tables and data files, but our documentation usually did. In our parlance a table was maintainable by the users through simple editing. Data files could only be maintained through transactions that always created auditable detail records. Transactions were also usually entered in batches that updated the data files all at once. Changes made to items in tables took place immediately. Some important tables contained a few fields that could not be edited by the users. For example the G/L master file contained thirteen fields for the amounts for each month and adjustments. These fields could only be updated by transactions.

Every table had a unique key. The open item files for A/R, A/P, and media liability also had unique keys, as did the file with job costs by category and the media detail table. Detail files for transactions either had no key or keys that were not unique.

There was also one record-oriented specs table that TSI did not tell users about. We maintained this ourselves. It contained things like the agency’s name and address and a large number of “switches”, mostly binary Y/N designations that indicated whether the agency used optional features or the manner in which it used them.

Here were the principal tables, at least as I remember them:

  • Client: The key was a three-digit number. There was a field on this table for an “associated” client number to handle those cases where one company owned several semi-independent entities. Client #10 was usually used for in-house jobs and #11 for one-shot projects.
  • Job Type: The key was a two-digit number.
  • Job: The key was the client number plus a three digit-job number. The numbers could be assigned by the system. A few agencies had their own job numbering system. We kept this number as a twenty-character reference number. In general, 90000 was used for media billings. Every job was assigned a job type.
  • Job Cost Categories: The cost categories also had three digit keys. The categories were of three principal types: time, agency-owned materials, and vendor costs. The entries in the time categories consisted of hours worked on a job. The entries in the materials categories were dollar amounts. The vendor costs came from the accounts payable system.
  • Employee: The key was a three-character code. Initials were usually used here.
  • Rate: The key consisted of the employee code and the category number. It might also have had a date to allow rates to keep up with inflation.
  • Vendor: Vendors were keyed by a five character code and a two-digit location number. Checks were always cut to the name and address on location #0.
  • Media Type: A two digit code identified types of media—radio, television, magazine, newspaper, mailing house, yellow pages, etc.
  • Pub: Like the vendors, pubs were identified by a five character code and a two-digit number (usually 0). Every pub was associated with one vendor and had one media type. A vendor could have any number of pubs associated with it. Although the name “pub” was derived from “publication”, this table was also used for other media entities.
  • Media Ad: The key was the client number, a five-digit ad number, and a one-character version code (usually blank). The ad number was usually the production job number, but it could be something else.
  • Media Schedule: The key was the media ad key plus the pub key plus the date in the form YYMMDD and a two-digit number to preserve uniqueness. The last field was necessary because the same ad could be run more than once on the same day in the same publication or station. Three costs were stored on each record: net (the amount the agency paid the vendor), gross (net plus agency commission), and charge (the amount the client would pay).

The system provided for the following types of transactions:

Transactions were ordinarily entered in batch mode.
  • Menus specific to each type of transaction allowed for recording of new items, editing or (at least deleting) of items entered but not updated, printouts of the contents of the batch, and updating of data files.
    • Production and fee billing. Invoices could be printed on special multi-part forms or just recorded. The update program created records on the A/R detail file. Summary records on the job file were updated and entries were created in the batch file for the G/L system.
    • Media billing: Detail was selected from the media schedule. The update program created records on the A/R detail file, media liability records, and G/L batch entries. Summary records on the job file were updated.
    • Media payables: The update filled in the amount relieved on media liability records and created A/P Detail records and G/L batch entries. YTD spending on the vendor table was updated.
    • Other payables: The update created G/L batch entries. YTD spending on the vendor table was updated. For production costs job cost detail records were written and the job-to-date costs on the job file and job cost summary file were updated.
    • Checks: Invoices from vendors could be selected for payment in various ways. The update program wrote A/P detail records and entries for the G/L batch.
    • General ledger: Entries were generated by other modules, but they could also be entered one at a time. The update program wrote out journal entries and updated the monthly totals by account.
  • Live entries:
    • Cash receipts: The program to record cash received from clients updated paid amounts on open A/R items, and cash received month-to-date and year-to-date on the client table. It also wrote out A/R detail records and batch entries for the general ledger.
    • Individual disbursements: This program was used for partial payments, write-offs, and other A/P issues that were difficult to handle. It could also print checks, but that feature was seldom used by agencies.

The best thing about AdDept and also the worst thing was the month end reconciliation process. That is, it was the invaluable process that underscored the reliability of the data, but its vigor was still dreaded at the end of each month.

We provided the customers with checklists for what needed to be in agreement with what at the end of the month. For example, the total for the list of items in A/P must be the same as the balance in the A/P account in the G/L. If there were discrepancies, I showed the users the reporting tools to use to find the discrepancy and how to fix it. This could easily consume an entire day, and I often had to help them for two or three months before they understood what was causing the errors and how to fix them.

An account at one installation showed a discrepancy of only ten cents that we discovered was the result of three different errors, each of which was for more than $1,000.

I mostly dealt with the manager of the business office. However, I almost always sat down with one of the principals to go over the cost accounting report by client at least once. This report had columns for each source of income (media commissions, fees, billings for production jobs) and both direct and allocated expenses. A primary purpose of the reconciliation process was to insure that the total profit by client was the same as the total profit on the general ledger1. I tried to make it clear that the allocation of indirect expenses was only as accurate as the timesheets. If some employees (media buyers, for example) were not reporting their time accurately, the accuracy would suffer.

I have no doubt that our competitors did a lot less for their customers. Some tried to support their clients without any on-site visits. Some partnered with locals to provide hand-holding. I feel sure that they must have had some unhappy customers.

We actually used parts of this same process in TSI’s office. An unintended benefit of this rigorous approach was that it was rather easy to catch embezzlers.

The system was not sexy. The screens were green, and the output was columnar. The first few months were frustrating and difficult for almost all users. However, in the end it always saved a lot of time and produced valuable information.


One of our agency clients told us that they used a PC-based system called Media Management Plus2 to purchase broadcast commercials from radio and television stations and to evaluate the performance of the spots. We contacted Glenn DeKraker at the company in New Jersey. He told us that the software had several forms of files that it could produce to feed billing and accounting systems. We chose one of them, and wrote software on the System/36 (it would have been very difficult to do it on a Datamaster) to create records on the ads file in GrandAd’s media system from the records uploaded from the PC.

It worked smoothly from the beginning. We did not need to make any adjustments to our files at all. The users just needed to follow a simple convention when it came to naming the pubs. They had to use the call letters and a one-character code: A for AM, F for FM, and T for television.

This project taught us not to fear building interfaces with other software companies.


The original design of GrandAd was surprisingly stable, especially when the constraints under which we operated are considered. The screens supported nothing but text and had only 78 usable columns and 24 rows. The reports were limited to 132 characters on each line. The amount that could be stored on the hard drives was quite limited. If a customer ran out of room, the options were poor.

It was, thank goodness, never necessary to increase the size of any fields, although we had to pass on requests for proposals from two agencies. One was a New York agency that specialized in theatrical productions, each of which was a separate client, and a separate agency that specialized in want ads. Our biggest problem was in handling the version of the system that was used by TSI. When we started selling the AxN system to newspapers, The 999 clients allowed by the three-digit client number might not be sufficient. Besides, we did not want to intermingle the newspapers with our other clients. We decided to allow alphabetic characters in the client number field.

In retrospect we obviously should have used eight-digit dates from the beginning. We devoted countless hours in the late nineties to fixing this oversight.


1. Occasionally some G/L accounts, such as investment income, were excluded for this purpose.

2. In 2021 the company is now known as CoreMedia Systems. Its website is here.

1981-1988 TSI: Working with Ad Agencies

What I learned from working with advertising agencies. Continue reading

When Sue and I first met with the people from Harland-Tine in 1981, everything that I knew about advertising agencies came from watching Bewitched when I was in high school. I soon learned1 that most medium-sized ad agencies included people with the following types of jobs:

  • Account executives: These were the people who meet with the clients. Their primary function was to keep the clients happy, either by explaining what the agency was accomplishing or by keeping them in the dark. Some were also responsible for recruiting new clients.
  • Creative: Writers and artists usually worked in teams of two or three to come up with the campaigns and the ads used in them.
  • Production: These people actually executed the ideas.
  • Media: These employees communicated with the stations, networks, publications, etc. to schedule the advertising. They also made sure that the media vendor provided documentation that the ads were run as scheduled. In broadcast this was done via affidavits. Print media supplied tearsheets.
  • Administrative: Billing and other functions were done by the business office. Sometimes there were other areas as well, such as building maintenance and parties. Ad agencies liked parties.

Ad agencies preferred to measure themselves by their “billings”, a more than slightly deceptive term. An agency that describes itself as having $10 million in annual billings did not arrive at that figure by adding up the figures on the invoices that they sent to clients. The reason for this is that the broadcast entities and most magazines paid, at least in theory, ad agencies a 15 percent commission on everything that they bought. So, if the agency had sent invoices to the client for $10 million of media that it had billed, $8.5 million of it probably was paid to the media. Still, the agency billed it all, right?

Some vendors, notably most newspapers, did not give agencies commissions. Some agencies therefore marked up these charges by 17.65 percent to make them equivalent to other media. Regardless of what they actually billed, the reported billings would include the markup, not on their tax forms, but for promotional purposes.

Luis Delgado, who played Officer Billings on The Rockford Files, was also James Garner’s best friend.

In order to put agencies that that concentrated on other aspects of the business on the same footing as ones that billed a lot of media, it was common practice for agencies to use the same or similar ratios to calculate the “billings” that they reported. If a client paid a retainer, for example, of $1.5 million per year, that also was treated as $10 million in “billings”.

Further adjustments were also made, sometimes for questionable reasons. If they often used freelancers or other vendors on projects, should their costs be deducted before doing the calculation? The one overarching principle was that no one ever adjusted billings down. I once walked into an advertising agency that claimed “$50 million” in annual billings. I counted only six desks there. .

When I wanted to know how big an ad agency was, I asked them how many employees worked there. That was a better proxy variable for the amount of work that went through the agency than its billings.

Not every agency was a “full-service” agency. Some of them used a service to purchase media. On the other hand an agency in Illinois that we talked with did almost nothing but place newspaper ads for Sears. Another ad agency that used our system mostly produced point-of-sale signage for the beef industry. One “agency” in the Hartford area actually tried to talk its clients out of advertising. Instead, it promoted the idea of press releases. The agency would write them, and then try to persuade various media to run them verbatim or at least cover them as news items.

The most important equipment for an ad agency in the eighties.

An agency could be as small as one or two people. The two essential items are a telephone and a good contact list, which in my day was likely kept on a rolladex.

Some international agencies were enormous, but many agencies of any size were startlingly ephemeral. I found that most ad agencies were no more than two phone calls away from oblivion. That is, very few of them could afford to lose their two biggest clients. In the big Madison Avenue agencies when an important account changed agencies, the creative team and sometimes others involved in the account might just move to the new agency. Any agency of any size that lost one of its biggest accounts would most likely cut staff and other expenses to compensate for the loss of revenue.

The proprietors of medium-sized agencies understood this. Most had at some point experienced it first-hand. In order to maximize their chances of surviving the dreaded phone call, they tried to minimize fixed costs. They would rather rent than own. Something that could not easily be used to wow a client or a potential client seldom made much of an impression on them. The usual argument that automation improved efficiency generally fell on deaf ears.

When I did pitches to clients, I emphasized billing. If the agency was not prebilling its media—billing from the schedule rather than from invoices from the vendor—I emphasized how easy it was to do this with our system. I argued that in those inflationary times they should be making 1 percent per month on their money. So, billing two months later was like forfeiting two percentage points of their commission!

I also explained how they could easily customize the invoices for other types of jobs. Each client’s could look different. It wasn’t exactly sexy, but at least it was client-oriented. I knew well that very few agency heads were looking to make life more pleasant for their bookkeeper.

The other thing that I focused on was the profitability of client agreements. Most agency owners with whom we dealt had only a vague idea as to which clients are profitable. Few of them were good businessmen. We could show them on the system’s cost accounting reports how to analyze the profitability of clients for the month and year-to-date, and, if they found a problem, they could probe more deeply with other reports.

I think that our system served our agency clients well. I know for a fact that it helped a few of them through some difficult times.


A few aspects of the way that we handled accounting for advertising agencies were somewhat unique. These features were not really marketable unless the agency’s accountant was involved in the purchase.

I never read this book either.
  • We developed separate systems for media billing and accounts payable. They did not use the same programs used for other billing and vendor invoices. Both the billing and the A/P systems matched up the invoices with the items from the media scheduling system.
  • Non-media jobs that were billed in advance were credited to an advance bills account. The entries taking these amounts as income had to be made individually.
  • Every agency that did any kind of production or creative work kept an asset account called billable work-in-process (WIP). The system printed a list of the WIP for every active job at the end of the month. The change in WIP from month to month was booked as income.2

These methods were my own invention. I never took an accounting class in college and, for that matter only one programming. Never, however, in my thirty-five years of setting up computerized accounting systems for people did anyone challenge my credentials.


Spare me the consultants!

Some agencies recognized that they needed to computerize the administration of the agency, but they were not competent to figure out how to do it. So, they hired consultants. I absolutely hated dealing with consultants. They would begin the research process with a set of standards that they had developed, not from dealing with ad agencies or even by listening to what the agency in question hoped to accomplish, but from their experience with other companies that were unlikely to be comparable to ad agencies.

Sometimes they would send out a Request for Proposal (RFP) that outlined the requirements that they intended to impose. Often I could tell that TSI would be eliminated immediately for one reason or another. Almost never did the RFP ask if the system could be customized, or if it generated any of the billing or client profitability advantages outlined above.

Only one of our installations was produced through a consulting firm, and it was a disaster for us (wasted time), the agency (wasted a lot of money), and the consultant (law suit), That experience is described here.


The experience with advertising agencies broadened my horizons. I learned enough about the details of advertising that when the opportunity arose, I was able to make a successful pitch to Macy’s advertising department. That story is told here.

I also amassed enough details about the mindset of an advertising executive that I wrote a prize-winning short story about one. That account is here.

I never got interested in advertising, but in order to market to the New England agencies I had to follow their ups and downs. Seeing a few dramatic crashes reinforced my desire not to depend too much on any one client. That philosophy helped to sustain us through the nightmarish year of 1991, when our two largest clients both declared bankruptcy.


1. The Internet drastically affected advertising agencies. Much of what I learned is probably obsolete in 2021.

2. The American Association of Advertising Agencies (AAAA, pronounced “four A’s”) recommended a different method that was more cumbersome and less useful. Every accountant who ever saw what we did thought that it was equivalent but provided more useful audit trails, took much less time, and was less susceptible to errors.

1981-1985 TSI: The Quest for the Holy Grail

Who made the hoofbeats with coconuts? Continue reading

We knew what the Grail looked like, but finding it was another matter.

Systems that were designed and implemented to the specifications of each client were both fun and challenging. They were not, however, very profitable. From the beginning I was always on the lookout for a way to market one system to a dozen or more clients. It had to be a business that was unique but also substantial. Another limitation was geographic. In the early eighties there was no good way to support systems remotely. We therefore needed to concentrate on companies that were within relatively easy driving distance.

It wasn’t in the construction industry.

I realized the importance of finding such an industry in which to concentrate our efforts almost immediately. The search for this Holy Grail led us down several paths that turned out to be dead ends for various reasons.

When we first moved back to Connecticut we had not yet developed any significant software aimed at businesses. Sue had expertise working with the construction industry and IBM’s payroll package for those companies. Unfortunately, we did not have access to a list of IBM’s installations of this product.

I spent some time putting together a card file of construction companies in New England. I think that my source was the Yellow Pages in the Hartford Public Library. We may have even done a mailing to them. I am not sure that we had stationery and envelopes yet. In early 1981 the first class postage rate was only fifteen cents. So, we could have mailed to one hundred companies for $15. That was within our marketing budget.

At any rate, nothing came of this effort. For several years Sue continued to do work for those clients, but we got no new ones in any aspect of the construction field.


As soon as I had completed work on the software for Diamond Showcase (described here), I undertook research to find out how many small chains of jewelry stores there were in New England. I located very few indeed. Undaunted, I composed a letter that boasted of our success at Diamond Showcase. I only got one response.

Would you buy a jewelry inventory system from this guy?

Before my first interview with the president of Harstans Jewelers, Frank Sikorski1, and his wife (whose name and title I don’t remember), IBM had already announced the Datamaster. So, I had to persuade them to have faith not only in my ability to produce a system for them but also my recommendation that they buy a computer system that was just hitting the market. They also had to let us take delivery on the system. At the time I still looked like Tommy Chong (minus the headband and the ever-present joint), and my wardrobe was that of an impoverished grad student. Nevertheless, they agreed to our proposal.

Harstans was a family business, but there was no one with the surname of Harstans. Rather, it was a combination of the first names of Stanley Sikorski, Frank’s brother, and Harriet, Stanley’s wife. Stanley, I learned, operated a wholesale jewelry business in New York City that was the source of all of Harstans’ diamonds. Frank was the president; I am not sure what Harriet’s title was, but she was in charge of payroll and paying the bills. They used IBM’s payroll system for the former, but they did not like it. Eventually we installed the payroll system that we had written with some minor modifications.

The Harstans store in Hamden, CT. I could find no photos or mentions of the West Haven store.

The company’s offices were on the second floor above the West Haven store. There were four other Harstans stores at the time. Eventually they even opened one in the Enfield mall. I was never actually on the sales floors of any of these locations. I parked in a lot behind the West Haven store, entered through the back door, and took the stairs to the second floor.

Harstans insisted that we make one major enhancement. When a batch of new items had been entered, they wanted the system to print small tags for each one. The tags contained both the retail price of the item and the price that Harstans paid—in code. The code was BUICKSEDAN. B was 1, U was 2, etc. If they paid $523 for an item, the tag said KUI.

A Harstans ad in the Hartford Courant in 1991.

No customer paid the retail price on the tag either. The store had the peculiar policy of running a permanent half-off sale. So, if the tag said $350 the real price was $175. Competitors tried to force them to abandon this tactic, but for as long as we were associated with them, it persisted.

I visited Harstans many times over the years. Here are some of my most vivid memories.

  • Harstans had many customers from New York. The store, which was near I-95 and Route 1, did not charge these people sales tax, which was required for on-site retail sales. Harstans allowed these people to take the goods they bought home with them, but they also mailed them an empty box to prove that no exchange of money for goods had taken place on the site.
  • I locked my keys in my Celica once. I had to borrow a coat hanger to get in.
  • Harriet told Sue that she and her daughter had been at their house in Branford when some men broke in and tied them up. Some items were stolen, but no one was injured. The incident induced Harriet to buy a pistol and take shooting lessons. She always carried it in her purse after that.
  • I was working in the office in December when the store manager brought up a stack of bills from downstairs that was as thick as his fist. He wanted to count them in private. The first eight or ten were $100 bills. I stopped watching after that.
  • Frank asked me to give a speech at the Lions Club of West Haven. I told the attendees how much I liked my job. A few people asked me about horrible situations that they had had with their computers. In every case they had sent a boy to do a man’s job. Their computers were not designed for business applications.
  • Frank asked me to do something once that was almost certainly unethical. It involved writing a program that produced one page of printed output that looked vaguely like a computer-generated report—not one from our system—but actually contained fabricated numbers that he supplied.
  • The store, of course, had burglary alarms. I was occasionally the last person still working in the office. Usually people were still working in the selling area. However, on once occasion the last person downstairs had left without checking the office. When I opened the door to exit all of the alarms went off. I just strolled to my car and drove home No one ever mentioned it.

We also installed an accounts payable system at Frank’s insistence. I had already noticed Harriet’s approach to accounts payable. Her lower right desk drawer was devoted to invoices from vendors. Sometimes she took the invoices out of the envelopes, but just as often she threw the envelopes in unopened. This infuriated Frank, but there was not much that he could do about it. He was the president and she was an employee, but she was also an owner, and he was not. He was counting on the A/P system to solve the problem.

It was an ugly job, but someone had to do it.

Vendors called complaining about unpaid bills pretty often. I once heard her tell one of them that she would cut a check to them that day. She also begged them not to tell her boss about it because he would probably fire her, and she really needed the job. She got a tear in her voice while she said that. She also usually asked the vendors how much she owed them instead of looking through the invoice drawer.

To set up the accounts payable system we had to go through the stack of envelopes and invoices one at a time. We had to take Harriet’s word that some of them had already been paid. It was a humiliating experience for her, and she probably hated both Frank and me for it. When we were finally done, A/P was turned over to the lady (I can’t remember her name) who ran the inventory system.

I had an interesting meeting with the proprietor of Michaels Jewelers, a chain of stores based in New Haven. I don’t remember his name. He lost interest in our system when I told him that there was no way for two Datamasters to communicate remotely. This was becoming a bigger drawback to the design of the hardware every year.

Who cares if they buy it?

He told me that his biggest problem was inventory “lost” at his branch stores. He said that he really didn’t care that much if he sold the jewelry. It could just be melted down and resold as something that was more popular at the moment. Is there anything else that one could say that about?

Another great thing about the jewelry business is that you can depreciate the inventory for tax purposes, but in fact the value of the goods is more likely to increase rather than decrease for reasons that I have never understood. After all, they are just shiny rocks of little utility.

Unfortunately, there was not much that we could offer in the way of loss prevention, especially if the problem is focused on employees. Really good solutions to that problem were not available until at least a decade later.

One other thing that I remember is that the proprietor of Michaels called the people at Seiko “whores”. I think that he meant that they did not care who sold their watches.

I also pitched Westerly Jewelry Co. in Westerly, RI. An IBM rep from Providence drove to Westerly and brought a Datamaster with him so that I could do a demo for Larry Hirsch, the owner. The reception to my presentation was not great. I tried to follow up, but there was not much interest. If they had owned two or three stores, we might have had a better chance. Managing one store without a computer is much easier than managing several.

Not at IBM in the eighties!

What I remember most about the experience is that the IBM rep wore a yellow shirt. I had never seen any male IBM employee in anything except a white shirt. This was, of course before IBM did a 180-degree turn on its expectations about the attire of its employees.

I called the 5360 model of the System/36 the washer-dryer unit.

Harstans used their Datamasters for many years. They hired a young man named Jim Coer to oversee the systems. We had a pretty good relationship with him, but they eventually decided to buy a System/36 at a cost that dwarfed what they had spent on Datamasters. They must have also bought a competing software system that they expected to do things that we could not provide. I suspect that whoever sold them on this idea also said that no one used BASIC on the System/36 because the performance was bad. The first part of that statement was pretty much true, but the performance of well-written BASIC programs was, we later determined, roughly equivalent to that of RPG, the simplistic column-oriented language used by most S/36 programmers.

We parted with Harstans on amicable terms, but the loss of our main reference account ended the hope of concentrating on jewelry stores.


TSI’s installation at Avon Old Farms School was, by all measures, an unqualified success. It is described here. The Datamaster was perfect for their requirements, and all of the modules were successfully completed in a relatively short time.

Even before we met with them, I suspected that this installation might be the first step into a lucrative market. When I learned that Walter Ullram’s younger brother held a similar position at Westminster School in Simsbury, I grew even more optimistic. However, at the meeting that Walter set up for me with him the younger Ullram seemed only mildly interested. I followed up with a letter, but I heard nothing back.

I discovered that there was a book listing all of the private schools. It might have been restricted to New England. At any rate I mailed to the business managers of all of them and never heard anything in reply. By that time we had our hands full with other clients.


We had designed a report that provided Paul Prior of Ledgecrest Convalescent Hospital with the information that he needed to maximize his reimbursements from the state. The installation is described here. When it was completed, I decided to try to market it to the other nursing homes in Connecticut. By limiting it to Connecticut, I would only have one set of regulations to deal with.

By the mid-eighties it was becoming difficult to sell Datamaster systems. PC’s were so much cheaper. It was hard to explain why they were inferior. In response to this a developer named Gary Hoff2in Minnesota had created a PC program called Workstation Basic3 that ran programs written for the Datamaster without any conversion. TSI bought a copy and converted our report program to run in WB. I also designed add-ons so that people without the TSI G/L system could enter the appropriate numbers and the month they represented. The program would tell them how they were doing towards staying under the state’s predetermined caps.

A woman who worked for a company that sold personal computers helped me to market this product. I sent letters to all operators of nursing homes in the state. Quite a few responded, and I did a few demos and talked with a few owners. She offered them discounts on the computers. No one was ready to buy. One of them finally told me, “Our accounting firm does this for us. You really should talk with them.”

I asked Paul about this accounting firm. He said that he was well aware that everyone else used them, but he didn’t like them. He did not trust them, he said, and they charged quite a bit just to do the arithmetic for customers.

This is one of DEC’s VAX-11 780 computer. You know at least as much about it as I do.

I scheduled a meeting with the accountants. They seemed very interested in what I had done, but they wanted me to convert it all to run on the mini-computer that they had purchased from the Digital Equipment Corporation (DEC)4. I was looking for many clients, not one big one. Also, I knew nothing about their system. I had no interest in becoming a DEC programmer.

Maybe not as bad as the Vanguard TV3.

On the other hand, if I did not work with them, it was very unlikely that we would ever sell even one copy of this system, which I called CAPS5, to anyone. Since nearly every nursing home in the state used this firm, and they were the recognized experts, the project was doomed to die before it had a single installation. It was the worst (or at least tied for the worst) software launch ever.


Fortunately, our efforts in the other industry that we targeted, advertising agencies, worked out much better. That story can be read here and here.


1. The only Harstans store that still exists in 2021 with that brand is in Guilford, CT. I think that Frank Sikorski lives in La Quinta in eastern California..

2. Gary Hoff is still working in 2021 as a contract developer. His LinkedIn page is here. A few years after the CAPS fiasco Gary visited our office in Enfield. He spent one night at the Red Roof Inn and one day in our (then empty) sales office trying to get one of our System/36 BASIC programs to work on an AT using a new version of WB. He flew back to Minnesota without getting a single screen to appear. He did not get errors, but this new version of WB was unbelievably slow. He later used me as a reference account!

3. I was astounded to discover that Workstation Basic is still supported in 2021. You can read about it here.

4. After divesting most of its assets. DEC was acquired by Compaq in 1998, when TSI’s business was really taking off.

5. CAPS was an acronym. C stood for Connecticut, and S was for system. I don’t remember the rest.