budget How TRIUS Inc launched a spreadsheet company

As-Easy-As was a popular spreadsheet for DOS and Windows. Here's how it all started.

Launching your own business is never easy, especially when you’re working in an entirely new business model. That’s what it was like for Paris Karahalios and Dave Schulz when they founded TRIUS Inc in the 1980s.

Paris and Dave co-authored the As-Easy-As spreadsheet, at a time when Lotus 1-2-3 dominated the PC market. As-Easy-As was distributed under the “shareware” model, where users could download the program and try it out before deciding if they wanted to buy it. But As-Easy-As became very popular, and won several awards.

Screenshot of As-Easy-As
Some of the new functions from As-Easy-As 5.7

I interviewed Paris about how they created As-Easy-As and launched TRIUS Inc. Read on for this fascinating look at entrepreneurship and how two developers turned an idea into reality.

Let’s start with an introduction. Who are you, and what do you do?

My name is Paris Karahalios. I have a BS and MS degrees in Nuclear Engineering with an option in Fusion and emphasis on Radiation accident analysis and health consequence modeling. I worked in the nuclear industry for about 10 years before I got into software development and IT around 1988. I started my third career about 10 years ago, when TRIUS stopped operating, as a senior technical project manager. I am currently the VP of Technical Project Management at Spire. I thoroughly enjoy what I do and the group of people I work with. I think of it as a continuous learning game, where I am called to solve new, challenging problems every day.

While in college, I became infatuated with computers and by the time I finished in 1980, I had become fairly proficient in using the CDC Cyber 6400 mainframe at the school. By that time, I had also written a number of programs for the TI-59 programmable calculator with the magnetic cards, which were published in the PPX TI Library and I had written a payroll program for the TI-99/4a computer. (I had to save and load the program each time I used it from a handheld cassette recorder using a regular cassette—no DAT tapes yet.)

This is just a long-winded way of saying that I had become a computer geek early in life, and continue to be one to this date.

You were a co-founder of TRIUS. How did the company start?

In 1984-85, I was working in the Nuclear Division of a large AE firm in Boston (Stone & Webster Engineering Co), where I was spending most of my time on mathematical and computer modeling of nuclear accident consequences, using IBM-360 mainframes.

Personal Computers were becoming popular and the company bought a true blue IBM PC-XT for each of the groups. Real powerful at the time, IBM PC-XT with two double-sided 5.25" floppy drives, 256 KB RAM and a single application: Lotus 1-2-3. We had to sign-up early in the day, or the day before, to reserve time on the shared PC, it was a hot item!

Some of us Stone & Webster employees formed a PC-Users group, where we met once a week, during lunch, and discussed the latest updates to PCs, new software, ideas on how to use PCs in new ways, etc. I met Dave Schulz in one of those meetings and we started hanging around. Dave was a Civil/Piping Engineer working in a different division of the same company, but his fundamental knowledge of computers, computing and software was unmatched! It was as if his brain worked in the decimal system for day-to-day life, and in bits and bytes at a native CPU level when it came to computers. I was impressed with his depth of knowledge and ability to translate theory into computer code then, and for the remaining 28+ years we worked together!

While I was fascinated with the capabilities of Lotus 1-2-3, he had just purchased a copy of Turbo Pascal and was dissecting the rudimentary grid (spreadsheet) sample app that came with it. Pretty soon, he started expanding its capabilities and we started to meet at his desk, discuss and review progress every day. It was still a basic program, but it was continuously improved.

Turbo Pascal's TCALC
Turbo Pascal's sample spreadsheet was a starting point

At the time, 9-pin dot matrix printers were becoming inexpensive, but the print quality was lousy. 24-pin printers could generate “letter quality” print, but were very expensive. Dave and I spent time understanding how the printers were driven through the interrupts and wrote a .COM program (written at the command line with the debugger included on the DOS floppy disk). When it ran, it would terminate and stay resident, it would interrupt BIOS calls to the printer and would then take over and manipulate the print head, so that a cheap inexpensive 9-pin printer could print “letter quality” text. We thought we could make some extra (side) money selling the program.

Something not many people know is that Dave and I formed TRIUS so that we could continue developing and marketing the Printer Enhancement program (if I recall correctly, it was less than 80 bytes long). In the meantime, work on the “spreadsheet” program continued. One of Dave’s co-workers had cutely nicknamed it “As-Easy-AS 1-2-3” (a play on “Lotus 1-2-3”). We had reached the point where the program could now read and write Lotus 1-2-3 (.WKS) files—a breakthrough! All while Dave and I were still working for Stone & Webster.

You co-created the As-Easy-As spreadsheet for DOS. How did that come about? Why write a spreadsheet?

