October 23, 2014
How We Built Excosoft: The Early Adopters
EXCO for Programmers
Back at Ericsson Radio, following my 1980 summer holiday, I presented EXCO Editor to my colleagues. It was very well received and programmers started to write hierarchical code.
This technique later became known as Literate Programming. In Literate Programming, the real code is wrapped inside pseudo-code, i.e. descriptive titles which document the code. Pseudo-code can be wrapped in higher levels of pseudo-code, thus creating higher levels of abstraction.
I’m still using this technique, 34 (!) years later, whenever I can. Unfortunately, when I’m working in software developing environments like Eclipse, this technique is not available and I have to endure the flat world. I hate having to scroll up and down to find a piece of code!
EXCO Becomes a Word Processor
In 1982 FMV (Försvarets materielverk), was in the startup phase for procuring an air defense system to support the new military airplanes (JAS). The project name was StriC90 (Stridslednings Central 1990). FMV had recently bought a VAX VMS computer from Digital Equipment, the popular computer in the industry in those days. Now they needed a replacement for the old Scribona word processing machine they had been using. Ericsson Radio offered EXCO, and FMV accepted!
A simple experimental software editor like EXCO is not the same as a word processor for secretaries. Here is part of the EXCO manual which the programmers had been using:
Note that the file extension had to be ‘JCH’— my initials!
Here are some more lines from the manual:
So now I had to develop a fully functional word processor in less than 6 months.
The VMS EDT editor source code (written in BLISS) was available on the VAX. I printed it just before my summer holiday and spent the whole summer reading the code over and over again until I kind of understood the fundamentals.
Back at the job, I translated BLISS code into Pascal, added word processing features, and the EXCO hierarchical behavior. But an important part was missing: a way to get it out on a printer. The EXCO structure that programmers had filled with pseudo-code and source code now contained section titles and paragraphs. I had to develop a new program that formatted the structure into output pages.
I realized how much information the structure implicitly represented which was very useful for the formatter. The start and stop of sections helped the formatter create nice page breaks. Automatically generating a table of contents was not a problem. Furthermore, links to sections or figures could be automatically replaced by title and page references.
The new editor was called ExcoWord, and the formatter ExcoForm.
The Value of Distraction Free Writing
In December 1982, the 3 secretaries from FMV were confronted with ExcoWord. They had previously written documents with the page oriented Scribona. Now they should work in a rather abstract hierarchical structure with no section numbers. How would they react? I was really nervous.
It turned out to be no problem for them. In fact, they became much more effective than before. Why? Because they could concentrate exclusively on structure and content— the layout was taken care of by a style sheet!
Today we understand the importance of separating content and layout, primarily as a prerequisite for reuse. But the old insight from 1982 is still valid today: Removing the distraction of page breaks, line breaks, fonts, headers, footers, etc., helps the writer produce higher quality information.
People have different passions — mine is structure. But structure has an enemy: WYSIWYG (What You See is What You Get). The page oriented paradigm was soon to take over and I had to endure with my structure idealism for so many years.
ExcoWord files were saved in their own proprietary format. Fifteen years later, in 1997, XML came to life, an excellent standard for representing structures. That was a turning point, and today WYSIWYG is gradually being moved to the cemetery of huge mistakes.
The story doesn’t end here, (nor did it start here, be sure to read Part 1). Stay tuned for next month’s edition of How We Built Excosoft. And in the meantime, feel free to explore our blog for more stories and insights from our techcomm experts!