On-demand software, which is also known as software as a service (SaaS), is a class of computer programs that are installed on networked servers and accessed remotely. This type of software is typically either subscription based or free to use, as opposed to traditional software that often must be purchased. Some of the first on-demand software was used for developing webpages, though the sector has expanded dramatically since then. On-demand software can be used for many tasks including word processing, tax preparation, and gaming. This type of deployment has advantages for the consumer, such as easy access, and also for the software developer since it often offers a more beneficial time to market.
The main characteristic of on-demand software is that it is installed on a server and accessed remotely, typically through an Internet connection. This is a type of cloud computing, where the end user's computer acts as a simple terminal to access software and information contained elsewhere. From the perspective of the user, there is never any software to download or install, and there is less of a concern over whether the specifications of his computer will be sufficient. The software developer also benefits since there are fewer barriers to users trying his product, and the traditional supply chain can be largely ignored.
Many of the first examples of on-demand software were monetized through a subscription model when they began to appear at the end of the 1990s. An early example of SaaS was a website builder that could be accessed from any Internet connected computer. Other pioneering SaaS applications involved the management and provisioning of network infrastructure, which also tied into the infrastructure as a service (IaaS) concept and early cloud computing. As on-demand software expanded beyond business and enterprise applications, a variety of other methods were devised for monetization. Advertising and other methods are often used to support SaaS, while the core user experience is offered for free.
Developments in the field of SaaS also created the on-demand gaming niche. This type of on-demand software typically involves running a video game on a server and then sending the visual and audio outputs to the user where they are viewed like any other type of video on demand. The client displays the multimedia stream and transmits any keyboard or mouse inputs to the server, but performs no other computing functions. This type of on-demand service can allow virtually any computer, regardless of processing power, to act as a terminal and play resource intensive games. Unlike many other SaaS applications, on-demand gaming typically relies on the same subscription based models as early on-demand software.