Web 2.0 and New Approaches to Software
Web 2.0 is about more than the technology and coding.
by Peter Varhol
September 15, 2006
It has become passé to speak of a "next generation" anything in software. But there is a clear lineage between the current trends in Web application development, often called Web 2.0, and the origins of Web-based information. At the same time, the technologies behind Web 2.0 herald an entirely new vision of Web applications that are sophisticated, highly responsive, interactive, scalable, personalized, and even participatory.
The technologies are largely well-established, even if development tools employing them remain nascent. How can a set of relatively unsophisticated scripting languages along with standard client and server technologies provide us with an entirely new class of applications?
Because it is not just about the technology.
Web 2.0 is primarily a misnomer; this might easily be considered the third generation of the Web. The first, in the sunrise of the Web, was simply static pages with little or no user interaction beyond page navigation. While a novelty at first, it was a newness that quickly wore off, as Web pages were little better than books or pamphlets.
The next generation could possibly be considered the first of the Web application. Using technologies such as CGI, ASP, and JSP, you wrote applications that took user input and dynamically created unique Web pages based on that input. A few lines of HTML formatted the page and placed static items (and even that could be done dynamically), and everything else was generated on the fly. Personalization was born.
You were familiar with the disadvantages of this generation of Web applications. Because every action went back to the server (and executed some code or queried a database), Web applications were almost always slower than a rich client counterpart. And browser-rendered controls were less visually attractive and lacked features that were taken for granted on other applications.
At the same time, however, you enjoyed the advantages of Web applications. Much of the infrastructure already existed, so coding them tended to be easier and faster. The client side was the browser, which made things much easier for you as developers. There was no need to develop client-side code beyond a few lines of HTML, which was often done by graphic designers anyway. And there was little need to worry about supporting multiple clients. Once again, any variation among the browsers was ignored when possible or handled by the HTML writers when not.
Life was pretty good for you and your fellow Web developers. It was not so good for the users of your applications.
This was one of the keys that made Ajax a useful technology. While it is not a standard object in the sense that it has not been defined in a public specification, it has been broadly implemented across browsers, and its use has become common.
Single-vendor approaches have also gained popularity, with perhaps the best known being Adobe's Flex platform. Even though Flex is a single-vendor solution, and requires a plug-in on the browser, it has gained a surprising amount of interest and use. This attests to the growing popularity of approaches that improve the user experience of browser-based applications.
Ajax and related technologies do just that. But there is more to Web 2.0 than just fast interaction using Ajax technologies.
How do you create a Web 2.0 application that qualifies as Web 2.0? There are few hard and fast rules. Not having a certain characteristic is not necessarily disqualifying, and having all of the characteristics doesn't automatically qualify your application. But in general, there are a few definitive ways that a Web 2.0 application should work.
Back to top