The Second Wave

The computer revolution was slow to take off. Obviously computers made for a better typewriter, but the price was high. Bang for the buck was not good. What propelled the revolution was the killer app VisiCalc, the first spreadsheet. For the first time, the average user could plug numbers and formulae into rows/columns and easily play “what if?” This was valuable; prior to this, “what if?” was time consuming. This was when computers became worth spending the big $$ on.

The First Wave of applications was simply transferring existing tasks into computers and having some control of it via software. Databases, dental billing, desktop publishing, all of these things were merely transfer of exiting methodologies to new equipment. This included the web. Much of the web is like a magazine, really, but with a sprinkling of some interactive thought process (e.g. database-centric data, like Amazon) which, if you think about it, is merely the online version of a catalogue.

In the midst of the first wave, Java was invented. It was noticed that a number of the methodologies transferred didn’t need to be realtime. e.g. With workers typing names and phone numbers into a billing database, the CPU was going to spend 99% of the time idling in a loop waiting for keystrokes regardless. Ditto for looking at online catalogues.

Java is too slow to do anything in a hurry. On the other hand, much of the first wave was concerned with asynchronous transfer. Pressing the “search catalogue” button was going to result in the database churning for a few seconds, so if the language responded in 3 mSec or 300 mSec was a non-issue. Java is suitable for such tasks, but not much else. It’s noticeably far too slow for anything requiring immediate response.

The Second Wave

In my job I work with constructing buildings via software. In the construction business, the way things were done before computers involved lots of notebooks and drafters laboring into the wee hours. The first wave allowed for estimates to be sorta/kinda guesstimated via spreadsheets. AutCAD allowed drafters to be able to more easily update or change drawings, store them, and so on. The process of estimating a building went from many weeks to many days.

“Second verse, same as the first”
— Herman’s Hermits “Henry the VIII”

My company set about creating a tool that was faster and more reliable. But something funny happened along the way. We noticed that our method, as implemented in lightning fast C++, allowed our users to create virtual buildings and get the PERFECT right answers as well as AutoCAD compatible drawings in seconds. Yes. I said seconds. Suddenly it became apparent that what we had was second wave; the ability to apply hundreds of lookup layers along with algorithms to play “what if?”, but this time on a scale that would melt a first wave spreadsheet. In other words, we stumbled into a primitive mixture of AI and expert system that was devoted to a specific task.

So what is “what if?” in this context? Let’s look at the first wave again.

The ability to do CAD drawings doesn’t translate to a part list, part prices, generate purchase orders, or much else. AutoCAD, for all it’s strength, is still just a drawing tool. Spreadsheets used for estimating don’t really have the ability to do much with complex algorithms looking for situational conditions. They also don’t draw, calculate labor, and so on. In the first wave, there wasn’t a tool that could combine these things. Outside of what we have, there still isn’t.

Our second wave tool does all of these things, and more. I could bore you until your ears bled listing features and innovations, but suffice to say that it’s the real thing. Moreover, because we assumed realtime (synchronous) computation from the start, creating a building takes seconds.

Green Button

Now, how you get “what if?” uses this ability. Let’s say that you can calculate out the basics of simple warehouse and office wing as per engineering spec. Done. Yay. Now, what we really want to know is this — if energy price is increasing $X per year, are we better off spending big on extra insulation, or perhaps doors with better heat retention, or adding fewer windows, or.. what, exactly?

Press the Green Button. All of these possibilities is calculated, from scratch, giving you the up-front construction cost as well as a “total ownership” cost for 10 years. Depending on where the building is constructed, energy price stability, etc. it may not pay you to invest too much into certain “green” stuff (insulation etc.) On the other hand in a region with brutal winters, it’s handy to know when the payoff comes for the extra that may be invested up front.

Sound familiar? This, folks, is very similar to a spreadsheet. Only this time it’s really smart. And more importantly, every time the CPU people make faster chips, our users can make fancier structures and do more “what if?” playing. In short, our company has pioneered the second wave in this industry: we take what was good about the first wave, and we build on this to make it faster and smarter and better.

I for one am happy we didn’t use Java. You can’t do second wave stuff with that.

Leave a Reply