The developer can install, apply patches, or upgrade the application at the server and all the client users will immediately benefit from the changes without any effort on their part. When developers design a new application, or add a new feature to an existing application they what to know how many users actually use it. With traditional applications, they can look at the number of sales and see how many people actually purchase the software. However, the number of sales does not tell them how many times each person use the software. Web applications allow per usages accounting.
Developers can know exactly how many times each application was used and for how long.
Consumers also benefit from this, since they do not have to pay the full price if they just want to use an applications only once. As we mention earlier, the executable code is at a remote server and the user interface at the local client. Traditional applications were restricted to a single machine and if that machine was overloaded, the users had to wait for their application to execute. With Web applications we can distribute the load to multiple server transparently to the user, thus increasing throughput time. The client, typically a PC, provides the graphical interface, while the server provides access to shared resources, typically a database.