Famous-Barr (FB) was a chain of department stores based in St. Louis Mo. It was owned by the May Company.
The aspect of TSI’s dealings with FB that I most clearly recall occurred before the installation. I think that this was in 1993 before TSI hired Doug Pease (introduced here) as Marketing Director, but I may be wrong. TSI received a phone call from Vicki Rosenkoetter, FB’s Advertising Director. Vicki had heard about AdDept and was interested in attending a demonstration.
I immediately phoned the IBM office in St. Louis to arrange for a room for my presentation, a ritual with which I was quite familiar. For the first time ever the woman with whom I was speaking asked me a question that I had difficulty answering: “How many customers are coming?”
I calmly explained that the audience members would not currently be customers. They were prospective users of the AdDept system that my company, TSI, had developed to run on an IBM AS/400.
She repeated, “How many customers are coming?”
“I don’t know. Is there some kind of limit?”
“Find out how many customers are coming and call me back.”
I did. Vicki provided an estimate of a dozen or so. IBM then produced enough employees so that one was seated beside each person who attended. At the time I was amazed that Famous-Barr was able to allow so many employees to attend. I was ordinarily happy to address a handful of people.
In retrospect it seemed likely that some must have been May Co. people. The parent company’s headquarters was only a block or so away from the downtown FB store that also housed the Advertising Department, and the May Co. was definitely a customer that had a lot of IBM “iron” in its data center.
As for all of those IBMers, I don’t know what their function was. They did not interrupt my presentation, which seemed to go very well.
Nevertheless, there was a considerable delay before the contract was signed and the system for FB was installed. During much of that time I worked with Dave Ostendorf2, whose position at FB was “Advertising Systems Analyst & Admin”.
FB had been using a PC-based system for many administrative functions. Dave developed it. I was a little worried when I learned that Dave would be the primary contact. No coder is ever happy when his work was being replaced by someone else’s. However, Dave understood that he had squeezed as much out of his approach as he could, and it was not enough. Since he was already very familiar with both the expectations and the attitudes of everyone in the department, he was often a great help.
On the other hand, the fact that Dave was formerly their custom programmer and could deliver changes without worrying about other clients sometimes caused frustration in TSI’s relationship with FB’s users. I wrote this in 2000:
They loved this system, but they had to abandon it because the architecture could not accept the volumes they were trying to put through it. Essentially our strategy was to replicate the output from their previous system.
Because the department had a programmer on their staff, they became accustomed to quick customization. They are therefore frustrated by our inability to deliver what they want as quickly as they want it.
It is very difficult to get the managers to agree to use AdDept for anything new. They like their PC programs. They still use a lot of spreadsheets and small pieces of the old system.
Dave provided almost all the information needed from the media managers. It was seldom necessary for me to talk with them . I met often with Roxanne Shanks3, the Business Office Manager about the way that she wanted to handle financial issues. In 2000 Roxanne went to part-time, and Ervin O’Neal4 was named the Business Office Manager.
After Vicki left in 2001, I think that Jim Anderson became the Advertising Director. I found some photos of him, but I do not remember working with him. It is embarrassing that I have so few memories of the FB installation. It may also be a testament to the fact that Dave was an excellent liaison who made my job much easier.
At some point David Graves became the official liaison with TSI, but I think that we only worked with him on hardware and connectivity issues. I don’t remember talking with him.
1. Vicki Rosenkoetter worked at FB until 2001. Her LinkedIn page is here.
2. After Macy’s took over the May Co. stores Dave went to work for Macy’s Corporate Marketing. He resigned that position in 2007.
3. Roxanne worked at Foley’s before coming to St. Louis. Her LinkedIn page can be viewed here.
Kaufmann’s was a department-store division of the May Company. Its headquarters was in downtown Pittsburgh. It had stores throughout Pennsylvania and neighboring states. TSI was contacted in the spring of 1994 by Mary Ann Brown1, Kaufmann’s Advertising Director. I think that she probably heard of us from someone at either Hecht’s or Foley’s.
In May of 1994 Sue and I drove to Pittsburgh to meet with her. We made the trip by car primarily because we had very little money at the time. We also had scheduled a meeting in the same city with an ad agency, Blattner/Brunner Inc. That meeting and our subsequent visit to the Pittsburgh Zoo has been described here.
Our appointment at Kaufmann’s was scheduled for late in the afternoon, 5:00 as I remember it. We left Enfield fairly early in the morning. Sue, who in those days was famous for her lead foot, did most of the driving. We arrived at the outskirts of Pittsburgh about thirty minutes before the scheduled start of the meeting. At that point we encountered extremely heavy traffic. We were in unfamiliar territory, and, of course, cell phones were still a few years away. So, we arrived a few minutes late.
The beginning of the meeting was rather tense. Mary Ann demanded to know why we were late and why we did not call to tell her we were going to be late. If TSI had not already developed a reputation for good work at Hecht’s and Foley’s, I think that she might have told us to reschedule or to forget about it.
Eventually she got down to business and informed us that the people in her department had developed a system for administering the department’s projects. They were satisfied with what it produced. However, they knew that it would not work in the twenty-first century, and they needed to make a decision about whether to rewrite it or replace it. I guaranteed her that AdDept would have no difficulty with the Y2K issue and explained how AdDept’s approach of a multi-user relational database worked. I do not remember meeting anyone else that day.
Sue and I stayed throughout the visit at a Holiday Inn (if my memory is accurate) a few miles north of downtown. We probably presented a demo at IBM the next day, but, if so, I don’t remember it. My recollection is that the entire event was amicable but not decisive.
For years Doug Pease, TSI’s sales person, stayed in frequent contact with Kaufmann’s. I think that Mary Ann must have spent the time arranging funding. My memory of the next trip to Pittsburgh centers around my meeting with René Conrad2 (female), who was the department’s Planning Manager, and John Borman3, who managed the department’s networks and its computer hardware. I don’t know if we had a signed contract yet, but by then they were definitely committed to installing AdDept. In fact the installation did not take place until May of 1998.
I had only limited contact with Mary Ann thereafter. I do remember that she joined René and me for lunch once, and she disclosed that she had for a very short time been (or at least had applied to be) an FBI agent. That was, to say the least, a surprising bit of news.
My first memory of René was her presentation to me of an absolutely enormous D-ring binder with a black cover. Collected therein were samples of all of the reports that they needed. She spent the rest of the day answering questions about the selection criteria and the precise definition of the contents of each column of each report. The bad news was that very few of the reports matched up closely with work that we had already done. The good news was that the design document that resulted from the meeting came closer to meeting the client’s expectation than any that we had produced or would produce later. René was our liaison at Kaufmann’s from the beginning all the way to the end, and she was a very good one.
I did not need to spend much time with John. Once their new AS/400 was connected to their network, and I explained that the demand for bandwidth would be minimal since the system was totally text-based, he was satisfied. He took charge of getting the necessary software installed on Macs and PCs, and he connected the AS/400 to the department’s network.
I remember two experiences involving credit and debit cards on trips to Pittsburgh. In those days we kept our cash at Bank of America. The best thing about that was that if I needed cash on a trip I could almost always find a local branch with an ATM. I remember that once I used such a machine at the airport and forgot to reclaim my card when I was finished obtaining the cash. I don’t know what happened to the card after that, but nobody else ever tried to use it.
For my first couple of installation and support trips, Kaufmann’s asked me to stay at the William Penn Hotel, which was only a block or so from Kaufmann’s. I sometimes arrived in Pittsburgh late in the evening. On one of those occasions some sort of event must have been going on downtown. In the lobby of the William Penn there were unexpected lines of people waiting to check in. In those days it was possible to make a hotel reservation without providing a credit card number. Several people in line had discovered that doing so did not mean that a room would necessarily be available when they arrived. There were a lot of angry people there that evening. Fortunately, I had already heard about this problem, which had been perfectly explained by Jerry Seinfeld with regard to rental cars. You can listen to it here.
I usually brought an unusually large bright-blue suitcase with me to Pittsburgh. Because I sometimes had trouble sleeping when I traveled I often include the foam rubber pillow that I found much more comfortable than the soft feather pillows that old stately hotels favored. One day after working at Kaufmann’s I was unable to find the pillow in my hotel room. Evidently the maid had confiscated it. I complained at the desk, and they eventually located it and returned to me.
It was nice having such an identifiable suitcase. On an early-morning US Airways flight on July 25, 1999, from Bradley to the Pittsburgh airport that served as a hub. I was the only passenger who checked a bag to Pittsburgh. I went to the carousel listed for my flight. No bags ever appeared. I was worried that the bag had not been removed from the plane. Here is what I wrote about the incident in my notes:
When I got into Pittsburgh, my bag was missing. I went to the baggage office. They had no record of my bag. I had seen them put it on the plane and take it off. I told her [the baggage agent] so. She went to look for it and found it. She said the tag had come off. I can’t imagine how this happened. But guess what. I didn’t get angry through any of this.
While staying at at the William Penn I experienced one of the worst incidents that I ever encountered in my trips to see clients or prospects. I was suffering from the only disease that I contracted in all the years that I traveled extensively. Throughout the visit I was constantly running a low-grade fever and had a few other annoying but not debilitating symptoms. I soldiered on, and I somehow got everything accomplished that was on my list. When I returned home I went to my doctor, Victor Sonnen4. He gave me a blood test and eventually diagnosed the problem as a urinary infection. Some antibiotics knocked it out.
I did not really like staying at the William Penn. I could get to Kaufmann’s in two minutes, but this was not a great advantage from my perspective. I was always up early, and there was nowhere very close that served breakfast. I could eat in the hotel, but I have always found that hotel food was not very good and terribly overpriced. The evening meals posed a similar problem. I won’t go to a swanky place by myself. The only restaurant within walking distance that I liked was a Chinese takeout place.
In later years I stayed at a Hampton Inn in the Greentree section of town on the south side of the Ohio River. I loved the free breakfast bars at Hampton Inns, and this one sometimes served tasty snacks such as pizza or chicken wings that were good enough to serve as a supper in the evening. The only drawback was that there was nowhere that was reasonably flat to go for a jog. If you live in Pittsburgh, you must learn to like hills.
On two occasions I went to supper with René and her assistant, Maggie Pratt5. Since they both took the bus to work, I drove us in my rental car. They directed me to small restaurants that they knew near the University of Pittsburgh. I don’t remember the food that well, but I do remember that dining alone on the road is not a hard habit to break.
One thing that I remember clearly was that René suffered from migraine headaches. When she got one she still tried to work, but it was obvious that she was in considerable torment.
René volunteered as an usher at the Pittsburgh Opera. In the 1999-2000 season Verdi’s La Traviata was performed. In the last act the heroine, Violetta, who has been suffering from consumption (tuberculosis) dies. René did not like this part of the opera at all. It seemed to long to her: “She should just die and get it over with!” I did not dispute this assessment, but I find parts of other operas to be much more tedious.
Kaufmann’s advertising department was on one of the top floors of the flagship store on Fifth Avenue in Pittsburgh. The most peculiar thing about it became evident when one needed to use the men’s room. One was located on the same floor as the advertising department, but the only way to reach it was to walk through the beauty salon. I did not feel at all comfortable doing that. Therefore, I took the escalator up to the top floor, the home of the bakery. This restroom was a little farther away, but I found the atmosphere much more pleasant.
Everyone at TSI worked very hard on the programming projects for Kaufmann’s. The people there were uniformly supportive, and everyone seemed pretty good at what they did. I am embarrassed to say that I don’t remember the names of any of the media managers. The name Debi Katich is in my notes from 1999. I think that she was the Direct Mail Manager, but I may be wrong.
I do not remember the name of the Senior VP (Mary Ann’s boss) at the time of the installation. As I recall, he let Mary Ann pretty much run things. I definitely do remember the name of his replacement in 1999, Jack Mullen6, who had been Doug’s boss (or maybe his boss’s boss) at G. Fox in Hartford.
I also do not remember too many details of the code that we provided for them. The detail about newspaper ads that I recall most clearly is that the store’s contract with the Pittsburgh Post-Gazette provided for significant discounts if they ran several full-page ads in the same issue. It was like buying two-liter bottles of Coke or Pepsi. The first three ads might cost $X but once the fourth ad was ordered, the price on all of them changed to $Y for all four ads. This was not easy to code because individual ads could be added, deleted, or moved (to another date) at any time. Also, the size could change. Any of these events could change the rate for all the other full-page ads in the paper that day. Not only did the rates and costs for all the affected ads need to be changed, but history records were also necessary.
Kaufmann’s used AdDept for keeping track of all of its advertising. They even uploaded their broadcast buys from the SmartPlus system that they used.
In 2000 Kaufmann’s was an enthusiastic supporter of the implementation of the AxN project. Several people offered the opinion that the newspapers would never pay for subscribing to the service. Mary Ann did not agree. She said, “They’ll subscribe if we tell them to.” I visited three of Kaufmann’s largest papers to explain what we planned to do and to solicit suggestions. When I mentioned that I was meeting with the IT director at the Pittsburgh Tribune-Review, John Borman confided to me, “I want his job.”
In 2002, the Kaufmann’s stores’ Pittsburgh business headquarters closed, and its back-office operations were consolidated into those of Filene’s Department Stores in Boston. The consolidation was probably inevitable, but everyone at TSI would have greatly preferred for the new managing entity to be located in Pittsburgh.
1. In 1921 Mary Ann Brown is the Administrative Manager at her alma mater, the University of Pittsburgh. Her LinkedIn page is here. I don’t know why she left her role at Kaufmann’s off of her résumé.
2. René Conrad’s LinkedIn page is here. After the May Company folded the Kaufmann’s division into Filene’s in 2002 I tried to get René to work for TSI. She was interested enough to pay us a visit in East Windsor, but she turned down our offer. Instead she went to work for a theatrical company in an administrative role. We stayed in touch for a few years, but I had not heard from her for more than a decade. However, she recently sent me an email in which she confessed that she owed me a book.
A May Co. division with headquarters in Arlington, VA. Continue reading →
In 1991 I received what probably was the most welcome business telephone call in my life. At the time TSI had only two AdDept1 clients, Macy’s Northeast2, and P.A. Bergner & Co.3 I had recently sent to the advertising directors of several dozen other large retailers a letter that described the AdDept system and the positive effects that it had produced at its first two installations. The phone call was from Barbara Schane Jackson4 of the Hecht Company, a department store chain in the mid-Atlantic area. I did not realize it before that first call, but Hecht’s was one of the divisions of the May Company.
Barbara explained that the advertising department was looking for a system that would handle its administrative requirements. She emphasized that it absolutely must be able to produce the data for the 790, a monthly report required by the May Co. that broke out advertising expenses and co-op at the CCN5 level. She explained that at the end of every month the financial area of the department struggled to get the report out by combining the data from many spreadsheets. They were barely able to do this by leaving six or seven PC’s running all night. There were two big disadvantages. 1) If anything went wrong, they had no plan B. The May Co. required them to file the report within a week after the end of the month. 2) Hecht’s had recently acquired more stores, and they anticipated more acquisitions in the near future. Their PC approach probably could not handle the additional load.
When I assured her that this sounded feasible, Barbara invited us to visit their headquarters in Arlington, VA, and, if possible, do a demo of the system. This was music to my ears. Not only was Hecht’s a very well qualified prospect for the AdDept System. If we did a good job, we would have a much better chance of signing up the eleven other divisions of department stores owned by the May Company that were all very well-qualified prospects for the AdDept system .
Our marketing person at the time was Tom Moran6. Sue Comparetto, Tom, and I drove down to Washington in Sue’s Saturn station wagon. We certainly could not have afforded to buy three round-trip plane tickets at the time. We stayed at a Motel 6 in Maryland just outside of Washington. We could afford nothing better. Actually we could not afford that.
I don’t remember too many of the details about the visit. We met in Hecht’s Arlington store, which was in the Ballston Common Mall. In addition to Barbara and the advertising director, whose name was, I think, Steve, we also probably met with the media, production, and finance managers. Barbara certainly provided me with all the requirements for the 790 report. It did not seem too daunting. The rules were more complicated than the ones that Macy’s used for their reports by Vice President, but the principles were very similar.
Barbara at some point demonstrated the process that they used at the time, which involved Lotus 123 spreadsheets. I could not believe how adept she was at the use of this product. Her fingers flew around the keyboard executing commands and macros.
I did a demo for them at an IBM office in . Barbara later told me that she and Steve had serious doubts about how the answer to their problems could possibly be this ugly. She might have been referring to my appearance, but I think that they were most likely underwhelmed by the AS/400’s7 green screens and the pedestrian nature of its reports. There were no graphics of any sort anywhere. The only flash that my presentation had was how fast the screens appeared. In those days users were accustomed to substantial delays going from one step to the next.
The proposal that I wrote for Hecht’s was much more detailed about the contents of the first stage of the installation than what I had submitted to Macy’s or Bergner’s. We recommended, as I recall, that they purchase a model D10, a box that was considerably faster than TSI’s developmental system, but probably not as fast as the one used by Macy’s and Bergner’s.
The hardware determination was largely guesswork. IBM did not provide the usual performance numbers about its systems. For example, there were no statistics about the clock speed of the processors. I later came to understand why IBM did this, but at that time it seemed very strange that two different models actually had the same processors. The only difference was that the more expensive one had the capacity for more disk drives and memory cards. It did not come with these features; it merely had a way to attach them. I always recommended the more economical system unless the client really had a need for those drives or cards.
The installation began in October of 1991. The process of integrating the necessary changes was, as expected, difficult. However, it was never unpleasant. Barbara was a superb liaison, and most of the modules went in with no significant problems. The changes that I had to make to the cost accounting8 programs caused me quite a few headaches.
At one point I tried to document the steps of the “explosion” process—TSI’s term for the set of program that created the detail and summary files used by the programs that produced the 790 report. I quit after I had produced ten pages. I was not close to finished, and the result was totally unreadable. Every sentence started with the word “If”.
A major enhancement for Hecht’s provided for different types of costs being allocated in different ways. This required establishment of a table of allocation codes as well as an interface with the mainframe’s sales system to obtain the sales by department for the month. We also provided for a set of reconciliation programs to check the consistency of the results.
I distinctly remember two of the first attempts that we made to generate the cost accounting files. In both cases, Barbara submitted the program to run in batch mode (not tying up any input devices). I was in Enfield, but my AS/400 session had “passed through” to Hecht’s system. At the same time I was on the phone with Barbara.
In the first instance I was a little bit worried about how large the detail file that the system created might become. I monitored it and what the percentage of the ads that the program had already handled.
After just a few minutes I realized that the file was becoming very large very quickly. “Oh, no!” I warned Barbara. “The program is eating up the disk like the Blancmange! You’ve got to go to the system console and kill the job immediately.”
I am not sure whether Barbara understood the Monty Python reference (in which a Blancmange from planet Skyron of the Andromeda Galaxy eats people in order to win Wimbledon), but she laughed anyway. She certainly knew what a blancmange was; she had actually majored in French. She killed the job in plenty of time, and I deleted the records in the file.
The disk-gobbling program could have been a serious problem. If the the system’s disk drives had approached 100 percent usage, I am not sure what would have happened. It would not have been pleasant; we almost certainly would have had to involve IBM. After the job was killed, and the file was whittled down to size, I had to change the program to summarize in a few places where it had been writing details. This was a major repair, and it took me a while.
The second incident involved some kind of tricky allocation that I had not anticipated. I don’t remember the details. Barbara had already called two or three times to report that this aspect of the program was not working correctly. Each time I thought that I had fixed it. In the last call I admitted that “I just can’t seem to get this right!” I did not mean that I was giving up on it. In fact, I found the final problem in less than an hour after acknowledging my failures.
When we got the cost accounting program to work perfectly, Hecht’s was very happy.
I made quite a few trips to Hecht’s during the first phase of the installation. There were direct flights from Bradley to National Airport in Washington on US Airways. From the airport I took the Metro or a taxi to Ballston. I could be at Hecht’s before business hours, a feat that I could never manage at Macy’s, which was less than half as far away from Enfield.
If my visit was for more than one day, I generally stayed at a Comfort Inn that was within a few blocks of the mall.9 I always left the hotel early in the morning. I bought a Washington Post from the dispenser just outside of the mall—for twenty-five cents! I then took the escalator down to the food court and bought a Big Breakfast or an Egg McMuffin and a large coffee from McDonald’s. I ate my breakfast while reading the Post. I also drank about half of the coffee.
Coffee in hand, I rode the escalator back up. I then entered Hecht’s through the employee entrance, signed in, and took the elevator up to the advertising department. I worked mostly with Barbara. She did most of the training or the other users.
About half the time Barbara and I ate lunch at a restaurant in the mall. It was called the American Restaurant or something similar. We talked mostly about the installation and related matters. She knew that I went jogging in the evenings when I was there; she was surprised that I could survive without my glasses. She was a swimmer. The ropes that marked the lanes evidently kept her from getting lost.
She also told me something about needing to use a shop-vac on one occasion.
All of this seemed a little strange to me. Her husband, Kevin Jackson, also worked in the advertising department. My recollection is that he was an art director; he had no contact with the system. He never came to lunch with us.
Barbara resigned from Hecht’s in May of 1993 to work for Barrister Information Systems, a company that created and marketed a software system for law firms.
After Barbara left, Hecht’s continued to use the system, but they did not ask us for much more work, and they did not take advantage of many of the programs that they had. I do not remember the names of very many employees. In fact, the only one whom I recall was Ellen Horn, and that was mostly due to the fact that I saw her so often at her next stop, Belk.
I discovered quite a few notes about the account that covered the period from 2000-2003. I have somewhat vague memories of some of them. Here are some of the people who were mentioned.
Jim Tonnessen10 was our liaison at the turn of the century. I think that he also managed the department’s network, which was installed after AdDept was functional. Jim took a job with UUNet in February, 2000.
Jim was replaced by Clint Gibson, but he also departed in August of the same year.
The nexttechnical liaison was Sam Wiafe, who was later known as Kwadwo.11 I guess that he knew computers, but he knew nothing about AdDept, the AS/400, or the needs of the advertising department. The IT people tried to implement a firewall for the AS/440 in order to control access. It was a silly idea that angered me a little.
Jennifer Jones12 was the manager of the advertising business office in 2000. Chris Dechene13 held that position before her. I made a trip to Hecht’s in June of 1999 for the specific purpose of getting Chris acquainted with the cost accounting programs. One of the problems that we encountered at Hecht’s was that the financial people were rotated around every two years. So, as soon as anyone got a good handle on the cost accounting process, we could expect them to be transferred to another area. These people also were not exceptionally good at documenting their procedures.
Prior to 2000 Hecht’s for some reason did not use one of AdDept’s best features, insertion orders for newspaper advertising. On a trip there in that year I met Renee Gatling14, Ellen Rison, and someone named Sharon. Renee was already pretty good at getting around in AdDept. I convinced them that they should be faxing their orders using AdDept.
By the end of 2000 I think that our primary liaison at Hecht’s was someone named Amy. I don’t remember her, but when we installed the Media Management + interface for broadcast, she was involved. The broadcast buyers at that time were named Krista and Tiffany. I found their names in my notes.
In October 2002 Brian Kipp, whom I had worked with at Meier & Frank, became the planning manger in the advertising department. Carolyn Thompson and a woman named Renée worked for him.
I spent a good deal of time on one visit with Rene Basham15, who was the manager of the advertising business office. I was astounded to learn that she had not been using the reconciliation process that we set up for the cost accounting. I went through this with her and also worked on documenting the process for the next person who was rotated into the slot.
In looking through the notes I discovered two other interesting things. The first was that Hecht’s used a product called Wam!Net to deliver its ads electronically to the newspapers. The Associated Press developed a product called AdSend, which most large advertising departments used. At the time (early 2000) TSI was beginning to roll out our AxN16 product for insertion orders via the Internet, and we were contemplating using the connection that the program established to send ads as well.
One day while I was at Hecht’s in 2002 the performance on the machine was terrible. In the notes I had attributed this to CFINT, an IBM program that I had completely forgotten about. It was a misbegotten effort from IBM to make customers pay more for use of the system for interactive jobs than for batch jobs by slowing the entire system down if the percentage of CPU used by batch jobs was too high!
The main effect of this effort, as far as I could ascertain, was to infuriate the customers. It is possible that the real motivation was to prevent the AS/400 from encroaching on the sales of other IBM systems.
I have one other peculiar recollection. At some point after 2002 I was in the office on a Saturday. It must have been November, and I must have passed through to Hecht’s system to help someone there with a problem. We exchanged a few messages. I then whimsically invited her to come the following day to a big party that I was throwing to celebrate the divestiture of the foliage on the nine maple trees on my property. I recommended that she recruit a bunch of people with their own rakes. An early start would reward them with the spectacular view of the sunrise from the New Jersey Turnpike. I reckoned that they should have time for six or seven hours of New England’s favorite autumnal sport before returning home. They could make it back by midnight unless they encountered traffic.
On February 1, 2006, Federated Department Stores, which had purchased the entire May Co., dissolved most of the former May Co. divisions, and the existing Hecht’s stores were divided between Macy’s East and Macy’s South. Few, if any, employees from Hecht’s headquarters in Arlington went to work for Macy’s.
1. The design of the AdDept system is described in a fair amount of detail here.
2. A description of the Macy’s installation has been posted here.
3. A description of the installation at Bergner’s can be read here.
4. Barbara Schane Jackson has her own consulting firm in 2021. Her LinkedIn page is here.
5. Every department was assigned to exactly one CCN. The CCN’s were the same for each division of the May Company. The N stood for number, but I don’t think that I ever knew what the two C’s referred to.
6. More information about Tom Moran’s career at TSI can be found here.
7. The AS/400 was a multi-user relational database computer introduced by IBM in 1988. It is described in some detail here.
8. In AdDept we used the term “cost accounting” to describe the process of allocating costs to departments (or, in some installations, stores) for the ads in which their merchandise appeared and the cost of more generic ads (called “storewide”). This was a complicated activity that would require a small army of clerks if not done on the computer. Although the May Co. had precise rules about this process, it was almost impossible for the smaller divisions, which ran just as many ads (in fewer newspapers) and had just as many departments, to accomplish it within the deadlines. They therefore cut corners.
9. The mall is now called Ballston Quarter. It was (pretty much) closed down in 2016 and reopened in 2018. The hotel is still nearby.
10. In 2021 Jim works for Lockheed-Martin. His LinkedIn page is here.
11. Kwadwo’s LinkedIn page can be viewed here. In 2023 he was working for Inova Health Systems.
12. Jennifer Jones works as treasurer of a school. Her LinkedIn page can be found here. I wonder how many of her acquaintances have also seen The Song of Bernadette, the movie that won the actress Jennifer Jones an Oscar, and read all thirteen of the articles championing Losing Trick Count in the Bridge Bulletin written by the bridge expert Jennifer Jones. Not many, I wager.
Even before I became a professional software developer, my friends and acquaintances often approached me with their ideas for computer programs. It started in the Army with Doc Malloy’s idea for a tennis game, continued through graduate school, and was nearly ever-present in my business life. It seemed peculiar to me that so many people seemed to imagine that I had a skill that they lacked but no idea how best to employ it.
In point of fact, the limiting factor in software development was almost always money. A new software system required a substantial investment to cover development and testing costs, as well as marketing expenses. Very seldom did the people who propose these project give any thought to helping to finance them. At least they never volunteered information about having a secret source of funds. They evidently thought that they should share in the imaginary profits because they provided the original idea. I sometimes told them, “ideas are a dime a dozen. Implementation is everything, and marketing brings it home.”
I had plenty of ideas of my own. A few of them, such as the idea of running several simultaneous “threads” for the cost accounting programs generated a bit of revenue for TSI. One of my ideas, the use of a butterfly-shaped website for insertion orders and emails for notifications, resulted in a very profitable product for TSI, AxN. The genesis of its design and the marketing concept that turned it into a financial winner is described here.
TSI’s clients also had a large number of ideas for programming, but they seldom expected us to work pro bono. I spent many hours researching and writing quotes for changes to our systems requested by our clients. I doubt that a month went by in which I failed to produce produce ten or twenty of them. I considered my most important responsibility at TSI to be providing a clear description of each requested project and assigning an appropriate cost figure.
Very seldom did someone approach me with a project that included funding. I can think of three times in forty years. Only one of these concerned software that we had already designed and coded. The person making the proposal was Gilbert Lorenzo1, who was one of the top bosses in the advertising department at Burdines, the Florida division of Federated Department Stores.
Gilbert telephoned TSI’s office in the early nineties. He had received one of our first mailings about AdDept, our administrative system for large retail advertising departments. He said that he would be in New England to meet with some people at Camex2, the company based in Boston that marketed a system for digitally producing page layouts for newspapers and large advertisers. He requested us to show him a demonstration of the AdDept system.
We reserved some time in a demonstration room at the elegant IBM office in Waltham, MA. We had a relationship with this office, but we had never done an AdDept demo there before. I arrived there as early as I could to get the system set up for my presentation. It was a very nice facility that always impressed potential clients.
The AdDept system in those days was fundamentally sound, but many “bells and whistles” were added on in the subsequent decade. In almost every case they were suggested by and paid for by one AdDept client or another.
The most impressive thing about the demos in the early years was the speed with which the programs moved from one screen to the next. Once the tables were set up, a user could define all aspects of a new ad to run in dozens of papers in just a minute or so. This always generated the biggest “Wow!”
In our discussion after the meeting Gilbert said that he liked what he saw. He might have even said that he wanted to buy the system. However, I did not hear from him again for several years. This was consistent with what always seemed to happen with Federated’s divisions, a phenomenon that is explored in more detail here.
Meanwhile Burdines was—unbeknownst to me—experiencing explosive growth. In 1991 alone the number of stores increased from twenty-seven to fifty-eight through the assimilation of two Federated divisions— the Maas Brothers and Jordan Marsh stores in Florida. More stores were added throughout the rest of the nineties. By the end of the decade Burdines dominated the department store market throughout the entire state.
The purpose of Gilbert’s second contact with TSI was to invite me to Huntsville, AL, the home of a software company with which he was working at the time. I don’t remember the name of the company. I do recall that two of the team assigned to this project formerly worked as software developers at Camex before DuPont purchased the company and changed its focus. One of them was Mike Rafferty3, whom I had met at Camex’s headquarters when our common customers had requested that an interface should be constructed between the two systems, a project that was described here.
The software company in Huntsville had a very impressive headquarters. As I understood it, the company’s primary customers were NASA and companies that worked with NASA. That was de rigueur in Huntsville.
Gilbert explained that he was working with Mike and the others to develop a comprehensive software system for the advertising department at Burdines, and he hoped and expected that the other Federated divisions would also use it. He wanted TSI (or at least me) to participate in the project, and he insisted that he had the funding for it.
Mike described their approach to the project. They intended to use a home-grown database that resided on a server, but most of the programs would reside on the individual “clients”—PC’s or Macs. When I told him that TSI’s programs were written in BASIC, he suggested that we consider converting them to use Microsoft’s Visual Basic.
Most of the discussion concerned the scope of the project. They were interested in integrating something like AdDept into the unitary structure that they envisioned. No one addressed how TSI would be integrated into the development process. Maybe they expected me to fill in some of the details or to volunteer to research how difficult it would be. Maybe they knew that we seldom backed down from a project just because it was difficult.
The atmosphere was cordial and positive. I remember that we all went out to lunch together, and I ordered a Monte Cristo sandwich. Nevertheless, this meeting made me very uncomfortable. On the one hand, the prospect of installing a version of the AdDept system into all the remaining Federated divisions was way beyond tantalizing. It would be a dream come true. What they suggested would undoubtedly a big job, but TSI had a talented group of programmers who were quite familiar with both the subject matter, and the way that I liked to approach big challenges.
On the other hand, from my perspective the way that this project was described was adorned with “red flags”.
I had already researched the possibility of using Visual Basic. It might have been possible to convert some of the programs, but there were no tools designed to help. It would certainly have taken TSI several years to produce a workable system. We would be discarding all of the tools that we used in favor or ones that we had never used and, to my knowledge, had never been used by anyone in a data-intensive situation. TSI’s programmers would certainly need a lot of training. We would probably need to hire skilled employees or at least consultants to achieve any degree of efficiency.
Their whole architecture was different from what we used. In the AdDept system the data and all the programs resided on the AS/400 server. The “client-server” approach that they proposed located the data on a server, but the program were all distributed to the PC and Mac clients. To me this sounded like an administrative nightmare. All changes—including emergency fixes—must be installed on all of the clients.
I considered the AS/400 integral to AdDept’s success, and so did our customers. The operating system code was built on the database rather than the other way around. That meant that the system itself could never be used for programs with the the huge requirements for memory, disk, and processing speed that design and creation of advertising layouts required. The AS/400 was definitely not designed for that. However, it was ideal for administrative systems like AdDept. It competently handled so many problems with which all-purpose operating systems constantly struggled.
I trusted IBM and the AS/400’s database. I knew how to get the latter to function efficiently, and IBM’s support was unmatched in the industry. The idea of converting to a home-grown database seemed just preposterous.
By the time of the meeting in Huntsville TSI had finally turned the corner. The AdDept product had a solid client base and a good number of prospects outside of Federated. How could we continue to pursue AdDept development for those companies—which was relatively certain to generate revenue and good will—while devoting a great deal of time and attention to the massive Federated project? It did not seem possible to me.
Gilbert had said that he had funding, but he never provided any details about who, how, or how much.
Something about the project sounded fishy to me. They were interested in my participation, but they never specified how. Did they want to buy TSI? No one mentioned anything like that. Did they want to hire some or all of us? Did they just want me to consult with them as to the system design? Or was there something else?
At the end of the meeting, Mike asked me what format TSI preferred for exchange of information. Both of the programmers were very surprised when I told them that our offices were connected to all of the clients’ AS/400s via phone lines. We used the AS/400’s built-in messaging and word processing. No one had ever asked us to communicate outside of that.4 I told them that TSI’s employees had PC’s, and the company had a few modems, but we mostly used the PC’s as terminals to the AS/400.
The group did not come to any agreement about how the project was to proceed. I had an impression that they thought that I (who was well into my fifth decade on the planet) was a fossil. I, on the other hand, thought that they, who had dealt almost exclusively with production of ads for newspapers, dramatically underestimated the difficulty of designing a single multi-user database that was capable of handling all aspects of scheduling and managing the financial aspects of all media. The planning and cost accounting modules were even more challenging.
After the meeting I had a little bit of private time with one of the principals of the software company. He asked me what I thought about the project. I told him that it was interesting, but I did not see the ROI (return on investment) for combining the two systems. I remember his exact words. “ROI. Oh, yeah, where’s the ROI?”
I did not hear from any of them again, and I did not press for inclusion in their project. In all honesty I had too many other things demanding my attention. After a year or two I sometimes wondered whether Gilbert had abandoned the project or had gone ahead with it. The answer, it turned out, was somewhere in between. I spent no time searching for information about the project, but little hints turned up occasionally.
Our liaison at Lord & Taylor, Tom Caputo, described to me his experience interviewing for a job in the advertising department at Bloomingdale’s, a Federated division in New York City. He asked the people there about their computer system. They showed him boxes that contained the software for the FedAd system, which Federated had sent them and told them to use. The people at Bloomies had never unsealed the boxes.
When I installed the AdDept system at Macy’s South5 in December of 2005, TSI’s liaison there was Amy Diehl. Her official title was “FedAd Coordinator.” By then I knew that FedAd was the culmination of the project begun by Gilbert Lorenzo more than a decade earlier.
I soon learned that the advertising department at Macy’s South was not actually using the FedAd system at all because the programmers had admitted that it could not handle the department’s planning process. Instead they had been using parts of a previous version called Assets for a few tasks. I was astounded to learn that the Assets system used a Microsoft Access database. They had sent a boy to do a man’s job! Federated Systems Group no longer supported it.
Later we heard that Macy’s East was using the FedAd system, which by then had been given a different name. At the time its advertising department was still using the Loan Room system that TSI had written and implemented for them in the early nineties. That meant that for years the details of every ad were being entered into at least two separate systems.
I even quoted a bizarre request from Macy’s systems people to write an interface between their system and AxN. I provided them with a quote, but nothing came of it.
In all of that time—more than two decades—I never heard anyone say anything good about FedAd. As far as I know it generated a great deal of expense and not a penny of revenue for the company. I only knew of one department that used it. TSI, in contrast, sold and installed thirty-five AdDept systems, each of which was customized to the needs of the individual departments.
On the other hand, I might have been able to carve out a career as the guru for Macy’s concerning administrative software for advertising. That would have certainly been something to crow about. After all, when the game was finally ended, Macy’s had all the marbles.
I doubt that they would have let me—and whatever portion of TSI was involved—participate from Enfield or East Windsor, and I doubt that they would have let us continue to perform or oversee work for their competitors. They might have allowed me to program for the AS/400—I saw several of them at the FSG data center in the Atlanta area. However, it was more likely the Gilbert would have required everyone in the process to use the same database. He seemed to be calling all the shots.
So, I probably would have had to sell my soul to Macy’s. I might have made a lot of money, but I think that I would have been miserable. Almost everyone in my acquaintance who had worked for one of our clients and then worked for Macy’s or a Federated division quit in the first few years and was openly bitter about the experience.
Finally, I must add that I suspect that there was a good possibility that the invitation to Huntsville was just a ruse to get me to expose the totality of the AdDept system to people who might be able to replicate it.
Epilogue: While researching the blog entry for TSI’s relationship with Federated Department Stores (posted here), I discovered that Val Walser’s LinkedIn page prominently features how she “directed development of a sophisticated, integrated software product” in the division run from Seattle. It must be referring to the system that Gilbert and Mike envisioned so many years earlier. I never heard anyone mention any other such system.
1. For some reason Gilbert Lorenzo has two LinkedIn pages. They are available here and here.
2. The Camex system was used by both of the first two AdDept users, Macy’s East, and the P.A. Bergner Co.
3. Mike Rafferty’s LinkedIn page is here. It did not provide much information about him when I discovered it in 2022.
4. Keep in mind that the Internet was in its infancy. At that time Microsoft had not yet completed its domination of the word processing and spreadsheet markets. Technical people used “message boards”, not email, for communication. AOL did not hit the web until 1997.
5. The installation at Macy’s South is described in detail here.
People who have not worked in retail advertising will probably have trouble understanding this entry. Nevertheless, because the AdDept system was the focus of my life for so many years, I feel obliged to document as much of its structure as I can remember. It did not occur to me that I might want to undertake such a task until very recently. Consequently, when I closed down TSI in 2014 I discarded almost all of the system’s documentation. The few computer files that I have subsequently found are mostly PageMaker documents. I don’t have that software on my computer, and the files are too large for the services that will convert them to pdf files online. So, I must rely on my memory, which is not as reliable as it once was.
AdDept was designed for and implemented in OS/400, the operating system of the AS/400 and its follow-on hardware. Some of the important and unique features of this operating system are described here. Every line of code that we wrote in 1988 still worked in 2014, and I have no reason to expect the code to stop working any time soon.
All programs were originally written in BASIC. Around the turn of the century IBM stopped supporting BASIC, but TSI was authorized to install the product (a compiler, and interpreters of both BASIC commands and BASIC procedures) on any system that use our software. This only caused one major problem, which is documented here. However, Denise Bessette did not like this arrangement and undertook to convert the programs to ILE RPG. I never appreciated the value of that idea, and I never took the time to learn that language, which is supported on no other system.
All data tables and the major programs in AdDept began with the letter D, which stood for department. This was for TSI’s benefit. The ad agency system used a similar structure, but no files or programs began with D. The second letter in AdDept tables was usually A, I, M, or P, which stood for accounting, (loan room) inventory, media, and production. Programs that were used for cleanup, copying, and other miscellaneous tasks began with DX.
All AdDept programs were stored in the same library1. It was usually named TSIPROG. The data was in a library named TSIDATA. A few clients had additional data libraries for additional companies. At these installations we created a separate library called COMMON or TSIDATACOM to hold the tables that were used for both companies. For example, both companies probably used the same ad types and expense classes (major media). The tables used by both were moved from TSIDATA to the common library. A new data library was created for the data files for the second company. In the beginning it contained empty copies of all of the remaining files in TSIDATA.
No two instances of AdDept were the same, but each had the same TSIPROG library. The settings for each installation were designated in two ways: 1) A set of empty one-byte files, the existence of which activated certain features; 2) a file called DASPECS that contained a very large number of switches, descriptions, and system values. The program to maintain the system values was not on a menu, and users were not allowed to run it.
Everyone needed a user ID to sign on to the system. Those connecting through a network could have any number of simultaneous sessions open.
AdDept’s user table, which was also on no menu and could be run only by the AdDept liaison, limited the programs to which the user had access. If the same employee worked with two different data libraries, a second user ID was required. The two user ID’s would have different library lists.This arrangement may sound cumbersome to people who are used to managing hundreds or even thousands of nested folders, but it did not seem strange to the users of a multi-user system. Furthermore, it was absolutely critical that changes not be made on files in the wrong library. All TSI menus displayed the name of the data library to help eliminate confusion.
The retail calendar was accommodated by the season table. The key was a three-digit number. The first two digits were the fiscal year. The third digit was 0, 1, or 2. 0 meant that a standard twelve-month calendar was used. 1 and 2 were used for 4-5-4 retail calendars, which are described here. This table contained the name of the season, the starting date, and the number of weeks in the season.
Ads were classified by three separate codes:
The one-digit insertion code determined which set of screens was used for data entry. This was a fixed set, but more codes could be added for additional media.
The one-digit expense class identified how the ads were categorized for accounting purposes. Later a sub-class code (blank default) was added for one client.
The two-digit ad type was specified when an ad was created. This table held the insertion code and expense class. It also had a binary field to identify whether color charges were applicable.
Media vehicles, such as newspapers, magazines, and broadcast stations and networks (called pubs in AdDept), were identified by a five character codes combined with a two-digit number (usually 0). For newspapers at least one number was reserved for inserts (usually 10). The users specified the days on which the paper published, whether it was AM, PM, or a combo2 and the paper’s depth (maximum number of inches vertically on a page). For direct mail the pubs were usually geographic markets.
Stores could be identified by a five-digit number.
Every pub had a list of stores that were associated with it. There was also a date-sensitive pub-store allocation table that contained the percentages allocated to each store associated with the pub. The key to this table included an effective date. Less than half the AdDept retailers allocated costs to stores, but the ability to do so was very important to those that did.
Rates for ROP and inserts were date-sensitive. For ROP separate rates could be entered for black-and-white and several different color choices. There were also tables for linage-based discounts and premiums for things like special positioning such as “back of main”—the last page on the first section of a paper. For inserts a table of usual quantities (thousands of copies) could be created, with rates for each.
The system needed to be able to find the right rate to apply whenever an ad was changed or moved. Costs could also be recalculated en masse when a new contract had been negotiated. These were attractive features.
Probably the best idea that I had when designing the system was to allow the definition of pub groups (identified by five-character codes) to specify sets of pubs in which the same ads often ran. Clients could have hundreds of these or none. When a new ad was created, one pub group could be specified. A schedule could automatically be created with all the pubs in the group.
The hierarchy of participating merchants had five levels in AdDept. The lowest (most detailed) was the department. The system called the other four ADMGP, GRPVP, SENVP, and GRSEN to match Macy’s East’s designations. Most retailers had only two: DMM’s and GMM’s. The May company used “CCN numbers” to group related departments. For each level each client determined the descriptions used on screens and reports.
Employees were identified by three-character codes. Employees could be assigned to production jobs. So, an employee could see a list of all of his open assignments.
The traffic system allowed specification of a code for each production job that determined the job’s production schedule. So, black-and-white ROP ads might have a three-week production schedule with eight steps. The number of days for each step could be specified. Then the system would count backwards from the release date to build a schedule of due dates that accounted for weekends and holidays. The completion dates of each could also be entered (an X meant “today”).
This seemed important to several clients, and we built it precisely the way it was described to us. However, the production employees did not like it. For one thing, most of them used Macs for working on the ads, and they found a text-based system clumsy. I don’t honestly think that they would have liked it much better with a GUI (graphical user interface) as the front end.
The accounting tables were similar to those in the GrandAd System (described here) or any other system. They were designed to be consistent with whatever system was used by the accounting department, but AdDept users did not need to memorize the very long codes that were common in those systems. In AdDept the main entity was the sub-account, which was identified by a five-character code. One corporate G/L account was specified for each sub-account.
The vendor table also had a five-character key. The corporate vendor number was specified there. This table was used for merchandise, media, production, and other vendors.
Categories of production costs were identified by three-digit codes, just as in the GrandAd system.
The Ad Files
The system had one major header file for ads of all types and a number of lists that were associated with it. The ads file3 was identified by the season, a five-digit ad number (usually generated by the system using client-specific rules), and a one character version code (usually blank). The ad number could either be entered or generated by the system. Data entry began with the specification of the run date and ad type. A large amount of information was deduced from those two values. The headline and size4 of the ad were then entered on the header screen, which also contained many other fields.
The second step for ads of all types was the media schedule. If the pub group was accurate, nothing had to be entered here for ROP and inserts. For direct mail the quantities by market were entered.
The third step was the list of participants with percentages and co-op commitments.
Expected production costs could either be entered as one lump sum or detailed by category.
Audit Trails
History records were created for any activity that affected planned, committed, or actual costs or income. Reports and screens were written for viewing them. A few custom reports were also written for clients.
Planning
New ads were ordinarily assigned a status of P, which stood for “planned”. When the plan was completely approved, a program could be run to change the status of all status P ads to A (active). At the same time records of the detail of the costs of those ads at that time were recorded in separate files named DAPLAN (by department or group) and DAPLANST (by store).
Changes could still be made to any aspect of any ad, of course. Those values were considered “committed”. The actual costs were based on the measurements and the invoices from the media and production vendors. Actual co-op was based on the “claims” that had been processed.
In subsequent years several AdDept users let the system build the entire schedule based on the previous year. Thus season 951 could be built based on the ads run in 941. This process was called “anniversarying”.
Cost Accounting
Most advertising departments were keenly interested in comparing planned, committed, and actual costs by merchant or by store. AdDept had programs that would create detailed records every night by store and/or merchant for all ads in the current season. The merchant records were stored in DACOMMD (committed) and DAPANDL (actual). The records by store were in DACMDST and DAACTST.
Numerous reports were written to allow comparison of planned, committed, and actual costs and income (from co-op). Some users also queried these files on a regular basis using IBM’s Query/400 product.
Interfaces
Broadcast ads could be fed into the system from Doner, the May Company’s ad agency, and from Media Management + files created either internally or by an agency. There may have been one or two others of these.
A couple of clients used ad agencies for their newspaper ads. TSI constructed interfaces to receive the ad schedules from the papers.
Several interfaces were created to send files to feed corporate Accounts Payable and General Ledger systems.
Sales at the department level could be downloaded from the mainframe. Customized reports helped gauge the effectiveness of ads in comparison with the costs.
Backup
It was easy to schedule a backup nightly and to schedule the cost accounting programs to start when the backup was done. The backup would not save files that had record locks. Any time that a record was read from a program that could update that file (as often occurred), the record was locked to prevent one user from accidentally overwriting the work of another. It was sometimes difficult to persuade users either to make sure that everyone had signed off every night or to shut down the interactive subsystem before backing up and restarting it later.
TSI recognized this problem and warned the users about the possibility of lost data if files were not backed up routinely and correctly. We even offered (for a modest fee) to check their backups every day and notify them by telephone if the backup for the previous nights did not complete correctly. Only one client took advantage of this service.
The failure to check backups resulted in one ugly mess that was described here.
Cleanup
By the standards of the day the cost accounting and history files often became extremely large. A menu of programs that permanently deleted records from old seasons was provided.
Other Modules
The Loan Room inventory system was successfully used by Macy’s East for approximately twenty years.
A Photo Shoots system was also designed for Macy’s East, but it was never implemented. I don’t remember why they lost interest in managing the activities of their studio. The location of the studio in Newark may have been a factor.
Many modules were developed for Belk. One that I remember calculated the store’s use tax liability for direct mail pieces for each jurisdiction.
Saks Inc. in 1999 wanted TSI to design a very complicated system for collecting data from the systems of each of its divisions and, eventually, to produce reports that compared divisions. I was very happy that nothing came of this idea.
A special module was created for Radio Shack to manage its advertisements in magazines.
I suspect that there must have been a dozen more of these modules that I cannot recall. We delivered hundreds of custom programs over the years and quoted a similar number that were never approved.
AdDept was a fabulous system. Because it contained so many features, it was somewhat difficult to demo. The screens and most of the reports were ugly. Nevertheless, as soon as prospective clients understood its potential, it was easy to sell to anyone with a budget.
Unfortunately by the time of the Bush-era Great Recession in 2008, Tarot card readings for most major retailers—especially the ones that did a lot of advertising—began with the thirteenth trump card: Death.
1. “Libraries” were a type of object on the AS/400. They were places to store other objects in the same way that folders or directories are used on PC’s. However, it was not possible to build a “tree” of libraries. All other libraries resided in the QUSR library.
2. Yes, a few papers still published two editions per day in the nineties.
3. As far as the OS/400 was concerned, DMADS, the ads file, and the files that contained all of the lists were equivalent to the tables. However, TSI’s organization and documentation drew a useful distinction between the relatively stable tables that were defined at the beginning of the installation and the much more volatile ad files and transaction files.
4. The size for ROP ads was entered in columns and inches. A full-page broadsheet ad was entered as 6×21. The program knew to adjust the inches to match the paper’s depth. The size for inserts was entered in terms of thousands of copies. The size for broadcast ads was the length of the spot in seconds, usually 15 or 30.