On April 26, 1986 the Chernobyl reactor accident took place. Because I had done a lot of research and had published a number of technical papers on Reactor Accident Consequence Analyses, a month or so later the state department selected me to be the US delegate to the first meeting of Group of Experts in Consequence Analyses (GRECA) meeting in Paris France (Russia would not allow us to go to Chernobyl, yet). The meeting was attended by one delegate from each of 62 countries, to discuss the accident, validate mathematical prediction models and advise governments on next actions.

At the end of the meeting, it was decided that all radiation measurements reports for every country (the radioactive plume was travelling around the world) would be sent to me (in the US) where we would validate it, analyze it and use it to possibly determine (a) the level of damage to the Chernobyl reactor core, and (b) movement and depletion of the radioactive plume over the world.

When I came back to the US and the data started arriving on a daily basis, I reserved the group’s PC exclusively each day of the week and realized that we needed additional storage. We purchased two external Bernoulli drives (the original model, using the 8.5"×11", thick, Bernoulli disks, each storing a whopping 5 MB worth of data). We solved the data storage problem. We were using Lotus 1-2-3 to do all the data manipulation, which served us well, but we had a new issue. We needed to generate plots of the tabulated data and the Lotus 1-2-3 graphing capabilities (which were primarily meant for business) could not adequately handle the log/exponential curves we needed to plot needed for radioactivity decay.

Dave and I decided that the way to solve the problem was to spend more time on the development of As-Easy-As and focus on scientific plotting. Once these capabilities were in place (in a matter of a month or so), we started using As-Easy-As for analyzing the Chernobyl data and preparing the reports.

No more printer enhancement software, we now started concentrating on the further development of As-Easy-As.

3D plot sample in As-Easy-As
As-Easy-As supported a variety of chart types

How did you create As-Easy-As? What was the process to design and create a spreadsheet application?

The process was very simple. Dave and I would meet at his desk during lunch, or after work. We’d review the current version of the program, with the changes we decided to make the day before, make any adjustments, we’d discuss any new features that needed to be added, I would compile a list of tests that I needed to run to validate (a) the user interface, and (b) more importantly the built-in functions.

You have to realize that all built-in functions in the program were programmed by us using first principles. Whether it was building amortization functions, or linear optimization functions, or trigonometric functions,… we had to come up with the base analytical formulas, write the code representing those formulas, implement them and then independently verify them. And, this was done for every function in the program!

Sometimes we’d have differing opinions with Dave and that would result in lengthy discussions later at night, usually at my house.

The program was written in Turbo Pascal and eventually in Delphi. Portions of the code were embedded assembly code and some even optimized in-line hex code. We’d prototype routines that needed speed optimization in Assembler, compile it, then extract the hex code and insert it in Pascal routines. We re-wrote many of the graphing functions to bypass the operating system and write directly to display memory for increased efficiency. Our motto was “produce the smaller footprint and most efficient code you can.” Given the limitations on RAM, storage and distribution media, it made sense.

Compatibility with .WKS files was an early goal, because every spreadsheet program at the time was using .WKS files.

Focus on Physics and Engineering was because of our background in science/engineering and because of the need to use the program, as I mentioned earlier, for some of the Chernobyl analyses.

As-Easy-As was shareware. What was “shareware” and how did that work out as a business model?

There are a number of varying stories as to who first coined the term “shareware.” Andrew Fluegelman is credited with first releasing his program PC-Talk as “freeware,” and Jim Button (Knopf) releasing his PC-File program as “shareware.” Bob Wallace, the developer of PC-Write, always mentioned those two as the ones who started the revolution. There are many other software developers and small start-ups that went on to build successful companies using the “shareware” business model like Bob Wallace (PC-Write), Marshall Magee (Automenu), Tom Rawson (4DOS), Phil Katz (PKZIP), Scott Miller (Kingdom of Kroz), John McAfee (McAfee Antivirus), Apogee Software, id Software, etc.) who could be called “the grandfathers of shareware,” in a way. (I’m sure I’m forgetting a few dozen names…)

In any case, it was a fairly straightforward business model. You develop a software program for the PC. You give free copies of it to people so they can try it, encouraging that they give free copies to others. In the early days, if they liked it and they continued using it, you asked for a donation. Later on, programmers asked for payment that entitled users to discounted upgrades, a printed manual, technical support, etc. All this in an environment where mainstream software publishers were taking full page ads in computer magazines announcing that copying their software, even for solely back-up purposes, was illegal. Shareware became the de-facto business model for individual developers and small companies.

Some shareware companies would turn off certain functions after the evaluation period (eventually called crippleware), while others, like TRIUS would never disable any features, but would display a reminder to register when you started the program. Yet other companies would display the registration notice every XX keystrokes, or every YY screen displays, which eventually made them known as “nagware.”

