Autoflow was an
application program
Application software is any computer program that is intended for end-user use not operating, administering or programming the computer. An application (app, application program, software application) is any program that can be categorized as ...
from
Applied Data Research
Applied Data Research, Inc. (ADR), was a large software vendor from the 1960s until the mid-1980s. ADR is often described as "the first independent software vendor".
Founded in 1959, ADR was originally a contract development company. ADR eventua ...
(ADR) for
mainframe computer
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise ...
s that reads
assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
programs and produces a
flowchart
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task.
The flowchart shows the steps as boxes of v ...
of that code. It is historically notable as one of the first software applications to be offered for sale independent of the system it ran on, as well as the first to receive a
software patent
A software patent is a patent on a piece of software, such as a computer program, library, user interface, or algorithm. The validity of these patents can be difficult to evaluate, as software is often at once a product of engineering, something ...
in the United States, and to be licensed to customers rather than sold.
Autoflow was introduced in 1964 for the
RCA 501. Originally intending to have
RCA
RCA Corporation was a major American electronics company, which was founded in 1919 as the Radio Corporation of America. It was initially a patent pool, patent trust owned by General Electric (GE), Westinghouse Electric Corporation, Westinghou ...
purchase it and give it to their customers, RCA thought its $25,000 price was too high and declined to buy it. ADR then approached 501 owners directly, becoming what is generally accepted to be the first commercial software vendor. The RCA market was small, so ADR ported it to the
IBM 1401
The IBM 1401 is a variable word length computer, variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for pr ...
and began sales into that much larger market in 1965.
These early versions required the user to indicate the symbol for each chart entry using a numeric code entered as a
comment in the code. This was fine for new programs being written, but users had no interest in modifying their existing programs to use it. ADR modified Autoflow to decode the type directly from the instruction codes, allowing it to produce a flowchart by reading the original unmodified program. This version was also ported to the hugely successful
System/360
The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
, where it saw its most use.
IBM introduced their own program, Flowcharter, but it was a much simpler system where the entire chart had to be specified by hand. Despite the clear advantages of Autoflow, customers felt that IBM would add Autoflow-like features to their program, and give it away for free like other programs in the IBM collection. To stop this from happening, ADR filed for a patent on the concept, which was issued in 1968. By 1970 the company had several thousand customers and by the end of the decade it was one of the top five software companies in the world.
History
Applied Data Research
Applied Data Research, Inc. (ADR), was a large software vendor from the 1960s until the mid-1980s. ADR is often described as "the first independent software vendor".
Founded in 1959, ADR was originally a contract development company. ADR eventua ...
(ADR) was formed in 1959 in
Princeton, New Jersey
The Municipality of Princeton is a Borough (New Jersey), borough in Mercer County, New Jersey, United States. It was established on January 1, 2013, through the consolidation of the Borough of Princeton, New Jersey, Borough of Princeton and Pri ...
, by seven programmers from
Sperry Rand
Sperry Corporation was a major American equipment and electronics company whose existence spanned more than seven decades of the 20th century. Sperry ceased to exist in 1986 following a prolonged hostile takeover bid engineered by Burroughs ...
. Their initial concept was to sell programming consulting services. In 1964,
RCA
RCA Corporation was a major American electronics company, which was founded in 1919 as the Radio Corporation of America. It was initially a patent pool, patent trust owned by General Electric (GE), Westinghouse Electric Corporation, Westinghou ...
approached the company with the idea of a
flowchart
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task.
The flowchart shows the steps as boxes of v ...
ing application for the
RCA 501 computer. Flowcharts were widely used during the design phase of the programming effort at that time, but, as is the case today, the end product rarely followed the original design. By producing a flowchart from the existing code, customers could document their actual programs. When ADR wrote up such a proposal with a $25,000 price tag, RCA expressed little interest, as was the case for some other computer vendors they approached.
The company had free nighttime use of a 501, so
Martin Goetz decided to assign Mike Guzik to write an initial version, which was completed in 4 to 6 months. Once again, RCA declined to take it up. At the time, computer companies generally gave away software they had developed, making their machines more attractive, a policy that continues today as
pre-installed software
Pre-installed software (also known as bundled software) is software already installed and licensed on a computer or smartphone bought from an original equipment manufacturer (OEM).[IBM 1401
The IBM 1401 is a variable word length computer, variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for pr ...]
, which numbered in the thousands. The program was modified so it read IBM's
Autocoder programs rather than 501
assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
in a 10-month effort. Although there was significant interest, there was little uptake. The main problem was that Autoflow required one to mark up the original program with comments containing numeric codes that indicated the type of instruction, processing, branching, etc. The 1401 market already had a large amount of software written for it and prospective customers showed the most interest in using Autoflow to document these programs, but little interest doing any modification of those programs to make that possible. Once again the program was modified to allow it to decide the type based directly on the Autocoder instructions.
By this point, IBM had introduced their own flowcharting program, Flowcharter. In contrast to Autoflow, this program required the user to describe the entire flowchart using a separate input file, it did not read existing code, and was therefore much more labor-intensive to use. But IBM also had a policy of giving away software they had developed, and prospective customers widely believed IBM would add Autoflow-like features at some point and there was no point in licensing Autoflow. At this point Goetz decided to head off this possibility before it happened, and in 1965 he filed for a patent on the concept of reading existing code to produce a flowchart. The patent was issued in 1968, the first
software patent
A software patent is a patent on a piece of software, such as a computer program, library, user interface, or algorithm. The validity of these patents can be difficult to evaluate, as software is often at once a product of engineering, something ...
issued in the United States.
Goetz was also concerned that customers would simply copy the program and give it to other prospective customers, among the first explicit mentions of the concept now known as
software piracy
Online piracy or software piracy is the practice of downloading and distributing copyrighted works digitally without permission, such as music, movies or software.
History
Nathan Fisk traces the origins of modern online piracy back to similar ...
. He consulted with Mort Jacobs, the attorney who prepared the patent filing, and they decided to attack the issue by offering the program under a licensing arrangement, not selling it outright. The agreement signed by customers was thus written in the language of an equipment lease agreement, thereby leaving ADR as the legal owner throughout, and explicitly stating that unauthorized duplication would break the agreement. While this did not make it any harder to make a copy, it gave ADR legal recourse if this happened.
The major success of the
System/360
The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
led ADR to port to this system, as well as supporting three languages, 360 assembly,
Fortran and
COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
. By 1970, they had over 2000 users. By the early 1970s, the company had opened 30 sales and support offices in the US and Europe. Despite this, they still found significant numbers of prospective customers that used the IBM program because it was free. In 1967, ADR filed a complaint with the
US Justice Department
The United States Department of Justice (DOJ), also known as the Justice Department, is a federal executive department of the U.S. government that oversees the domestic enforcement of federal laws and the administration of justice. It is equi ...
(DOJ), and after many meetings, the DOJ opened an investigation and found many other companies who faced the same problem of attempting to compete with free products. In April 1969, ADR sued IBM for monopolizing the market, and in June, IBM announced they were dropping bundled software entirely, starting 1 January 1970. ADR's suit continued and was eventually settled with a $1.4 million payment from IBM.
Example output
ADR's advertising for Autoflow used this example:
,
,
,
* 07
* *
*COMPARE*
LOW * 3 TO * EQ
-------* ACTIVITY *--
, * CODE *
, * *
, * *
, *
, HIGH,
, ,
, ,
, ,
, * 08
, * *
, * *
, YES * IS *
, ------* ACTIVITY *
, * CODE 6 *
, * *
, * *
, *
, NO,
, ,
, ,
, , 09
, ---------------------
, , CHANGE ACTIVITY ,
, , CODE TO 8 ,
, ---------------------
V ,
---------(*)---,
T16 , 10
---------------------
, MOVE ACTIVITY CODE,
, TO O/P ,
---------------------
,
,
,
The lines represent the program flow from state to state. At the top are two diamond-shaped comparisons, which are numbered as step 7 and 8. The first comparison has three possible branches, to the left if the value of "activity code" is less than three (LOW), equal to 3 (EQ, on another page not shown here) or greater than 3 (HIGH). If the code was greater than 3 it then performs a second test to see if it is equal to 6. If not, it changes the code to 8 in step 9, if it was less than 3 or equal to 6 it skips that instruction.
Notes
References
Citations
Bibliography
*
*
*
*
*
* {{cite tech report
, url=https://www.computerhistory.org/revolution/mainframe-computers/7/172/692
, title=AUTOFLOW
, date=1972
, ref=CITEREFBrochure1972
Mainframe computer software
Reporting software