Because I love my job, I cannot stop thinking about software engineering even when I am on vacation. My recent holiday in Rajasthan and Varanasi in Northern India provided an opportunity to truly admire some enterprising inventions of the ancient times that are now outdated. I believe this attitude of respectful admiration can help companies in the Digital Economy as they begin the process of software modernization.
Allow me to show you some artifacts that I came across during my vacation which beautifully showcase the engineering and innovation of the 16th, 18th and 19th centuries.
The holy city of Varanasi is one of the oldest living cities in the world. In Varanasi, we saw craftsmen weaving fine silk designs using a 19th century Jacquard loom.
How do they do it? First, an artist draws a design of the pattern to be woven. Then this design is encoded, line by line, onto a set of metal “punch cards”. Each card represents one line of weaving, and each circle in a card has one of two states, present or punched out, indicating whether the corresponding thread should be raised or lowered for that line. The chain of cards is then laced together into a continuous sequence which controls the loom, and the various colored warp threads are loaded.
The human operator has a relatively simple job – advance the loom to the next line, and then pack the lines tightly together. In the West, a modern loom is controlled by computer, which automatically scans the patterns to be woven, reducing the setup time to zero. But in Varanasi, the card-controlled Jacquard loom lives on, continuing to produce dazzlingly complex patterns in silk, and in the process supporting thousands of local artisans.
Next is the 16th century version of the Internet: carrier pigeons. We saw the case for the carrier pigeons at the City Palace in Udaipur, a lake city in the desert state of Rajasthan.
A carrier pigeon has an innate ability to find its nest, and can travel over 1,000 miles at an average speed of 50 mph. The kings of Udaipur harnessed the capabilities of the pigeons to create a highly efficient communication system a few centuries ago.
Here is how the system worked: A message was written on a thin light paper and rolled into a small tube attached to the bird’s leg. The pigeon then carried the message to the recipient. Obviously, this system had its limitations. For example, it worked in only one direction, when the sender possessed one of the receiver’s pigeons! But, for its time, it certainly was an ingenious way to maintain long-distance communications with other kings.
Another invention in the City Palace was a 19th century steam powered fan, imported from Italy to keep the kings cool.
The apparatus in the king’s room looks very much like a modern fan. But, there is no electric cord. Instead, a pipe leads to an adjacent room, where boiling water was used to create steam which powers the fan. In order to maintain a pleasant temperature in the king’s room, the fan operator next door had to labor in nearly unbearable temperatures! Though this contraption is no match for a modern air conditioner, or even an electric fan, one has to really admire the ingenuity of the inventor two centuries ago.
Coming to the city of Jaipur, the capital of Rajasthan, also called the ‘Pink City’, we saw the Jantar Mantar, a collection of nineteen architectural astronomical instruments, built by the Rajput king Sawai Jai Singh in the 18th century. The instruments measure time, predict eclipses and track the location of major stars. Among other artifacts, it features the world’s largest sundial, which rises 88 feet high.
Although not much in use at night or on a cloudy day, the sundial is a testament to the level of astronomical knowledge and expertise achieved by a remarkable civilization, long before the era of atomic clocks.
As I reflect on these inventions, I am filled with admiration for the creativity, insight and the innovative spirit of man. At that time, each of these inventions was a remarkable achievement, which enabled the impossible. Of course, I do not recommend that you actually use any of these artifacts today – they have all been replaced by far more efficient, convenient and reliable alternatives. But this does not diminish my respect and appreciation for the inventors of these devices, who created breakthroughs using the technologies at hand in their time.
How is all this relevant to software modernization? Many companies today find themselves on the cusp of deciding whether to modernize their existing software stack. While interacting with these companies, I find that a major impediment towards initiating a modernization project is what psychologists call “ego investment”. Someone chose the technology that now needs to be modernized, and any criticism of that technology is perceived as a personal attack on that someone. If a software system needs to be modernized, says this not-so-correct logic, then it must have been a mistake to install it in the first place, and whoever was responsible for that decision made an expensive mistake. The discussion then becomes emotional rather than rational, with unpredictable results.
To break this dynamic, what is required is an attitude of respectful admiration for the system to be modernized. Don’t view it through the lens of what is available today – look at the choices that were available when that system was selected. You will usually find a lot to admire in the inventiveness and resourcefulness of whomever it was that cobbled the system together and was able to successfully overcome the existing technological limitations to produce a platform that answered the company’s needs.
The requirements have probably changed over time, and so have the technological choices, and that’s why the system needs to undergo modernization. But if you take a moment to respectfully admire the imagination and originality of the existing system, the entire modernization process will proceed far more smoothly.