As-Easy-As ordering screen
Registration was just $69

The shareware concept was ideal for those early days of PCs. It worked for users, because they could try hundreds of programs, before deciding if they were willing to pay for some of them and it worked for the developers because they could release a program into the “sharing” community with zero marketing budget, generate a captive audience, get useful feedback, etc. and make some money.

Having said that, a lot of shareware companies, including TRIUS, eventually ended up spending capital on marketing and advertising in computer magazines of the era, as well as placing their products in retail channels, private labelling them for larger well known publishers, etc.

scanned image
Shareware Shop article, 1993

What were some standout features in As-Easy-As?

Standout features? It’s like asking a parent “which one of your children do you love more?” I’ll just list a couple that come to mind… (a) a very powerful macro programming language, which was only used by maybe 2% of As-Easy-As users, but for those who used it, was irreplaceable. Most users didn’t even know that the built-in macro language could be used to model powerful apps with a UI. My comment about being irreplaceable for some, was based on the feedback we were getting from users (a benefit of shareware—the direct communications with the developers). Users let us know that they had used macros to model loading cargo ships, real time monitoring of hundreds of stocks, optimizing floor layouts of new homes, thermodynamic analyses of new design engine blocks, leasing scenarios for dealerships across the USA, etc. (b) the ability to define your own functions. This feature was used by many users to write functions that were specific to their graduate studies fields, their businesses, etc. And, since they were stored in an external file, once built, they could be imported and used in any worksheet… There are many more, but if I don’t stop here, I’ll end up listing every feature of the program.

By the way, this is not known (how could it be), but before the decision was made to stop development on As-Easy-As, we were a long way towards developing a spreadsheet SDK that would allow transparent use of spreadsheet capabilities integrated within other applications and had also started work on a built-in programming language (much more powerful than macros).

As-Easy-AS received a number of awards from magazines of that era (PC Magazine, Computer Shopper, etc.), but for us the most prestigious awards were:

  • Shareware Industry Awards - Best Application (1992) (DOS Version)
  • Shareware Industry Awards - Best Application (1999) (Windows Version)
scanned image
Shareware Industry Awards, 1993

I don’t think that As-Easy-As would compare favorably with today’s Excel, in terms of features and capabilities that exploded with the new development environments that were not available to us. However, up until a couple of years ago, we used to get messages from users telling us that they were able to run As-Easy-As for Windows, using the wine emulator on Linux, and they liked the small footprint, meager memory requirements and simplicity of use.

How did TRIUS change over time?

As-Easy-As was a very successful program. It was translated into German, French, Portuguese, Spanish, Chinese, Italian. It was privately labeled for a number of Publishers/Distributors. At one time, it was locally published in 11 countries. In the early 1990s, Dave and I ended up quitting our jobs and working full time at TRIUS, eventually hiring a dozen employees, etc.

Meanwhile, TRIUS had developed and sold other software, in addition to As-Easy-As. A number of successful ones were in the area of Computer Aided Design (CAD).

In the late 1990’s – early 2000’s, a few companies were interested in licensing our CAD technology to use it as “mapping” engines and we started shifting away from spreadsheets and CAD and more into GIS/Mapping. We did not have enough resources to give As-Easy-As the attention it needed, so we eventually decided to sunset it.

TRIUS paired up with a new company, UnderTow Software, which was primarily the main GIS/Mapping entity. Both companies eventually phased out in the early 2010s. I keep the triusinc.com domain still registered alive, because it feels that it’s part of me, we ran TRIUS for 29 years, with Dave for 26 of those years.

By the way, for reference, some of the software products TRIUS developed and published were: As-Easy-As, Alite, DraftChoice, ProtoCAD 3D, StarFlic, Pivot, DraftChoice Pro,…

As-Easy-AS and DraftChoice have received multiple awards like the Shareware Industry Best Business Application and Best Graphics Software award, the PC Magazine Best Application readers award and so on.

Unfortunately, we did not keep a lot of the original articles, etc. of the successful era of As-Easy-As and TRIUS, but over the last few years people have forwarded me some clippings in electronic form.

Do you have any examples of interesting ways that people used As-Easy-As?

There were many customers that had used As-Easy-As for niche applications, it’s hard to remember them all. Here are some that come to mind.

A user wrote a spreadsheet that would get real time stock quotes through a paid service (using a dial-up modem) and then dump the raw data to As-Easy-As for DOS through the serial port. He had come up with algorithms in As-Easy-As to analyze stock prices, identify trends and try to determine good/bad investments. We never followed up to see if they made any money from those investments.

