Drs. Jekyll & Frankenstein
Test tubes bubble menacingly as blue arcs of electricity irradiate a diabolical-looking mixture slithering into a smoking beaker. Laboratory animals cower as insane laughter rattles their cages. This is the den of the mad scientist, a figure that has been closely linked with its technological equivalent: the programmer. Substitute a DSL line for a Bunsen burner and LCD monitor for a Tesla coil -- while maintaining the frazzled hairstyle -- and you have the archetypal computer scientist.
Two of literature's most infamous scientists made incredible -- while not entirely ethical -- progress in their fields, using distinctly different approaches that parallel some of the issues the industry faces today. Dr. Frankenstein’s "scientific" approach typifies much of the previous work in our field, while Dr. Jekyll's methods more closely illustrate how our field will work for the next two years.
Dr. Frankenstein was obsessed with creating life where none existed before. For years, programmers have been fulfilling this dream. The imagination of programmers, cutting edge technology and a few hundred thousand lines of code have combined to create accounting packages, stock trading systems and CAD systems.
As each advance in hardware appeared, analysts waited for a killer application that would make the new hardware indispensable. Chipmakers counted on the Dr. Frankensteins of the industry to drive sales, and they were rarely disappointed. The opportunity to create new products out of thin air is what attracted me to the field.
Dr. Jekyll’s approach differs from Dr. Frankenstein’s. He was interested in harnessing the potential already inside people. Dr. Jekyll’s paradigm is an appropriate metaphor for the next two years of software development. I predict that most software development in the immediate future will focus on extracting potential from existing software.
It will come as no surprise that the force driving the Jekyll development approach is the Internet. Look at the software under development for the Internet. E-commerce, news, auctions, stock trading -- none of these ideas is new. The only application unique to the Web is the portal, and portal software is not groundbreaking technology. What all these applications have in common, however, is the way they extract potential from mature back-end technologies.
Imagine if Yahoo’s programmers had retreated to their laboratories to cook up their own stock quote system, a news gathering division and a point-to-point mapping program. Yahoo would have missed the revolution that it helped create. Instead, through partnerships and integration, Yahoo extracted the potential out of companies who may have never heard of the Internet before Yahoo came knocking. The results of the Jekyllian approach have been beneficial to both Yahoo and it’s partners.
The tools of the Web favor Dr. Jekyll. HTML is a simple layout language, which does not alone offer enough functionality to create new applications. When combined with an existing application back-end, however, HTML can extend the reach of an existing application. While Extensible Markup Language (XML) is a straightforward way to deliver structured content, it can also be used to extend the potential of existing products. Java is one of the few Web tools that can provide developers with the power to create new classes of products. But Java is rarely used on the client side of Web applications and has instead found its niche in creating server-side applications. Many of these server-side Java programs are acting as brokers to legacy applications.
Another interesting aspect of new application development is the state of computing languages used in development. Since the coming of Java, have you heard of any new programming languages? Is new language development stymied because Java is a blazing performer, C++ is a super productive back-end tool and Visual Basic applications are a snap to maintain? I don’t think so. Companies are now focusing on extending their reach, not their functionality, and creating better functionality faster is not on their radar.
The killer application of the next two years will not be any one new program at all. Instead, the killer application will be the instant availability of every application, either for sale or for rent. Almost any algorithm or content database that you can imagine exists, and is likely working its way to the Web -- if it hasn’t already arrived. The developer’s job for the next few years will be to extract the potential out of those existing systems and inject it into their company’s revenue stream.
By the way, you might remember that both Jekyll's and Frankenstein’s experiment resulted in the creation of a monster. With the many tubes and wires that will enable these legacy applications, creating our own monsters is a distinct possibility. --Eric Binary Anderson is a development manager at PeopleSoft's PeopleTools division (Pleasanton, Calif.) and has his own consulting business, Binary Solutions. Contact him at email@example.com.