Kingfisher and Good Software

Sometime ago, I flew on the recently launched Kingfisher Airlines. The aircraft had a distinctly new and fresh feel. Quite refreshing really, and no pun intended ;) In-flight entertainment was via a personal TV, which is basically an at-seat, individual monitor that offers a choice of a few channels, distributed from a central system. As far as I was concerned, I had some work to catch up on and I had my laptop with me (yeah, the perils of modern technology). I simply left my TV on the default channel, which was an informational view of our flight path, height, speed, etc.

As we got ready to take-off, all the TV sets auto-tuned into a common channel. Suddenly, the gorgeous Yana Gupta, in complete Kingfisher uniform materialised on the screen. The central sound system crackled into life, and for the next seven or eight minutes, Yana demonstrated the mandatory safety procedures and emergency related information. The crew meanwhile, continued with their work.

Now, this is commonplace on international airlines, but it’s the first I’ve seen on the domestic sector. Which is why it stood out. And reminded me of good software (not refering to Yana here :)) and smart programming practices.

Think about it. All passengers, across all flights get the exact same instructions. Consistent, accurate and error free. Additionally, the airline saves about 24 (wo)man-minutes (3 hostesses x 8 mins), which can be deployed into other useful work. Thus, possibly decreasing marginally, the time required for take-off preparations. Even just a few minutes, applied across a flight full of passengers, result in considerable time savings.

Without wanting to stretch it too far, I hope you get the drift of what I’m saying. How did these benefits become possible? Good thinking. Someone, somewhere thought of using an in-flight entertainment system for more than just entertainment. In a simple, productive way.

Good software is often like that. Especially when we talk of software libraries, with functionality accessible via clean APIs. Or toolsets, with specialised components that can be “strung” together to do larger, meaningful things. Application programmers, using pre-programmed building blocks will often find new and completely different uses than what the author originally envisaged. As long as the building blocks have been constructed well. Having been on both sides of this programming fence, I can assure you that when this happens, it is a delightful experience.

So, if you are coding applications, you may wish to consider the possibilty of using something that already exists, and thus avoid re-inventing the wheel. On the other hand, if you are programming lower-level building blocks, do focus towards providing your next level of users with extremely clean and flexible options.

Keep coding and may the good times roll! :)

Leave a Reply