A classic server-based Web application is structured as a series of one or more forms. A user using a client machine enters information into a form and clicks a Submit or Go button. The information is sent to a server, where it is processed and a new page or form is created that is sent back to the user. This architecture makes few demands on the client machine.
Unfortunately, this architecture also brings about the “World-Wide Wait” – that phenomenon where users around the world see an unresponsive screen after clicking the submit button. As a result, the usability and responsiveness of server-based Web applications represent a big step backward from the client/server or locally installed applications that they replaced.
Curl applications do the presentation work and, where appropriate, run application logic on the client side. Curl’s client-side processing capabilities offload a major computational burden from server machines and greatly reduce the amount of data transmitted from servers to clients.
This architecture allows Curl applications to provide “Active Forms” where validation and computations can be performed on the client without needing to continually submit information to the server. Certain selections by a user, such as indicating multiple beneficiaries on an insurance application, can even dynamically open out new panels required by the user's specific situation.
One of the easiest examples is a form where the user inputs information which is then sent to a server.