Software Deployment / Distribution
Definition: Software deployment and distribution is the process of getting software to the point where it is available for active use within a userís computer.
Traditionally, software companies have followed the retail model. Software was copied onto a variety of magnetic media Ė floppy disks, CDs or DVDs Ė and made available for purchase through the shops. Customers would buy the software and install it on their machines. Updates to the software would be made infrequently and might be mailed to customers who had registered their purchase.
The most basic change offered by widespread internet access was the possibility of making software updates available more frequently. Indeed, because being connected to the internet exposed a computer user to a far greater number of potential hazards than did using an isolated machine or one hooked up to an internal company network, frequent updates became something of an imperative as bugs in software which gave rise to security vulnerabilities were discovered and had to be fixed. At first, customers would have to download software patches then install them manually. Soon, though, companies began to program the software itself to check for updates online, either automatically or in response to a user command.
The practice of traditionally-purchased software making connections over the internet to servers run by the companies which created it has ushered in new ways of combating the problem of software piracy. Although traditional anti-piracy measures such as registration keys and the like had been bypassed fairly easily when the software was running on isolated machines, a central server is capable of detecting the use of duplicate keys and can deny access to online facilities to any software it deems to be pirated. Microsoft, for example, has striven to make regular online updates a core part of the normal functioning of its Windows operating system, yet updates are denied to users whose copy of Windows is considered not genuine. Makers of game software have been able to shore up profits by incorporating online features into their games, features which users of pirated copies of their games will be unable to take advantage of. Indeed, Valve Software, makers of the phenomenally successful game Half Life, decided to use their hot property to push the adoption of the online anti-piracy system known as Steam. Steam is a game portal which requires users to create an account before being able to play any games which are bound to it, including games which the user may have purchased in a shop. Although it proved controversial and unpopular with many users, it does seem to have established itself as an enduring part of the software distribution landscape, and now features many games created by companies other than its creators, Valve.
From distributing software updates online it is, of course, a small step, you would think, to distributing the software itself online. In fact, although online software purchases are now made routinely, the traditional disk-in-the-shop model has proved surprisingly resilient. The bulk of online software sales are accounted for by low-end shareware applications created by small companies with little to no marketing clout.
When Blizzard entertainment, makes of the popular online role-playing game World of Warcraft, introduced an expansion pack for the game, it was initially made available only through conventional retail outlets. The company had been distributing patches for the game, often hefty in size, for some time before. Yet even with that background in online distribution, it was reluctant to embrace an exclusive online roll-out for an important new product. Blizzard executives realised that they probably could not cope with the high levels of demand which had been anticipated. After the initial surge of purchases in the shops, however, online purchase options were made available some weeks later.
Many other significant innovations in software distribution have or are being attempted following the rise to mass popularity of the internet. For example, some believed that rather than having to be installed permanently on a userís computer, applications could just be downloaded on the fly whenever needed. Java applets, which ran within a browser after being downloaded from a web page, were probably the most popular implementation of this idea. They failed to gain any traction as serious alternatives to installed applications, however. Browser compatibility problems, security restrictions imposed on downloaded code, and the limitations of the Java language itself all combined to undermine acceptance of this new mode of distribution.
In recent years, the Software-as-a-Service (SAAS) concept has garnered some attention. Under SAAS, customers do not purchase software at all Ė they rent it, paying for it on a subscription basis for as long as they need to use it. The software itself is never installed on the userís machine. Instead, it runs on remote servers and is accessed by the users via the web.
SAAS vendors tout the advantages of this new mode of distribution. Customers can forget all about installation hassles, they say. No more need to worry about updating dozens of corporate desktops with the latest bug fixes either. All of that now takes places behind the scenes on the servers of the service provider. To the users, the experience is seamless. Moreover, when an application is accessed as a web page, all of the heavy-duty processing is done server-side. No need to invest in the latest powerful PCs therefore, and no need to worry about how your laptop will cope when youíre on the road.
Some of the software being marketed as a service has achieved broad penetration within specific niche areas. Salesforce.com, for example, designed, as the name suggests, for sales personnel, has proved remarkably popular within its field. It remains to be seen, however, whether companies or consumers can be persuaded to give up the idea of ownership so easily.