As a software developer, I’m always interested to learn about the work of companies and their efforts, or lack thereof, in employing the principles of Service Virtualization to reduce constraints and deliver a quality product both faster and more cheaply. There is one area where virtualization has been built into the process from the start – mobile application development. Here, an area where most of us are familiar, we get taste — but only a small one — of the benefits Service Virtualization could bring.
As any app writer will tell you, mobile development without virtualization is not just challenging, it’s nearly impossible. If compiled code could only be evaluated on a physical device, the testing and verification phase would be a miserable experience. The infrastructure that syncs development software and hardware for both Apple iOS and Google Android environments are effective, but they’re also incredibly slow and cumbersome.
Emulators are Mini Virtualization Systems
Fortunately, both of those entities employ virtualization in the form of emulators that mimic the hardware and save valuable time and energy. Apple’s iPhone Simulator is fast, responsive and acts as a competent stand-in for the real thing. Meanwhile, the Android SDK provides a plethora of options to simulate the look and feel of a wide variety of Android-powered smartphones.
The effects of this mini-virtualization system should be apparent to any disciple of Service Virtualization. In mobile application development, the need to interact with the hardware interface is minimized, eliminating obstacles and reducing dependencies in the development cycle. The use of emulation is so easy, in fact, it revolutionizes the development lifecycle because even minor code tweaks can be tested on the fly in mere seconds.
This arrangement leads to an ease of development that the industry has taken note of – mobile app development is a booming industry. In a short five years, when the Google and Apple mobile app stores were first launched, the number of applications available has ballooned from a few thousand to a combined 1.375 million as of September 2012.
Faster, Cheaper, Better
The same ideas behind Service Virtualization have been used to maximize efficiencies and speed development in mobile app development. But with bona fide SV, the results could be even better. SV represents a complete immersion in an environment free of the resource demands required by testing and deployment in a physical environment. Consider an on-demand banking app that is compiled and tested using emulators and yet still must be validated and verified using a bank mainframe. By emulating the mainframe, just as is done with the smartphone itself, the software can be produced even faster, with lower costs and greater reliability.
Enterprises large and small could stand to learn a lot from the model for mobile application development. And mobile app developers, in turn, should be able to see there’s always cause for greater virtualization.
Erik Rodriguez is a digital services consultant and software developer at a Dallas-area technology firm.