As browser usage became more stable and there was some semblance of HTML DOM that could be programmed to produce clients that were functional, it became clear that while HTML was fabulous for building graphical user interfaces (GUIs), it was good at little else. The application-framework style features needed to build the fabled "single-page Web application" were found to be lacking. Even simple things like keeping user preferences from one run of an application to another relied on oft-disabled features like cookies or JScript on the client side and complicated HTML generation on the server-side, both of which were difficult enough to drive most Web sites to the lowest common denominator. Things like menu bars, toolbars, standardized interfaces, or keyboard shortcuts were often dropped for pretty but unfamiliar GUIs that prominently displayed hand-crafted graphics, color schemes, and advertisements, but whose functionality boiled down to what could reliably work across browsers and platforms.
Hence the thin client was born. It could be deployed, one piece at a time, to any machine that wished to surf to it, with an instant-install model that was to be envied. This was achieved with a programming model that put as little as possible on the client-side and relegated all of the interesting functionality to the server-side. Third generation technologies like ASP.NET are the latest waypoint on this journey.
|