Internet Explorer 5.0's persistence is much superior to what people currently use instead: cookies and server-side database. Persistence's advantage over cookies is in its ease of use. Writing a cookies-based Web application is not a trivial task, and requires an intimate knowledge of the cookies format. Persistence, on the other hand, is easy to implement in a Web page. Some persistence modes require very little programming, while cookies require a great deal. The other reason to prefer persistence over cookies is that the server is not involved at all in the persistence transaction. When using cookies, though, the server does need to read and write the cookies, resulting in increased download time for the client and increased processing demands on the server.
Same reasoning goes for preferring persistence over a server-side database. Storing client-specific information in a database requires a careful planning of the database, formatting the data in a database query language, writing the proper processing scripts, and constantly checking the database integrity. A server-side database is a burden on the server. It has to move information to and from the server-side database and send the information to the client for display. The bottom line is as with using cookies: longer download time and higher load on the server. The latter is a serious issue for the scalability of an application. Imagine a small startup developing a Web-based application, heading for a larger customer base. If the server processing load is severely affected, the enterprise needs to consider an upgrade of the server to handle this excess processing demands. Handling persistence by the client goes a long way in deferring such expenses.
Specifically, we can identify three basic types of applications where persistence is useful: start pages, Web applications, and forms. Start pages include customized information that is currently being stored in cookies and server-side databases. DHTML Behaviors-based persistence allows a page author to store the client-specific information on the client. It reduces the load time of the start pages which contributes a lot towards leaving an impression of a high performance site. Another benefit of persistence is that it stores the data hierarchically, making it faster accessible than in a flat database.
Web applications usually rely on scripts that process the page data, after it has been saved to disk. Before persistence has been introduced by Internet Explorer 5.0, the server was responsible for both saving the data on the server, as well as running scripts on it. Persistence, on the other hand, can save a Web page on the client, and then use the client's processing power to massage the data. Persistence introduces a new paradigm for Web application development, enabling the production of a complex client-based application.
Forms are probably one of the most popular methods to communicate with the user. Without persistence, page authors either did not bother persisting form entries across sessions, or they used session variables and "freeze files." In the former, the user got irritated by having to enter the same information over and over again, developing a perception of a poorly performing application. In the latter case, the server had to send and store the same information with each new visit to the Web page, overloading the server and the communication lines. Persistence saves the form information on the client for future sessions. The processing time is shortened and the user develops a perception of a high-performance application.
Created: August 28, 1998
Revised: August 28, 1998