FREE Companies & institutions LESSON · Companies & institutions
1946: A prototype is not a company
EMCC, Ferranti, LEO, UNIVAC, and the missing middle
The 1946 ENIAC demonstration established an important technical capability, but a customer buying computing service needed a different kind of promise: dependable operation over time. Eckert and Mauchly's commercial efforts, the development of UNIVAC, and Manchester's transition toward Ferranti machines illustrate this second problem. The chapter's opening year marks a transition, not the simultaneous founding or delivery date of every named organization. Commercial computers and business applications developed along several overlapping paths.
A prototype answers whether a mechanism can work under demonstrated conditions. A product must be reproducible, installable, documented, maintainable, and useful with a customer's actual data. A business must finance those activities before sufficient customers pay for them. Technical merit can coexist with a cash shortage because expenses and receipts arrive at different times. A celebrated demonstration is not an account receivable.
Use a fictional supplier to expose the arithmetic. Building one machine costs 40 units in components and labor. Installation and training cost 10. A support reserve adds 10. The customer pays 20 on order and 50 after acceptance. Although nominal revenue 70 exceeds cost 60, the supplier may need to spend 50 before receiving the final 50. The initial payment leaves a financing gap of 30 before acceptance, even before payroll for future development. A late peripheral can delay acceptance while staff and creditors still require payment.
Acceptance itself needs a contract. Specify a representative workload, correctness checks, operating hours, recovery behavior, operator training, and responsibility for defective input. A machine that passes a numerical demonstration may fail a payroll workflow because card handling, exception reports, backups, or human handoffs are missing. The relevant system includes operators and procedures, not just arithmetic circuitry.
Hopper's oral history describes programming work around the transition from wartime machines to UNIVAC and the demand for reusable software. Original Manchester manuals expose a complementary perspective: programmers needed precise instructions, storage conventions, and operational guidance. These primary records let a learner examine what customers and developers actually had to do, rather than substituting a later company's success story for the engineering record.
LEO adds an important contrasting path: a business organization developed computing around its own operational requirements. An internal first user can provide detailed feedback and stable demand, but may also produce a design too specialized for outside customers. A university-origin machine can demonstrate ambitious capability while leaving manufacturing and support to a commercial partner. Neither path is automatically superior; each locates requirements knowledge, financial risk, and technical responsibility differently.
Avoid a single “first commercial computer” label unless the criterion is explicit: announcement, sale, delivery, acceptance, or regular business use. Dates change with that definition. The deeper exercise is to trace how a working design crosses institutional boundaries and which missing capability prevents the customer from relying on it.
Reconstruction exercise
For the fictional 70-unit sale, draw cash flow before and after acceptance and identify the maximum stated financing gap. Now assume acceptance is delayed and costs another 8 units of staff time. Recompute profit and funding needs. Propose three acceptance tests for a payroll customer, including a failure case, and identify one responsibility that belongs to the customer rather than to the machine supplier.
Worked solution
The customer initially contributes 20, while build and installation require 50, leaving a 30-unit gap before final payment. Including the 10-unit support reserve gives total planned cost 60 and nominal profit 10. If the extra 8 is incurred before acceptance, the pre-acceptance gap rises to 38 and total profit falls to 2, assuming the reserve remains necessary. Acceptance tests could reconcile a sample payroll against independently calculated totals, process a malformed record with an auditable rejection, and restore from an interrupted run without duplicate payments. The customer must define employment and payment policies and supply authorized records. The supplier can validate representation and execution, but cannot infer the organization’s correct policy from hardware alone.
Test the limits and transfer the idea
1. Cash-flow trace · allow 25 minutes
A profitable batch can run out of cash
A fictional computer supplier starts with 15 units of cash and accepts two orders. Each customer pays 20 immediately and 50 on acceptance. Each machine requires 40 for construction and 10 for installation before acceptance, then a 10-unit support reserve. Both machines are built and installed before either is accepted. Trace available cash, find minimum external financing, and calculate eventual total profit. Compare a sequential plan where the first machine is accepted and its support reserve set aside before starting the second. Ignore interest and unrelated expenses.
Get a starting hint
Profit subtracts all costs from all receipts; the financing peak depends on their order.
Compare your reasoning with the worked solution
After deposits, cash is 15+40=55. Two construction and installation outlays cost 100, so the parallel plan needs 45 units of external financing before acceptance. Final receipts total 140 and total costs including reserves total 120, so profit is 20. Without financing, sequential work starts with 55, spends 50 on machine 1, receives 50 and reserves 10, leaving 45 unrestricted. Building and installing machine 2 needs 50, so this plan still requires 5 units temporarily. It then receives 50 and reserves 10. Starting cash is not revenue or profit. The sequential plan reduces peak financing from 45 to 5 but may delay the second customer's delivery, which the simplified arithmetic does not price.
Check your reasoning
- Distinguishes cash balance, reserve and profit.
- Finds financing peaks of 45 and 5 units.
- Explains the delivery tradeoff without inventing historical finances.
2. Failure trace and contract · allow 30 minutes
Prove that a payroll rerun is safe
A payroll computer writes payment instructions for employees A, B and C. It crashes after the bank accepts A and B but before the operator receives confirmation. The operator reruns the entire job. Define an acceptance test that exposes duplicate payment risk, then propose a record and bank-side rule that makes retries safe. Hopper's 1980 interview is participant testimony about programming work; Manchester manuals are contemporary operational specifications. Neither source establishes that this modern retry design existed in those systems.
Get a starting hint
A durable identity must refer to the intended payment, not to the transmission attempt.
Compare your reasoning with the worked solution
An acceptance test should crash the workflow after bank commitment but before confirmation, rerun it and inspect the bank's ledger. With a new identity on every run, A and B can be paid twice. Assign each intended payment an identifier such as payroll-period plus employee plus authorized adjustment version. The bank must atomically record that identifier and its payload with the transfer, return the stored result on identical repeats, and reject the same identifier with a conflicting amount. A sender log alone is insufficient if it records success only after receiving a reply. The test must inspect both outputs and durable effects, and include an explicitly authorized correction so deduplication does not suppress a legitimate adjustment. This construction transfers the lesson about operational completeness without retroactively attributing it to ENIAC or UNIVAC.
Check your reasoning
- Traces the ambiguous committed-but-unacknowledged state.
- Makes payment identity and deduplication atomic with the effect.
- Separates modern design exercise from the historical evidence.
Check your understanding
A machine sale promises revenue 70 and total cost 60, but the supplier must spend 50 before receiving the final payment and has received 20. What is the immediate financing gap?
- 50 units because deposits do not count.
- No gap because revenue exceeds total cost.
- 10 units because that is the profit.
- 30 units.
Explanation
Profitability and timing differ:50 of spending minus 20 received leaves 30 to finance.
A prototype computes a demonstration correctly but fails payroll acceptance. Which explanation deserves investigation first?
- Only the purchase price can explain the failure.
- A working arithmetic unit guarantees every business workflow.
- The delivered workflow may lack data handling, exceptions, recovery, or operator procedures.
- The demonstration proves the customer’s payroll policy is wrong.
Explanation
A dependable application includes surrounding interfaces and operations, not just the demonstrated calculation.
Sources and further reading
- Oral history of Captain Grace Hopper, 1980: Computer History Museum, primary interview
- Original Manchester Mark 1 reports and programming manuals: University of Manchester archive