14th
Raiders of The Lost Art
Recently, I had the good fortune to be involved in adding an extension to an existing SCORM implementation within one our client installations. The actual implementation was more thorny than originally anticipated (is there one that is not?) and was able to bask once again in the rarefied atmosphere that is SCORM documentation. As always it was an invigorating and transcendent experience but my colleagues brought me back to earth when I proposed a SCORM appreciation day at work…I don’t know what to do with those T-shirts…
But I digress. As delightful as that indulgence was I began to wax nostalgic for the bygone days when men were measured by their ability to create Windows Message Hooks, C++ dominated the (read my) known world and Ajax remained a character fully ensconced in Greek mythology. I was steeped in the ideas and architecture of the Windows API; indeed, it was my bread and butter溶ot to mention my tamales with red sauce. Everyone was familiar with the Internet, per se, as most of us had explored it during school. And by explored I mean grappled with the any one of the various character based email clients (does anyone remember PINE?) and thrilled to the inherent grooviness of the Phone application. For the uninitiated this was a rudimentary form of IM, but essentially limited to a sihave been at the turn of the century. Wait… it was…doh!
Perhaps my living in Tuscon at the time kept me somewhat distanced from the growing tidal wave of webness that would inundate us all with a connectitude our forefathers, our fathers, our older siblings, and, alas, we could scarcely imagine. And, well, we simply did not. There were rumblings about Http and home pages and whatnot, but the conferences we attended were focused like a, well, um, like a pencil thin ray of something really bright and really straight that isn’t at all a laser beam or laser anything. Anyway, they were about the wonderful ecology of COM and DCOM, an entrant into the growing field of Remote Computing. These technologies and there many brethren were poised to fulfill the holy grail of networked computing and were indeed doing so somewhere in some way, as they still do today somewhere in some way, (one of which I will mention below.) The lineage is as follows: DDE preceded OLE preceded COM preceded DCOM. Or it may be that they overlapped a bit, but the idea was basically the same. Simply you could get objects to talk to each other across threads, applications and even machines, and, if you really wanted, you could arrange it so they really didn’t have to know that much about each other.
Within the little cubicle that was my cozy home, COM and DCOM were the obvious choices for both intra and inter computer computing. And being the intrepid adventurer that most of us in the digital world are, I dove into the arcana of object interfaces, data marshaling, IDL specifications, method tables and other half-remembered bits of technical flotsam. This too was a heady time in which even the most explicit documentation required more than a casual perusal to digest fully…at times causing one to burp with gusto. Yet perseverance rewards those who, well, persevere and I was able in a rather short time to throw me down some mack daddy DCOM…at least compilable DCOM. My team and I thought we were off to the races constructing an elaborate bit of software that swam in a pool of effervescent COM. It was elegantly designed and was brimming with these technologies, not dissimilar to the gaming addicts that are a hallmark of our modern world. But all was about to change.
At about this same time I was being recruited to the dark side. In the wee hours of the night in my secret digital laboratory I was dabbling the blasphemy of java (gasp!). It may be hard for some to comprehend the animus that Microsoft held for Sun’s vision of a virtual platform. It seemed a curiosity to I and my colleagues at the time and seemed to be scrupulously and largely ignored by the (presumably serious) programming community. We thought of it as a gentle way to nurture budding programmers and an annoyance allowing amateurs to create spinning buttons in an otherwise useful web page. As I journeyed further into its depths I found it both breezy and obtuse by turns, really the experience one might have learning any new language. Perhaps naturally, I steered my efforts towards RMI initially and later CORBA, two competing RPC technologies that one building with Microsoft tools was arduous if even possible. Thus, I began to use development tools built for java, even further distancing my from my erstwhile peers. In 1999, when I left Tucson (I traded the wonder of Tucson’s landscape for the dazzle of Chicago’s cityscape,) I had traveled as far as I might with merely a book and an interest. I was eager to trade in my copy of Visual C++ for a some guidance in the land of XML, EJB and Servlets. It would be a few years before that transition was fully manifest but I did fall headfirst into wholesale web application building, at first using MS ASP and a litany of client-side javascript. I did embark on a detour into the murky land of BroadVision, about which the less said the better, but after a bit of a career realignment and a nostalgic visit to DDE, I was awash in java-based web application development, a universe I still inhabit. Perhaps more so than with other technologies it has evolved at an ever increasing rate. At least in the web world, ideas are proposed, vetted, and realized in a very short time, some of which are not new so much as formalized. Ajax is a prime example of this, coming just a few year after I had seen seen several homegrown incarnations of the same idea, none of which were useful beyond their singular and proprietary purpose.
As others with far greater faculties than myself have observed, it is fascinating how certain technological strains flourish, renewing themselves with the seasons, some blossom and die, and some, become institutionalized and fossilized in place. Think of Relational Databases which remain largely faithful to Codd’s original paper in 1974. (Anyone out there own Oracle stock?) Another long lived technology, or at least the blueprint, is the AICC and, less so, the SCORM standards, the ideas for which date back those same mid 1990’s when I toiled blissfully assuming the web to be a mindless pastime like any arcade game. And from the LMS ramparts where I stand watch, it looks like they will be for awhile yet. The smart money, actually even the moderately attentive money, is on SCORM to wax ever more dominant in the coming months and years. Yet, as we labor to add elaborate features to the co-dependent siblings Courseware and LMS, we be mindful that history enjoys revolution and it is probable that one day we will see today’s engines purveyors of e-Learning in the same light as most of see Distributed Computing: not gone, but hidden, if not marginalized.
I would like it to be known that these thoughts that I have shown are exclusively my own, yes indeed all my own.
My perspective is certainly one among many and I welcome corrections or additions.
Jonathan Gray Director, Software Development Trifus