A major West coast fast food chain’s (2000+ locations) corporate Dev team integrated As-Easy-As for DOS into their management system at every location, with a connection to headquarters, to manage daily sales, cost analyses, goals, etc. I was directly involved in that integration and learned a lot about “corporate” software deployment workflows from them.

The Chinese version of As-Easy-As for DOS was incorporated as a mandatory course in the Taiwanese Computer Technical Schools curriculum. Multiple instructional books were written in Chinese (I have copies of some of them). As an aside… As-Easy-As was also translated into Portuguese, Italian, Spanish, German,… We did all the implementations at TRIUS. We’d extract all strings from the code (menus, sub-menus, error messages, function names, etc.), we’d send them to our partners/licensees for the foreign versions, they would translate them and then send them back to us. We would then go back and replace all strings in the source code with the foreign translations. I was primarily responsible for doing all these foreign implementations. The Chinese version presented a problem because Chinese characters need 2 bytes for their representation, so the BIOS, built-for 1-byte ASCII character display, could not accommodate them. Our Chinese partner had to come up with a TSR, partial BIOS replacement that would intercept interrupt calls from the program to remap and display 2-byte characters on the screen. A fun project.

Mazda US headquarters developed an integrated leasing system using As-Easy-As for DOS that was used by every US Mazda dealer.

A special custom version of As-Easy-As, for the HP Palmtop, was used by a hospital group to schedule and manage daily rounds.

A user interfaced As-Easy-As to a CNC table, through the serial port, and used it to drive a cutter to create all sorts of designs based on complex trigonometric equations.

How did you decide what features to add in the next version?

Anytime a user communicated a request for a new feature, it was added to a long, running list of future changes. When one of us thought of a new feature, it was also added to the list. If a bug was reported or discovered, it was also added to the list. On a daily basis, we’d sit down and review the list and assign priorities, using a multi-factor grading system.

Reported bugs and discovered problems were pushed to the top of the list and were addressed immediately, or not, depending on factors like…

  • Is this an issue that affects some core programming and capabilities of the program?
  • Does it involve a commonly used (by many users) function or feature?
  • Does the user reporting have a dire need to use it in some immediate work?

Then new features were reviewed based on…

  • The number of users requesting it
  • Whether it would have a wide impact, used by most, many, a few potential users
  • Effort level to implement the new feature
  • How close are we to a new release

Although I can’t say it never happened, usually, the decision for implementing a new feature was not based on whether we added it to the list, or it was suggested by the user. We tried to make the decision on merit and factors like those listed above.

Inserting a chart in a spreadsheet
One neat feature was embedding charts into a spreadsheet

Was As-Easy-As used mostly by engineers, or was it used by office workers too?

Although we don’t really have any real statistics, I’d say it was the other way around. As-Easy-As was mostly used by individuals and small businesses to make managing their businesses easier, without having to pay $400 for Lotus 1-2-3.

The engineering portion was primarily driven by our needs. Having said that, since many engineers in those days were PC hackers and they liked to build things, they started adopting As-Easy-As, once they discovered they had access to additional engineering functions and formulas.

We also found that the program was used by a large number of small investors that built their own formulas to predict future stock performance, since they thought “they” had the secret sauce.

Are there any features that you wish you had added to As-Easy-As for DOS?

I can’t really think of any feature in particular, though I’m sure we had a few pages worth of features for future consideration, when we stopped development of As-Easy-As for DOS. I know that at some point, we decided to branch off development and create a lighter version (Alite), where we added the capability of TSR (Terminate and Stay Resident). Users could load the program and then have access to it over any running application using a hot key combination—a breakthrough at the time, for the single task operating system.

One thing that comes to mind is text processing features. I have to put it in context… In those days and running a single task operating system, if you were working in a spreadsheet or a database program and you needed to write a letter, you’d have to exit the current application, start your text editor (or word processor), write the letter, print or save it, exit the app and restart the app you were previously working on to continue your work - a very time consuming process. So, what a lot of us that spent most of our time in As-Easy-As would do, is to write short letters and notes and print them from within the program, so we would waste time exiting and restarting multiple applications. To do that effectively, we needed “some” formatting options, like embed CR/LF, right justify, bold and italicize words, word wrap, etc. We started down that road, but never really had an opportunity to implement those features. By the way, Alite was developed primarily to eliminate the exiting/restarting of all these apps.


Thanks to Paris for this outstanding interview about As-Easy-As and TRIUS Inc! There’s more to explore on this topic; Paris also shared with us how they wrote the manual, and his personal story about getting started with programming. To continue with the story, watch for tomorrow's interview with Paris at Technically We Write. Also look for a follow-up interview published by our friends at All Things Open where we look at how As-Easy-As was developed.

Want to see As-Easy-As in action? This brief demonstration shows how to use As-Easy-As to solve for values in a triangle: