Voice Recognition in COBOL, 1980s style.
Around 35 years ago I began my first proper IT job as a programmer at Brannan Thermometers, a thermometer manufacturing company based in Cleator Moor in Cumbria. I was working with a couple of “mad geniuses”, Alastair and Tony (no, they weren’t hairdressers) programming mostly business applications in COBOL on an ageing Burroughs B3900 mainframe. These guys were good: even though nobody had ever taught them anything about computers beyond them reading a single book on assembler and (much later) having access to a COBOL manual, between them they had built a system which covered just about everything any manufacturing industry would require – and then some. It would put many of the large systems I’ve worked on since in the shade, and I sometimes wonder why they didn’t sell it on – I guess they didn’t realise just how good it was. But it was lean, fast, and did exactly what the users wanted – and in those rare cases where it didn’t it was so well organised that making changes to the code was a dream; user requirements could be coded in hours or days where on modern systems the changes might take weeks or months. I learned a lot in the couple of years I was there.
They also dabbled with hardware, and in fact some of their greater achievements involved interfacing with hardware – using jury-rigged electronics usually scavenged from broken bits of something totally inappropriate, and almost always using COBOL as the control language. The most impressive of which was a program which interfaced via a re-jigged dumb terminal to a graph plotter, and printed logarithmic thermometer scales to fit varying lengths of tubes to incredibly small tolerances. Thermometer manufacture is a complex process – buy me a beer sometime and I’ll tell you all about it. But I digress.
Unisys (who by then owned Burroughs) often used Brannan’s as a case study when they wanted to sell someone a mainframe, and would frequently bring their potential customers on site visits for a demonstration of Brannan’s system. During one such visit, the IT team told the salespeople that they were experimenting with voice recognition – linking a microphone to a dumb terminal – and would the salesman like them to demo the system to their clients? They cautioned that it was very much in the experimental stages, but nevertheless they were pleased with the results. Of course, the salesmen almost wet themselves in their excitement – a voice recognition system running on a B3900 – written in COBOL? You bet they wanted to see it!
The salesmen were led to a small office where Alastair – my boss – was seated at a terminal with no keyboard but with a microphone attached. He explained with some embarrassment that the system had been having some problems, but he’d have a go at a demo.
He spoke loudly into the microphone: “Account: 655055”
After a couple of seconds delay, a customer record came up on the screen. Account 65505. A near miss.
He tried again, slowing down his speech and speaking very carefully and clearly: “ACCOUNT: 6 5 5 0 5 5”
This time the correct record appeared. Smiles all round.
“Wait,” he said “There’s more.”
The sales history for the account appeared. More smiles and exclamations. The demo went on for several more minutes, with various aspects of the functionality being demonstrated, mostly successfully and, considering this was way beyond state of the art back in 1981, the salesmen were duly impressed.
“What do you call it?” asked one of the salesmen. He wanted to know what to tell his prospective clients he’d seen.
“URINEX”, replied Alastair without missing a beat.
An embarrased silence followed, until Alastair’s buddy Richard was heard in the adjacent room: “Are you finished yet? ‘cos I want to get my lunch and I can’t if I have to sit here typing your instructions.”
Oh, how we laughed.
 An example: thermometer tubes can’t have their scales applied until after they have been filled (typically with mercury or alcohol) and the tube has been sealed because the scale varies greatly according to the precise amount of fluid in the tube. Some types of scales are applied by firing the tube in a kiln. But exposing a thermometer to the heat in a kiln will make the thermometer explode as the fluid within expands beyond the tube’s capacity to contain the fluid. How do you think this might be done?
 Jenning’s Snecklifter, please. Or failing that, almost any Real Ale. Ta.
 A dumb terminal, or “VDU”, is an input-output device consisting (usually) of a keyboard and a screen. It has just enough “intelligence” to send what you type at the keyboard to the mainframe, and return the mainframe’s response to the screen.
 It wasn’t actually a microphone, but a soil thermometer. It was the best they could come up with at short notice, but it looked the part.
 I’m being economical with the truth here – call it poetic licence. In fact, this all happened about a year before I joined the team, but it’s just as the story was told to me.