The Impact of Browsers
Unlike desktop applications, web developers rely on "middle men" to deliver applications to users in the form of web browsers. Changes to browsers significantly impact web applications, so understanding the current and future landscape of browser technology is an important aspect of web development. With the introduction of new browsers like Google Chrome and Mobile Safari, developers find themselves working in the middle of the Internet's second "browser war."
A lot has changed since the last browser war in 1999, though.
The other side effect of this "standards focus" is that it no longer matters who "wins" the browser war. If all browsers are more or less rendering pages consistently and the key differentiators are speed, performance, reliability, and end-user "chrome" features, then web developers can sit back and enjoy the benefit of increasingly powerful application delivery "middle men." Web applications will be built to run on any browser that supports standards, and companies will not be locked-in to a specific browser vendor. But it's not all goodwill and cooperation in today's browser war.
While standards do exist and browser makers are building browsers to implement them, there can be significant variation in implementation. The best example of this is the notoriously varying support for CSS in today's browsers. Web developers have developed all variety of unusual "hack" to work around the differences of each browser's CSS implementation, and each of those hacks represents wasted development time. It's this "hack" mentality that has helped drive developers to the emerging RIA platforms where they're not burdened with the inconsistencies of browsers.
The next true test for browsers is HTML5. If browser makers can come together and begin delivering uniform support for the standards outlined in HTML5, standards-based development has a very serious possibility of reducing interest in RIA plug-in development. But if the past is a lesson for how long it can take browsers to uniformly implement a standard, developers can reasonably expect it to take another 12 to 24 months before browsers begin to offer enough next-generation standards support to compete with RIAs.
Impact on the Future
As Ajax, RIAs, and browsers evolve, they are forming the foundation for web applications that will become mainstream in the future. Whether there is greater potential in RIAs or standards-based development, there are four clear future trends these key technologies reveal:
- Offline Web Applications. It's clear that in the future offline web applications will be common. The HTML5 standard focuses heavily on providing a standards-based infrastructure for enabling offline applications, and RIAs like Flash and Silverlight are quickly maturing APIs for offline scenarios.
- More Mobile Browsing. The explosion of Internet connected mobile devices today will only continue in the future. As more users connect to the Internet on-the-go, it will become increasingly important to offer tailored mobile experiences to users. A 2008 Nielsen report revealed that mobile access to web sites extends a site's reach by 13% on average. Ignoring mobile in the future will not be an option.
- More Rich Interactivity Over the Web. Whether it's HTML5's new <video>, <audio>, and <canvas> tags, or Silverlight and Flash's powerful plug-in based rendering engines, the web is getting richer. Users increasingly expect "desktop-like" experiences for web-delivered applications, and providing those rich experiences will be a basic requirement of future web development.
In short, the future of the web will be visually rich, interactive applications that can be accessed through almost any Internet connected device, and used even when an active connection to the Internet is not available. RIAs and standards, and the browsers delivering both, are all heading in that direction. Developers will need to weigh the pros and cons of each approach to decide how to build applications for the future.