A History of AristoCAT
THE DEC YEARS
Hartford State Technical College, the first of five two-year engineering technology colleges operated by the State of Connecticut, opened its doors in 1946 as the Connecticut Technical Institute. By 1961, known as Hartford State Technical Institute, it had moved into its present building on Flatbush Avenue. This building was expanded in 1969, which was about the time the institute became a college. Grom Hayes, hired in 1963 as the first librarian, guided the library through its formative years. On his retirement in 1976, the present librarian was hired, and sought to continue Mr. Hayes effort with his help.
New England states have never been known for their support of public higher education — Connecticut usually comes in between forty-fifth and fiftieth on any survey — and by the late 1970s the lack of support to the library was beginning to hurt its ability to provide service to the college. That near-total cessation of spending left the librarian with a lot of time on his hands, and he began to wonder if the college computer, located very close by, could be induced to do any work, perhaps helping to fill in a clerical position recently lost.
The first project was to learn a programming language, an opportunity provided by the college in 1978. From this meager start came a very crude program to print catalog cards, a program which had all manner of limitations. Mr. Hayes, a bachelor with no living family, came to work every day for the first two or three years and freed up a lot of time for the development of these programs.
Next came the inventory of AV equipment, which recently had been consolidated in the library after being scattered randomly throughout the building. The new librarian, in fact, had been hired partly because of his AV background. Periodical back issues came next, but shortly after this system went online the computer suffered a severe and extended down period which resulted in the loss of everything. The AV and periodical programs were typed in again, the hard way, but the catalog card program seemed too long and inefficient to be worth the trouble. Instead, a whole new approach was developed, resulting in a much more versatile and considerably shorter program. (In addition, the neophyte programmer also learned a lesson about running backup tapes.) By this time, the librarian was hooked on computers and began to live for the machine, to the mild annoyance of the college administration.
During the spring of 1980 the Board of Trustees named the library after Mr. Hayes. Most of the faculty were in favor of this decision. By late fall of that year the systems had grown sufficiently complex that it was hard to keep track of what did what and how it all interacted, and it became necessary to draw up a systems manual which would explain what was going on. The first version of that manual was finished in March 1981 and comprised some twenty-five pages, about a quarter of its maximum length before being put online.
Around this time the entire uncataloged backlog was printed in call number, subject, and tracing order using the SEARCH system. SEARCH proved exceptionally difficult to use, and was further developed during the following several months. The backlog was done again in December 1981; this time SEARCH proved to be much easier to use, although it was still not what it might be. The backlog was run again in March 1982 and this time seemed to work fairly well.
The circulation and daily report systems were developed during the summer of 1981, and went online that fall. By November most but not all of the bugs had been worked out of them. By January 1982 the circulation file had grown large enough to be split into student and faculty groups, and the annual report section had to be made into a program separate from the daily report.
During the latter half of any school term in those days it was difficult to get a terminal to use, with the result that several days might elapse before the circulation program was updated. If something was checked out and returned within this time, it would not be put on the circulation list and consequently would not show up on the annual report. Therefore, a program called UPDATE was created to allow such material to go directly to the annual report so that a more accurate record of the years activities could be kept. UPDATE may also be used to add borrower names and addresses to the name and address file.
In January of 1982 a decision was made to abandon the card catalog altogether and expand the SEARCH listings to include publisher and collation. To this end a simplified version of CATCAR, called SIMCAT, was developed. SIMCAT proved much more manageable for the creation of machine-readable files than CATCAR, and by May about two thirds of the collection had been converted to machine-readable form. Both SIMCAT and the circulation program were improved with the addition of built-in editing capabilities during the spring of 1982. In addition to the ever-present operator error, a condition called keyboard bounce had begun to create too much bad input. With keyboard bounce, the spring in the key does not respond positively enough, and the input is duplicated. If this happens to the carriage return key, there will be a null string waiting for the next input statement, the terminal will store that null string in a buffer and assign it to the next request for input. Thus it becomes necessary to allow for correction. Also during the spring of 1982 a general purpose editing program called EDITIT was developed. This program allowed changes to be made in any file, including the coded circulation files. EDITIT was eventually discarded as other editing procedures took over.
As the 1981-82 academic year drew to a close, a system to urge faculty members to return their library materials was created. This event resulted in the return of several items, and also generated some good-natured ribbing by the faculty about being hounded by the computer. Nonetheless, many things came back, and with a minimum of effort. When the academic year was over, the automated overdue notice writing option was declared a success. The year ended with two books not returned, as opposed to a dozen or so in previous years. The president of the college was pleased to receive a thorough annual report in June, and commented favorably on it. This report, from initialization to delivery, took less than half an hour. It became apparent that the circulation record portion of the annual report should include the title as well as the call number of things checked out during the year, and the change was made. The data was put in shelflist order on the 1985 report: prior to that it had been in order of checkout
Not all was rosy during the 1981-82 academic year, with regard to these systems, however, as it became apparent that periodicals control was not effective. This is fitting, of course, as periodicals control is typically the most difficult of all library operations. The ordering and requisition systems also developed some serious problems during the year. During the early summer of 1982 an attempt was made to convert the circulation file to a virtual array, as it had grown large enough to cause problems in core memory. The virtual array version, however, required so much extra time to execute that the idea was abandoned, and another solution was sought. An attempt was also made to restructure the program to make renewals and deletions easier, but as of September this had yet to succeed. Some progress was made during the summer, however. The periodical titles were printed on labels, to see if that would work better, the idea being that a label still on its backing sheet would indicate an issue that hadnt come in yet; PRECAT was modified so that data on new books would have to be entered only once; a program to finish the cataloging of these materials, FINISH, was developed; the entire collection was converted to machine-readable form; and a new cataloging program, CATLOG, was developed to format these new records. The SEARCH system, which had proven itself with some two thousand uncataloged books, was not adequate for the entire collection. One problem was the need for additional information: since the output would now constitute the librarys main catalog, two more fields publisher and collation were added to each record. This extra information meant that only about seventy-five records could be sorted at one time instead of a hundred and forty. This need for smaller files plus the greater number of records put an intolerable strain on the system, which proved to be very difficult to use. Some solutions to this problem were worked on during the fall term.
By December some progress had been made, but the failure of an expected additional forty-four terminals to arrive and subsequent overbooking of classes kept any advances to a minimum. It was decided during the fall term that accessions would be handled by one of the cataloging programs, and that the record created for each acquisition would be the authority from which other programs would follow. The new circulation system was finally put online in December. Christmas 1982 saw a partially successful system, making life easier in many ways but still not living up to its potential. A Christmas gift that year, however, was the emergence of two potential collaborators, one in Oklahoma and one in Georgia.
The extra terminals and a general upgrading of the system arrived in January 1983, and managed to consume several months. Much of the winter and early spring was taken up with an attempt by the developer to finish a doctoral dissertation, further cutting into the time available for work on these systems. Some work was done on the problem with the SEARCH system, but as of June nothing concrete had been developed. A program to search the circulation record, and some fine-tuning of other programs, was about all that was accomplished during this period.
With the aid of printouts created by these systems, a physical inventory of the entire collection was accomplished during the summer, which at least created the illusion of progress. Very little real progress was accomplished during the remainder of the year as the doctoral dissertation seemed to consume almost every waking moment. An attempt was made to create an online catalog by setting up several virtual arrays to be searched with a binary search, but after several months of work this project was abandoned as it required too much running time to create the arrays. Instead, the entire catalog was converted to a virtual array and indexes were set up to access that array. At the end of the year, the catalog was accessible by index, a big improvement in speed, but the program to sort the indexes was not yet operational. The dissertation was finally completed in February 1984. Much of the remainder of that month was spent recovering from the effort.
Programs to sort the indexes were developed and refined during the spring months, and by June there was a complete set of indexes and a binary search program to access the data with them. The indexes could also be used to create a printed catalog. The need to trade off running time with storage requirements in the creation of these indexes meant that only thirty-two bytes of data could be put into the array elements to be sorted. This is not enough to include the authors full name, the title of the work, and the date of publication, but enough compression was accomplished to create a catalog that was about ninety-five percent useful.
Also in June, the developer married his long-standing sweetheart Gail in an outdoor ceremony overlooking a small pond. Friends and relatives came from everywhere, and it was wonderful.
Most of the problems with indexes and sorting times were eliminated very dramatically during the summer when the PDP-11/70 was dismantled and replaced by a VAX-11/780 the following autumn. With the PDP went the virtual arrays, as RMS relative files supported by the VMS operating system seemed superior. There seemed to be a feeling that virtual arrays were on their way out, although no one ever said so, and in any event the relative files are much more efficient in that they are extended as needed and need not be pre- extended by dimension statements which waste vast amounts of space. The VAX went into service in September, and by December all systems had been modified to meet the new requirements. This turned out to be quite a job, as VAX BASIC is substantially different from BASIC-PLUS, and the entire concept of relative files is different from virtual arrays. Additionally, the VT100 terminals used ANSI-standard screen formatting and all that was changed from the VT52 method. The new online catalog did more, ran faster, and used about half as much disk space as the old version.
In November 1984, a doctor listening to Mr. Hayes chest heard something he didnt like and hustled the old man directly to the hospital. That night, he suffered a massive heart attack and was rushed to Intensive Care within seconds. Had he been at home he would certainly have died.
Further development and refinement on all systems was accomplished during January and February of 1985, and a new circulation system, using indexes to make life easier, went online in April. In retrospect, it is interesting to note the relationship of systems to hardware limitations. The old and very cumbersome SEARCH batch system of the past was necessary because of the limited amount of storage space, and when space was increased it became possible to improve speed and convenience. Those early stages seem impossibly crude by current standards, somewhat like comparing a 1910 open car with a brand-new GT coupe. But in both cases it was the best we could do at the time. By 1985 the scheme of distributing programs to other potential users or collaborators began to look like it was not working, and the process was disbanded. Some dozen such interested parties had received the programs, some getting source code and some object code, but none of these parties contributed any real suggestions.
As the year progressed it became apparent that the concept of a Main Entry, necessary for catalog cards, was a problem with the computer. The user had to know whether a particular author or editor was the main entry or an added entry, as these were located in two different places in the record. During the summer this was changed so that all those involved with the production of a book were put in one place and all title variations in another, thus doing away with the entire concept of a main entry. As with all major changes, that turned out to be more involved than was first thought, and the beginning of the school year in September saw the new system only partially in place.
The above is an example of what Marshall McLuhan called the rear-view mirror effect: as new technology is developed, it uses the content and style of the old technology until new forms become apparent. Thus the screen for the Grom Hayes catalog, in its early days, looked like a catalog card. With the exception of an online editor, these problems had been ironed out by about the middle of September, and the teaching faculty were invited to use the system and offer comments. Many small difficulties were reported and fixed, and the system went up for public use on October 3rd minus the on-line editor which was fixed later that month. On December 12th, 1985, a reception was held for the new system, at which time the card catalog was officially closed.
One of the problems reported by the faculty was the capitalization of titles. We had been using the customary library practice of capitalizing only the first word, except for proper nouns, and this proved to be too confusing. The files were rewritten so that all main words in titles were capitalized. Books and non-book materials (pamphlets and AV software) had been in two separate places, and these were consolidated in the fall of 1985. The data was written to the same file as the books by a program called NONBOOK; consequently SIMCAT was renamed BOOK.
Further refinements were made during the winter of 1985-86 and throughout 1986. One of these was a process to allow catalog requests to be entered without regard to capitalization, a major improvement from the standpoint of user friendliness.
During the spring of 1986 an offer of true collaboration was received from Kauai Community College in Hawaii. The personnel there seemed sincerely interested, and an agreement was reached to work together on the project, which involved a one-week visit to the campus. Many changes and improvements came from this collaboration, most of them in the area of portability, the ability of programs to be used in another setting. A large number of the programs were rewritten to access data files (.TXT files) containing corporate and personnel names instead of having those names embedded in the source code. By Thanksgiving all systems, with the exception of the annual report, were thought to be truly portable and were awaiting a test of this notion. As the overly-severe winter of 1986-87 reluctantly gave way to what passed for spring in New England that year (the rain wasnt as cold), another two or three collaborators turned up and appeared to be actually using the systems, and another visit to the college in Hawaii was made.
Mr. Hayes suffered a massive stroke in September 1986 and was forced to discontinue his visits to the college.
Improvements made during this period included a wholesale change capability and a way to automate the due date of borrowed material. Initial planning was begun on a method to do away with the indexes, for faster running speed, and a project to clean up subject headings, author entries, and titles in anticipation of an authority file, was begun. As data entry had been done by several people in the past, the database was a mess: various spellings and abbreviations, equipment failure, typos, and a general lack of standardization made searching difficult. Hand-filing of cards, for example, will eliminate the difference between & and and, but the computer doesnt see it that way. Much of the summer was spent resolving these issues. Printed catalog backups had been done with three printouts (authors, titles, subjects), each one containing the data for the entire collection. As these printouts began to exceed a thousand pages they became unmanageable and it was necessary to break them into smaller pieces. The program creating these backups was rewritten so that each letter of the alphabet would have its own printout. The difficulty of this change was underestimated and it managed to consume most of the summer. A character known as a backslash (\) had been used to separate fields within a record, but one of the users had been putting backslashes into data, causing the system to bomb out. This problem was resolved during the fall of 1987, when the system was rewritten to the way it should have been in the first place, using a nonprintable character for this purpose.
During that autumn some legal problems with the State of Connecticut surfaced. The State maintained that it owned the systems but would show no interest or cooperation in their further development, which put a severe crimp in the activities of the library. As of spring 1988 there was no resolution to this problem, but development continued anyway: the ability of the system to search SEE and SEE ALSO references was greatly increased, and all filenames were changed to logical names to make file distribution easier. Additionally, the annual report was made portable.
Periodicals control is a big problem in almost all libraries and is a difficult problem for automation systems generally. It resisted development at the Grom Hayes Library until May 1988, when a system was finally put into place that would allow for the issues which had been checked in online to be polled for anticipated next arrival. If that arrival date is earlier than the present date the system will flag the title and automatically write a letter to the subscription agency. During the late summer the library obtained a new edition of Library of Congress subject headings, which involved a massive project to change the records to conform to the new versions. From that came a new procedure, SEEREFUPDATE, to handle changes in SEE and SEE ALSO references. Autumn of that year saw a new way to search by subject: the main online catalog program may be asked to list all online subjects, allowing the user to enter a line number associated with any individual one. This is helpful for users who arent sure how the subject they want is worded, an important advantage with often-outmoded Library of Congress usage, and for those users who cant type. It also has the additional advantage of matching an exact subject, which cuts down on the number of extraneous matches.
Between Thanksgiving and Christmas the maximum accession number allowed was expanded from five to eleven digits, ultimately ending up at fourteen. Frank Moulton, the hard-working and loyal assistant since 1982 and the only other staff member, quit in January to pursue a master’s degree in Library Science, putting a severe and nearly fatal crimp in the librarys ability to do much of anything, and making the testing of new systems and modifications very difficult. Frank had a genius for seeking out weaknesses in new programs. He would finish the degree on time and get a job at Green Mountain College in Vermont, an ideal location for him. Connecticut, the richest and cheapest state in the Union, would not replace him.
The CATCAR system was dropped from general distribution in the spring of 1989 although it is still available on request. The purchase and requisition systems, and the annual report, were developed to the point that they could be sent to other sites. Further activity during the year was limited to fine-tuning some existing programs.
On February 15th, 1990, the tough little bird who had beaten back death so many times finally ran out of time: Grom Hayes died at the age of seventy-nine.
During the spring of 1990 the number of call number headings available was increased from nine to seventy-eight, and several refinements to many programs were also made while the number of headings was being increased. A user pointed out that the separate notes record was not accessed by the two-key search, and this oversight was corrected. The two-key search was also expanded so that location could be the second key. Also increased in 1990 was the number of two-letter codes available for titles that dont need call numbers and are stored by accession number. The old two- letter codes were hard-wired into applicable programs, and were limited to about a dozen AECT codes. This number was expanded to a hundred and thirty and the whole thing put under user control: i.e., the user could define both the codes and their equivalencies. With two-letter codes and location keys completely independent of each other, programs that access the catalog (FIND, INSEARCH, and RCAT) now displayed the location for all items. The command procedure that updates the catalog was rewritten so that it wouldn’t delete any files. There had been problems with files being deleted and then the procedure bombing out, leaving a completely unusable catalog, but now if the process failed for any reason the old files could be restored. Deletion would now be done with LOG.COM, which also allowed the user to resubmit the process for that night. The circulation program, CIRC, was modified so that mistaken entries could be deleted during the edit cycle. All of these changes required that a new piece of documentation be maintained, and sent to users with new versions. Accordingly, a page entitled New Features was created, and all changes added to it. During the autumn, the diagrams showing how the files interact were improved. These diagrams had been ignored for a couple of years and were somewhat out of date.
Finally, in November 1990, the legal problems were resolved as a new contract was approved with the State of Connecticut, giving the developer the right to distribute the systems. This new contract ended more than three and a half years of legal maneuvering. Autumn and winter of that year saw a new statistics package developed for the purpose of keeping better track of whats going on. When anything is cataloged, searched, edited, or circulated, a report is sent to a statistics file, which may be augmented with daily figures and any purchasing activity. The manual was converted to a two-volume format in February 1991, since the users manual had been sent out separately and the new arrangement seemed more logical. A new program, LOOKNOTES, was developed to check the accuracy of notes records, and the WHOLESALE editing program was expanded to include the ability to edit call numbers. The spring of 1991 was one of those one-in-five events when warm, balmy days were followed by cool nights, and weekends even were actually warm and sunny. During this great time, the periodicals check-in program was expanded to allow entry of titles by more methods, allowing three different types of title entry by the user. And screen messages, such as the dreaded Please Wait, were made fancy with the addition of graphics and blinking.
As spring turned to stifling summer including three days of 101-degree heat the MENU program was expanded to allow for changes in the appearance of the FIND screen, and to allow for changes in the text files to be made more easily. The program that created book catalogs was restructured so that it put titles where they belonged without fail, at a cost of greatly increased running time. This activity made the developer wonder how many other applications out there favored running time over reliability.
During the autumn of 1991, the first cooler-than-normal autumn in several years, a new program was created to make a duplicate of a record if only a few minor changes needed to be made, and it would be easier to do that with TCHANGE rather than enter the data from scratch with BOOK or NONBOOK. Another new program printed a list of titles with dates of publication earlier than whatever year the user enters, and a third new program allowed the user to see what had been posted to the circulation record on any particular day. But the major project during that autumn was the consolidation of about a dozen programs used to delete outmoded data from various files. The proliferation of separate programs had created a mess that was too difficult to understand, and these programs were put into one program called DELETE to handle any data that needed to be removed from any file. Similarly, several programs designed to handle notes records were consolidated into one program called NOTES. Both NOTES and DELETE have extensive help screens built in. Along with the NOTES consolidation came a new way to update records when something has been discarded or found missing on inventory. The new system was somewhat slower but worked a lot better.
FIND was reworked just before Christmas to provide direct access to subject list searching, making direct search by subject another option, and author-title list search was developed later. January 1992 saw the installation of a brand-new computer, a VAX 4000/300, the size of a television set and many times faster than the 11/780 it replaced. The new machine allowed fine-tuning changes to be made which would not have been worth the compiling time otherwise. As New England experienced another non-winter (is global warming going to kill us or not?), author-searching in FIND was expanded to include direct access to lists of names with associated titles. The help screens were also expanded at this time, and help screens were put in BOOK, CIRC, COUNT, MAG, MAGIN, and NONBOOK. The MENU program and MAG were expanded as well.
After spring in winter, we had winter in spring with one of the coldest Aprils ever, and more snow the last week in March than all winter. It was the coolest spring in twenty years in New England. As all that was going on, the plan from the distant past to do away with indexes for faster running speed was resurrected. After some three weeks of intensive work, the system was sufficiently operational to discover that the decrease in time was only marginal and did not justify further development. The project was put on hold a second time. The college obtained a new dial-in number with the ability to handle twelve remote users. Several new programs were developed: SEQUENTIAL, to convert the database to a sequential file which could then put in any other form; BUY, to create and maintain files and print them for attachment to a purchase requisition for those business offices which require special forms but will accept an attached list of actual items; WHATWEGOTADD, to add the amounts in the WHATWE.GOT file; and LABELS, consolidating all label-printing programs into one. A sequence of screens describing their operation was put into BOOK, COUNT, NONBOOK, CIRC, MAG, and MAGIN; CIRC was modified to show that anything declared lost in circulation is missing from the database; DAYCHECK was expanded to allow search of the circulation record by title as well as date; local help screen handling from MENU was improved and the program was expanded; and improvements were made to AVEQ and AVSEARCH. Also, the PRECAT system was expanded and improved, as some intensive use of it revealed a few flaws here and there. PRECAT was added to MENU, which was rewritten to use arrow keys instead of numbers for user input.
During its 1992 session, the Connecticut Legislature voted to integrate the Technical College system fully into the Community College system, making Hartford State Technical College officially a thing of the past as of July 1st. Much of the year was spent dealing with, or trying to deal with, the confusion and uncertainty caused by this move. Nonetheless, several programs were revamped along the lines of MENU, to use arrow keys for input. During the autumn, like the summer colder than normal and making everyone wonder what winter was going to be like, the separate notes record was done away with as notes were integrated into the main record. This move allowed the notes field to be expanded to nine lines of sixty-five characters each. Also during this time, the main entry programs BOOK and NONBOOK were integrated into one program and revamped so that they poll the database for existing copies of an entered title. If one is found, a duplicate record may be made and new entry avoided. The winter of 1992-93 did in fact turn out to be colder and snowier than those of the past few years. During the January break, a new feature was added to FIND so that the not found screen would display the nearest matches the system could find and allow the user to see any of them. Often these near matches compensate for spelling errors and syntax quirks, a common problem in an engineering-school environment where bad spellers are legion. Also, the option that writes letters to borrowers with overdue material was expanded to print that information in a single list. The combined college was renamed Capital Community-Technical College, and the librarian spent quite a bit of time at the other campus, away from systems development. An online users manual was created during the winter, and this was expanded from time to time. An index was added to it as a massive blizzard, billed in the media as the storm of the century, buried most of the East Coast. City streets in Hartford looked like eighteenth-century oxcart trails afterwards. A demonstration option was added to BOOK. DELETE, LABELS, and NOTES were rewritten to conform to the current practice of using on-screen arrows, and all customizing options were consolidated into a program called CUSTOMIZE.
On Monday May 10th, 1993, the developer was presented with his first grandchild, a joyful five-pound bag of sugar named Julie Elizabeth, sporting the bluest eyes and sweetest face ever seen (not that the developer is prejudiced).
Until the summer of 1993, the systems had been known as the Grom Hayes Systems (or Grom Hayes Library Automation Systems) after the name of the library where they were developed. At that time the name was changed to Atlantic Rim Information Systems, and a corporation was formed to distribute them. All initial processing programs were consolidated into one program, and precataloged titles, those without call numbers and subject headings, were put into the database, doing away with PRECAT and FINISH. Circulation programs were similarly consolidated, and all user-interface screens were reworked for consistency and greater ease of use. Author authority checking was added to FIND, which was also expanded to include linear searching by any key. Further consolidation of functions was done during the autumn and winter, to the point that the user need know the purpose of only fourteen programs. All other programs were either incorporated into or run by one of these. The winter of 1993-94 was the severest ever in Connecticut, and set several records. As the snow fell and the wind blew, however, the initial processing program was expanded to convert MARC records to the Atlantic Rim format, and plans were under way to convert the other direction as well. Some style inconsistencies in FIND were put right, but a few of these remained as of June 1994. Work on the systems during the spring of 1994 was seriously impeded by the merger of the two colleges and the need for the developer to spend a large part of the week at the other campus.
By this time most of the personnel involved had grown to hate the merger, not just the technical college people who were taken over and no longer had any say in their professional lives, but the community college people as well who found themselves with extra duties. Perhaps in time the merger will be declared a success, since history is written by the winners, but as of this writing its hard to find anyone who thinks so. After a few weeks of pleasant spring weather, the worst winter in Connecticuts history turned into the worst summer ever, with misery index figures in the oppressive range almost every day. July was the hottest month in the history of the state. Air conditioning in the library made life bearable, however, and work during this time mostly involved putting style inconsistencies right. This turned out to be a much bigger job than originally thought, and it became clear that it would not be finished in time for a general release of the product, scheduled for autumn 1994. A new online users manual was developed to reflect all the consolidation of programs, and to reflect the new philosophy that help screens should be in the programs they serve instead of a central help program.
Finally, after two years and two months of living with the merged institution, the developer had had enough and retired from state service to devote full time to these systems. The State, however, chose not to honor its contract with the developer, claiming that the contract expired on his retirement, leaving the developer with the option to sue the bastards. The developers attorneys assured him that he would win, based on the wording of the contract and its interpretation under English Common Law pertaining to contracts, but that it would cost at least ten thousand dollars in legal fees to do it. The developer was left with a new appreciation of lawyer jokes (QUESTION: Whats the difference between a catfish and a lawyer? ANSWER: Ones a dirty, scum-sucking bottom-feeder, and the others just a fish.) However, the feeling among computer professionals in New England is that the State is doing the developer a favor by forcing conversion to a PC-based platform, since the Digital Equipment Corporation is looking more and more like a sinking ship, and many other DEC independent software vendors have abandoned the company.
THE MICROSOFT YEARS
Therefore, the autumn of 1994, the nicest autumn in years with warm, sunny days and cool nights, saw Atlantic Rim acquire a new PC and begin the process of converting everything to Windows and Visual Basic. Neither subject is known very well by the developer after all that DEC experience, but life goes on. By New Years Day 1995 the developer was comfortable with Windows and began to work on Visual Basic, a somewhat tougher project. The decision to abandon DEC seemed to be justified on May 9th when a colleague telephoned with news that the Digital Equipment Corporation was pulling the plug on VMS. With it will surely go Vax-BASIC and whatever else is left of DECs proprietary software systems, the end of an era. Digital denied the allegations. The project to convert all this to Visual Basic proceeded during the non-winter of 1994-95 and the cool July but brutally hot August. Some interesting aspects of developing in Visual Basic were beginning to become apparent; for example, the language offers a built-in function to add a specified number of days or weeks to a date (i.e., what will the date be in four weeks?), instead of the couple of hundred lines of code required by Vax-BASIC, plus a few other such functions. On the other hand, some things are missing, such as a text format function. Programs were not replaced line for line, as the opportunity to rethink everything led to differences in what features were placed where. By December, much colder and snowier than usual and looking more like northern Vermont than Connecticut, Find, Mag, and Process were ready for beta testing. A language change from Visual Basic 3 to Visual Basic 4 was made in November, and this wasted a couple of weeks as the myriad bugs in the new version how can Microsoft get away with such flawed products? were dealt with.
What were dealing with here is a paradigm shift, that almost-clichéd expression meaning that everything you know is obsolete. Programming is now event-driven instead of top-down, which means that nothing happens until the user does something, and the appropriate code is hung on the event. Clicking on a command button, for example, is an event and will trigger whatever code has been assigned to it. This isnt too hard until you get into some of the finer points when it becomes apparent that the old way just isnt going to work. This, combined with bugs in the language, means that two or three days can be spent getting some small but critical detail to work. Also, as the alert reader may have noticed, the new paradigm uses more lowercase letters, and programs are now written as Find instead of FIND, for example.
Version 4 of Visual Basic comes in 16- and 32-bit types, for use with Windows 3.1 and Windows 95, respectively. Systems development continued in Windows 3.1 as it appeared that Windows 95 was not being widely enough accepted and that a switch to it would reduce the potential market. The winter continued more severe than usual in January as the great Blizzard of 96 dumped a couple of feet of snow on the entire Northeast. Philadelphia got more snow in twenty-four hours than it normally gets in an entire year, and Hartford saw about a foot and a half on top of what was already equal to the seasonal average.
Atlantic Rim purchased a commercial software package with the idea of sorting indexes faster than could be done otherwise, but that turned out not to work. The developer of the package blamed the problem on Microsoft. Perhaps this is why Microsoft dominates the market: hundreds of third-party vendors need the company as a scapegoat for their own failures, and the fact that millions of users have trouble with Microsoft products gives this excuse a credibility not normally found.
As more winter storms set a new snowfall record in February, progress on the programs continued to be made. Sorted indexes became available in March, and the new Find program was almost complete. As the zillionth winter storm spewed out a lethal mix of snow, rain, freezing rain, sleet, and anything else wet and cold, the only system not operational was circulation.
In April, the developer made a trip to the one remaining active VMS client, in Syracuse, New York, with a batch of diskettes to install the current versions of the programs. Some ran and some didnt, but everything became operational after about six weeks of phone calls and diskettes sent back and forth. Faster sorting of indexes was finally accomplished, the computer went in for a major upgrade a Pentium processor, more memory, and a 1.6-gig hard drive and the existing set of programs, seven by now, seemed to work with the exception of circulation. The upgrade created a lot of software problems that wasted several days being tracked down; apparently no change of any kind can be made to a modern computer system without some unforeseen complexity causing trouble.
While the upgrade continued to cause problems well into July, much cooler and wetter than usual, an inventory module was created which allowed an inventory to be made and entered in five steps which could be done one at a time or all at once. The beginnings of a true Boolean search system were put into Find, a major improvement but also a major project. A lot of fine-tuning was done into August, including the addition of a tool bar with icons to Find. Some statistical capability was added during the autumn, and a serious attempt was made to finish the circulation system which had been allowed to languish. None of this was helped by a major failure of something called the registry (not to be confused with Windows 95s registry, apparently), and a subsequent refusal of the system to allow the developer access to his own programs. That problem was fixed in November, along with a balky CD-ROM drive that had to be replaced, but the problem afforded a chance to finish the circulation system. Find was modified so that images, pictures, and other graphics files could be associated with printed records and displayed along with them. The ability to process these images was added to Utility, which was completed during the holiday season. January and February of 1997, milder and dryer than normal sorry, average; normal is a word that doesnt apply to New England weather saw the completion of Boolean searching capability in Find, and additional features and debugging in Utility and Circ. Find will now check the circulation record to see if a searched item has been checked out. A ten-day winter vacation to Florida during these months cut into development time, not only during the ten days but for a couple of weeks afterward as the developers mind was still on vacation. Some serious problems with Mag surfaced which were corrected towards spring.
One of the differences between the time-sharing world of olden days and modern reality is the use of individual workstations and networks instead of one central CPU. What that means to these systems is that two separate hard disks may be involved, a local disk and a network disk, and files must be distributed accordingly. Also, a local user may not have the ability to write to the network disk. If only a single machine is used, there is no problem. Programs must reflect all these considerations, and much of the spring was spent doing it.
The computer underwent a major housecleaning in June, in which the entire machine was reformatted and a new operating system, Windows NT Workstation, installed. Reformatting is the equivalent of painting and recarpeting an entire house, everything taken out and put back later. Needless to say, Windows NT did not install without problems. First, the multiple-booting choice failed to come up. When that problem was resolved, finally, the system appeared to load but would only result in something known as the Blue Screen of Death, or the Dreaded Blue Screen (or, perhaps, the Dreaded Blue Screen of Death), a densely-packed memory dump and error screen that effectively means game over. The Windows 3.1 side was all right, but with the 1.6-gig drive reserved for Windows NT, not all functions could be restored. Visual Basic and the programs were restored, though, and development continued. Find was renamed ARSearch and Help was renamed ARHelp, a change made necessary by the use of Find and Help as common words in Windows 95.
The problem with Windows NT turned out to be a virus, and that was resolved. During the summer, the work area was painted and carpeted, and the disorder created by that was also finally resolved. August was spent putting the issue of local and global disks in order, and creating legitimate help files with the use of RoboHelp. RoboHelp turned out to be a pretty good product, and professional-looking help projects were created without too much trouble, but RoboHelp has a way of throwing bizarre errors into your lap from left field, and a lot of telephone calls and e-mail messages were sent to San Diego.
Next was the creation of an install set, for which InstallShield was chosen since it seemed to be the standard for that type of thing. This was also a major project that took several weeks to complete, involving more long-distance telephone calls. It seems to the developer that these products could be made easier to use, but perhaps not. While all that was going on, a lot of reorganizing and debugging continued to take place, some of it from problems revealed by another trip to Syracuse, New York, problems corrected this time through the magic of e-mail and attached files. Its amazing how a program thats been unused for a few months wont work when tried again, usually because some obscure change in a data or system file somewhere has been made and forgotten about. ARHelp was renamed IntroCat, to reflect its new function now that the traditional help files were in place.
The install set was completed around Christmas, delayed somewhat by a cocktail of bronchitis and pneumonia going around Connecticut that the developed managed to get in on. December and about a week into January were pretty much a lost cause. News media reported that the Digital Equipment Company was bought by Compaq, effectively putting a complete and final end to it. The winter of 1997-98 turned out to be a non-winter, one of the warmest on record. New York City, about a hundred miles to the west, had its first snowless February ever, although March tended to make up for some of it. During this time, a web page began to be assembled, to be hosted by Erols Internet, Inc., which would also become the new internet provider. Needless to say, none of it went smoothly, although Erols technical support was a lot better than most. In March, a visit to a library using another system resulted in a browse capability being added to ARSearch. When a user had found the desired record, the user could now browse forward or back through the titles in shelflist order. This visit also resulted in Circ and Serials being renamed as ARCirc and ARSerials, to create a more unique reference. ARCirc was expanded to provide for fines to be charged, a feature that seemed to be a competitive necessity.
April saw another upgrade of the system, including a whole new computer and a 17-inch monitor, all tied together with a Belkin OmniView switch that allows one monitor, one mouse, and one keyboard to manage up to four CPUs. Windows NT was finally up and running, and a network was begun. Installing the network resulted in reformatting the hard drives on the old machine, meaning that everything had to be reinstalled. System Commander was put on this machine, allowing for dual-booting between Windows 95 and Windows 3.1. Also during this time, internet access and e-mail was enabled on the NT box. Getting all that to work smoothly took about a week, except for a problem with the video driver on the Windows 95 side which refused to work at all and which made a complete mess of the system. It was taken off and ultimately replaced with a video driver made by SciTech Software, found on the Internet. The network problem lingered much longer.
At the end of May a temporary web page created with Microsoft Publisher was installed on the Erols server. The temporary page had a URL of www.erols.com/atlantic-rim. Eventually a more detailed page will be created with FrontPage 98 and installed under Atlantic Rims own domain name. A new modem on the NT machine would not work, and the system was without e-mail and internet access for a while. This problem resulted in about a million error messages, most having to do with remote access service. Finally, with professional help, the problem was resolved, and the domain name www.librarysystems.com was registered to the company. During the spring and summer of 1998 the major thrust was an attempt to find a business partnership to sell the systems, but by August this had yet to come up with anything. Systems problems continued to take an amazing amount of time. One of them involved Word 97, the latest Microsoft word processing program, proving so full of bugs that it could not be used to print the users manual, which had to be done on Word 6 and then transferred to the NT box. An attempt to replace the A: drive on the older machine resulted in a blown power supply, taking the machine out of service for a few days. The new web site, created with FrontPage 98, was almost ready by the end of summer, as was a new wholesale editing feature in Utility. Another feature developed at this time was a simplifed form of the database entry program called ARLite, which was restricted in the amound of data it could input. ARLite was designed for smaller institutions like church and synagogue libraries which didnt need the heavy-duty features of Process and couldnt afford the full system.
On August 21st, an agreement was signed with Millennium Capital Quest, a marketing and consulting firm in Wolcott, Connecticut, and Raleigh, North Carolina. Millennium promised to promote the AristoCAT systems and to locate a licensing partner for a future agreement. Also on that day, the new web site was ready but Erols, the internet service provider, could not host it without a change to Atlantic Rims account. Erols assured the developer that it would make the change, and even sent an invoice, but didnt get it right.
A new printer, a Hewlett-Packard 890C, was installed, after a lot of nonsense involving the first one bad out of the box, and the second one unacceptable due to print skewing, that is, the right side of the text came out higher than the left. Finally, after much research and discussion, the 890s little sister, a 722C, was installed. The industry seems pretty much unanimous that H-P is the best, but apparently once in a while they issue a turkey. The latest change in the programs was an attempt, proving to be very difficult mostly due to AristoCATs initial design, to make them independent of the users resolution. The programs were designed for a resolution of 640 by 480, meaning that higher resolutions displayed small screens in the upper left-hand corner. This does not look good, and an add-in called ReSize was installed. ReSize adjusts controls on a form to match the new size, but doesnt change the size of the forms, meaning that an incredible amount of reprogramming had to be done. Naturally, this project uncovered a new problem, a major flaw in the structure of Process. Rewriting the program took a couple of weeks. But during this time, a new web page written with FrontPage 98 was posted. The installation of ReSize went well until the last two programs, when so many problems surfaced that the whole thing had to be abandoned and screen sizes returned to the way they were, with the exception that the user could choose whether the smaller screens (if using higher resolution than 640 x 480) were centered or in which corner. The issue of resizing for higher resolutions may be resolved in the future, or maybe not.
At a meeting in December, the developer got an idea for allowing the user of ARSearch to input a text file and read it as a display screen, the idea being that additional information relating to a title could be kept in such a file. This was done during the next few days. Most of late autumn was taken up with MARC-to-AristoCAT conversion, something that was operational in the VAX-VMS version but had never been switched over. Its always amazing how difficult something like that is, converting from one form of Basic to another and from one operating system to another. The conversion project was finished during the winter, and a feature to allow users to customize screen colors was initiated. This forced some consistency of style on the whole set of systems, not a bad thing, and this project finally concluded around the beginning of March. Also added at this time was a simple feature to print wish lists for accessions.
While that was being done, one of the hard drives threatened to fail, resulting in a trip to the local repair shop. The machine was out of service for a week, due to complexities with dual-booting between Windows 95 and Windows 3.1, and to some other problems. When the machine came back, a few days were spent restoring it to its previous setup, and then the other machine, the one with Windows NT loaded, went in because of a software failure. No one at the shop, including two count em, two NT experts could make it work, which turned out to be the final straw with about two years of NT frustration and the system was removed and replaced with Windows 98. Microsoft has taken a lot of hits from industry over NT, including an increase in LINUX and UNIX installations, and Atlantic Rim’s experience would indicate that Microsoft is either going to have to make the damn system work or forget it. As of this writing, there’s no indication that NT will ever be anything but an overly-complicated disaster. With Windows 98 available, the 16-bit Windows 3.1 version of AristoCAT was closed in March to further development, except for bug fixes. All new features will be added to the 32-bit version.
Nothing at all was done during the summer, as the developer and his wife drove to Alaska via the Alaska Highway in their 1998 Camry, an eight-and-a-half-week trip of thirteen thousand miles, plus another thousand miles of boat riding. It was magnificent, the trip of a lifetime.
Back at the ranch, in September, the 32-bit version was broken into two 32-bit versions, one labeled version 2.5 for Windows 95 and Windows 98 and developed with VB4, and the other labeled version 3.0 for future use, developed with VB5. The impetus for this came from the failure of Windows 3.1 to display option buttons, checkboxes, and other graphics items properly, and the failure of Visual Basic to allow runtime distinctions for them, requiring two versions. Version 2.5 is nearly identical to version 2.1, the 16-bit version, except for some graphics, including an ability to change background colors, and the 32-bit architecture. Version 3.0 will be the site of future improvements, including some kind of Internet access, but as of December 1999 nothing had been done with it. The web page was expanded somewhat during this period.
The remainder of the winter and the following spring saw mostly tweaking and minor improvements, except that a pricing policy was finally established and posted to the web site. Testing and debugging took a great deal of time during this period. The marketing firm, Millennium Capital Quest, said that it had found a buyer for the systems and would arrange a meeting during a trip to Florida. The trip to Florida came and went, but phone calls to Millennium were not returned, and no meeting took place. It became apparent as a result that the arrangement with Millennium would never yield any positive results. During the spring, three diagnostic programs were developed to check up on the installation procedure and other aspects of the system. These programs noted where everything was on a users machine and looked for essential files, reporting on the results. After some testing, the programs were integrated into ARUtilities. Also during this time it became necessary to give the 16-bit systems and the 32-bit systems different names or they would conflict in the ARSystem directory. Many had separate names anyway due to the 8-3 limitation of Windows 3.1.
As the excessively wet spring of 2000 turned to summer, the display screen in ARSearch was revamped for greater functionality and a better appearance, and ARCustomize was expanded to allow greater control of authority files, a project that turned out to be more difficult that it should have been. The web site was also improved during this period. Summer continued cool and wet, the wettest on record in some places, and the users manual was revamped in the form of a PDF file with print large enough to be read on screen. This will be distributed along with the programs instead of a printed manual, which no one reads anyway. A printed version will be available. Prices were lowered dramatically, in line with what seems to be happening in the software industry generally.
The utilities program was expanded to include various diagnostic and repair functions, as these things never seem to work when first installed on other machines. The developers audio CD collection was entered, uncovering all manner of bugs which were fixed as they appeared. The addition of a CD-ROM burner just before Christmas allowed distribution in that form, and also made it possible to distribute more documentation and demonstration files than before. Further testing during this period turned up a few more bugs, which were eliminated in turn. The hope of eventually releasing a bug-free product remains strong, along with a hope for peace in the Middle East and the elimination of world hunger.
Beginning in later September, a long-running soap opera involving laser printers began when the QMS Desklaser, used for the past two years, burned out its fuser unit. Since a replacement fuser costs almost as much as a new printer, and since the developer wasnt all that happy with the QMS in the first place, a decision was made to buy a new and better laser printer. Some research into the project resulted in a new Okidata Color 8, which arrived in early October, but three weeks later, after a dozen or so calls to tech support, the printer could not be made to work. The vendor insisted that Atlantic Rims software created a conflict, which is certainly possible since everything is made by Microsoft, but whatever the reason, the Okidata was accepted for return by the company and a Xerox Tektronix 850N purchased from another vendor. The 850N installed easily and seemed to work fine, but after about a month the developed noticed that its solid ink, really just wax, wouldnt stick to the paper. Ink that doesnt adhere is unacceptable, and after a number of phone calls and visits to the vendors office, the 850 was traded in on a Tektronix 750N, a true laser printer. Xerox wouldnt take the 850N back because more than a month had passed, never mind that the month included Christmas and New Years. Finally, though, a deal was made with the vendor and the 750N arrived. It took about a week to get the 750N adjusted and working properly, or at least seeming to work properly, by now early February 2001.
In prehistoric times, like seven or eight years ago, both inkjet and laser printers were fairly crude compared to now, and you could use any kind of paper in a laser printer. Now, with millions of inkjet printers out there, a market for specialized paper has developed, and there are all manner of products available which will either mess up a laser printer or just plain not work. Laser printers, of course, have gotten fussier about whats fed into them, and some specialized things like labels have to be specifically formulated for laser printers and cant even say inkjet on the box, according to a Xerox representative. Another sale was made in March, but a potential sale was apparently lost when the software exhibited too many bugs during a demonstration.
In early to mid March, a local entrepreneur named Tom Basti responded to an ad for a business partner, and several meetings were held. Tom had a lot of good ideas about advertising, marketing, and the user-friendliness of the product, and many changes were made. Among these were dropping the AR- prefix from module names, changing IntroCat to Introduction, and rewriting Introduction completely to start a potential user off correctly. The initial input program, Process, was completely rewritten to allow for all the complexities it had acquired over the years. The new version seemed to pick up every bug and gotcha ever seen in Visual Basic, and hours were spent fixing all kinds of minor problems. The printer continued to act up sporadically, but Tektronix has good customer support and always got it running. Apparently nothing in the computer business can be expected to work reliably.
By late spring it was apparent that a problem known in programmer circles as DLL Hell was a real issue and would have to be addressed. This is a situation in which a program or system works fine in the developers environment, even if a separate machine is dedicated to it, but wont run on the clients machine. As of midsummer the situation had yet to be resolved, but around Labor Day the effort began in earnest. July was pleasant but August was hot and humid, reaching 102 one day, a record. Most of the rest of the month was in the eighties and nineties, with about nine hundred percent humidity, as miserable a month as the developer could remember. The new Process continuing to be filled with bugs was finally fixed in September with the help of a customer who was given a discount for his trouble. Autumn that year was much warmer than usual. A serious effort was begun in November to finish the Statistics module, simplifying it some and standardizing the manner in which data was collected. Usage numbers are cumulated from Search, Circulation, and manual input of seven items of the users choice.
It had become apparent for a while that the design of the systems interface, based on Windows 3.1, was looking dated and needed to be modernized. The color choices offered the user were dramatically cut back and most screen text went to black on a pearl gray background. Font sizes were reduced from 10-point bold to 8-point regular for the most part. Reducing the font sizes involved resizing most labels and text boxes, and the project took longer than expected. This, of course, meant that all the documentation was also outdated and had to be fixed.
Xerox started to charge for tech support, a bad move since the 750N printer, never very good, finally exhibited too many problems and was replaced with QMSs newest DeskLaser, with a price of under a thousand dollars. This turned out to be a very good machine and seems to have at least temporarily put an end to the printer soap opera. Xerox is in trouble financially and its easy to see why.
The summer of 2002 was the third hottest on record, with one drawn-out heat wave after another. Most of the development during this period was concentrated on fixing bugs and smoothing out the user interface. As this miserable summer turned into a cold autumn, the packaging of the product what the user gets was cleaned up and made more attractive. The computer went in for another major upgrade, ending up split between two CPUs with a LINUX-run server. The system was out of service for about a month, and the process resulted in discontinuing the Windows 3.1 version of AristoCAT. No one seems to be using Windows 3.1 anyway.
Development during the winter consisted mostly of eliminating bugs and improving reliability, and improving conversion capability. A client had its records in Microsoft Excel format and needed conversion, and a potential client was heavily into MARC records. This latter project went well for the most part but threw the developer a number of curves and the sample MARC file didn’t seem to follow its own rules. In the manner of weather having to average itself out, the hot summer turned into an extremely cold and nasty winter.
The major project during the summer of 2003, cool and wet for the most part except August, was to improve demonstration capability. A program especially designed to demonstrate the working systems was introduced and sent out to potential clients. This was fine-tuned during the following months. A new version of Process, designed to be easier to use and less confusing, was developed during the autumn. Of course, it didn’t seem to the developer that the old Process was that confusing, but the word from potential customers said different, and there’s no arguing with that.
January of 2004 saw Windows XP installed, resulting in a couple of casualties, including OmniPage and the installation system, fewer than the developer expected. XP, as advertised, needed less rebooting, but seemed to provide the “Not Responding” error more often. The installation problem only became apparent after a while, but finally a new installation package was obtained after some indecision between InstallShield and Wise. The systems would seem to install on XP but wouldn’t run reliably and, in the time-honored way of Microsoft, gave no error messages but simply froze the machine and messed everything up in a random manner. Needless to say, perhaps, the new installation package would not install itself and the usual zillion phone calls and e-mails went back and forth to InstallShield. It sure would be nice if you get something that ran without all this trouble, but perhaps that’s in a class with getting one’s youth back.
The machine used to test changes before sending CD-ROM’s to potential customers died during this period and was ultimately replaced with an old machine donated by a member of a local computer club. The previous owner’s wife wanted the stuff out of the house.
A deal was made with a firm called Beta Breakers to test the systems professionally and thoroughly. Beta Breakers turned up a number of errors and bugs which were either fixed or accounted for in documentation.
Circulation and periodicals control systems got a lot of attention during the fall of 2004 and subsequent winter as one new client was particularly interested in these. The demonstration package was fine-tuned and cleaned up a little.
Not much happened after that. The developer was getting too old, approaching seventy, and the ocean of problems finally became insurmountable. By 2006 the enterprise was effectively dead.
So, what went wrong? The main problem was underestimating the difficulty of dealing with Microsoft. After DEC, a closed proprietary system in which everything is managed by the same people, who took the kind of pride in their product that the old Ma Bell crowd did, Microsoft was impossible. If you’re under about fifty you don’t remember the Ma Bell ethic, but they wanted everything to work as well as it could. Microsoft is open to third-party programs, many written by crooks and conmen. And Microsoft itself is business-oriented first and foremost, interested in dominating the market and not really concerned with the quality of its products. It’s like the used-car business just after World War II, in which Earl “Madman” Munz once famously said, “You get the full guarantee. If the car breaks, you get to keep both pieces.”
Programmers' primary motivation is to write a procedure in as few lines as possible, and to impress their colleagues with how smart they are. There’s no motivation for reliability unless management insists on it, which Microsoft doesn’t. “My grandmother could write code like that,” is the usual taunt, said of something the least bit kludgy. But reliable code is by nature kludgy.