Some recent software installation trials and tribulations(Microsoft’s Team Foundation Server, for those who wonder)have encouraged me to restate the observations of a prior entry,Adoption = (Functionality – Cost) ^ Ease of Use.
In that outing, I observed that the adoption (or avoidance) of aproduct is often correlated with the ease of takingthe first step, along with the continued ease of using the product.While I focused on the usability and adoption of PVRs relative toVCRs, this premise holds true in the software field as well: Evenamong enterprise level applications — huge, complex solutions thatdrive the engine of corporations –the initial impression, or beginning evangelism, is oftendriven by the ability of some random tech guy to get theproduct installed and delivering some sort of value. Allof the specialization, customization, and advanced uses will comelater.
This can be demonstrated by analyzing the historic successof many Microsoft products. Compared to the Oracle of old, forinstance, SQL Server was brainless to get running, and often foundits way into many shops via MSDN subscriptions. Soon enough that MSAccess developer was targeting SQL Server, tying themselves andtheir solutions to the product, in time taking advantage of all ofits advanced functionality. The complexity of theproduct was “time-released”. MicrosoftVisual SourceSafe is widely considered an also-ran sourcecontrol system, with a litany of missing functionality and knowndefects, yet it’s the source control product in use by a hugenumber of software development shops — Given how trivial itis to get going (versus many of the competitors that often demandeda sea of dependencies and configuration steps), many groups adoptedit as a defacto source control product.
From hosting that first micro-project, it took hold until it wasthe foundation of the most compex of solutions.
The examples go on. Of course people would point to Linux as acounter-point, and to a small degree it is, even among the Linuxcamp the real adoption began when companies like Redhat madeinstallation a simple “hit enter to all of the prompts” affair.Linux took off, while the more difficult to configure FreeBSDfloundered.
Products took root, and then sprouted, because the first stepwas easy. This happens while much more capable solutions, withlonger feature lists and a promise of a more rewarding long term,sit unloved and unused.
All of this had me wondering what part virtual machines couldplay in this equation. Virtual machine technology — wheremultiple logical machines are virtually hosted on one physicalcomputing box — is a wonderful (and improving)technology that I still considering somewhat akin to magic. WithVirtual Machine technology, whole platforms, including all requiredlibraries, applications and configurations, can be delivered as analready running box, perhaps requiring nothing more than an IPaddress and some very rudimentary configuration. Fromsource-control products, to wikis, to web application servers,virtual machine technology could allow for hugely complex solutionsto be delivered in a “ready-to-run” solution.
Of course there are downsides to this approach. For instance itsort of eliminates reuse of common components (even requiring aseparate OS instance for each virtual machine), yet commoncomponents are often the most fragile, perilous element of manyapplications. It isn’t entirely a loss. Also there are licensingissues, such as the fact that you can’t simply bundle a copy ofWindows Server 2003 R2 with your virtual machine.
It’s more a solution that works in the open source world, whereyou can release virtual machines configured with Linux, Apache,Postgresql, PHP, and so on, all along with your custom,ready-to-rock solution.
Unrelated Note: The mood pictures were taken at theOakville 5 drive-in thisweekend, which is one of the few movie experiences we get with twovery young children. One usability note that I always observe atthe drive-in is how many drivers don’t know how to turn theirdaytime running lights off (here in Canada all vehicles have lowintensity lights on whenever the vehicle is running — even duringthe daytime — which has been demonstrated to reduce accidentrates). For those who don’t know, on most makes of cars you canturn off the daytime running lights by engaging the parking brakebefore you turn on the vehicle. This isn’t universal –for instance I know some Ford models where it doesn’t work — butI’ve used it in a number of makes and models to success. Thisallows paranoid-about-their-battery drivers to start their vehiclesat the drive-in without inciting a riot.