The GraPL Engine History and Heritage
1998 - here comes VML
It has always puzzled me that HTML has a rich set of instructions for formatting text and tables, and almost no ability (except for the 'Horizontal Rule') to draw lines or shapes. Now at last there was a proposal for some quite easy XML structures which would actually allow you to draw things in your web-page. Remember that my basic platform is a collection of PostScript macros, for which I already had an interpreter and a matching set of functions to render on screen or printer (or indeed to a metafile for the clipboard). To generate VML code - itself a vector description - simply meant writing an equivalent set of functions to translate my PostScript instructions to VML instructions. Much of the VML specification (for example the PATH attribute) is clearly lifted straight from the PostScript Reference manual, so this was not a particularly hard task.
-5
-4
-3
-2
-1
0
1
2
3
4
5
6
7
Click on the Bars to Accumulate the Total!
The total collected so far is 0
Jan
Feb
March
April
May
June
July
Aug
Sep
Oct
Nov
Dec
Of course, VML added some interesting new capabilities, particularly the possibility of adding hyperlinks and JavaScript handlers to points on the chart. I was not long before I added these options as chart properties, and began to explore the possibilities for building an entire website out of a linked collection of VML charts. You can see what is possible on the Causeway site, where 10 years of daily climate data are presented in an easily explored set of charts.
1999 - breaking out from APL
APL is a superb language for dealing with mathematics and arrays, which is why it is so popular with banks, insurance companies, stock-market companies and statisticians. These are all people who want to plot graphs, so selling RainPro in this market was remarkably easy. Unfortunately, most of the programmers in the world would prefer to write in Java or VBScript or C++, so it was becoming essential to make the engine available outside this limited domain.
The breakthrough came when Cognos announced COM support for their APL+Win interpreter which is a fast, reasonably lightweight platform that allows the RainPro engine to be run from any environment which supports a COM interface. Because APL is designed to handle big arrays, the interpretative overhead is minimal and quite complex charts can be specified and rendered in a fraction of a second. Now we had in place the two essentials - Microsoft had written the chart viewer and Cognos had packaged the APL array engine. Suddenly anyone with a Windows machine and a rudimentary knowledge of VBScript could make high-quality charts. RainPro became GraPL and this website was born.
|