The Future of Web Development?

Episode 4 of OTE is out

First, the latest episode, number 4, of OTE is out. In this episode Darlene and I ramble on about browsers and cell phones.

The Future of Web Applications

From about 2004 we entered a new phase in the evolution of  web application development.  After a number of, relatively uneventful years, with Microsoft's Internet Explorer being the dominant player,  we began to see a lot  of frenetic activity, and innovation in the web application space.

Microsoft Digs its own Grave

Microsoft's strategy of trying to defend its desktop market share by ensuring that a users web experience could not match that of a desktop application, locked to Windows, back-fired. Instead of trying to innovate, Microsoft  chose to stifle the web by ignoring it, continuing with this approach despite the obvious sustained growth in the web's popularity. 

This lack of innovation caused so much frustration, for users and developers, who demanded richer web experiences, that it created an opportunity that others where quick to seize on. It seems Microsoft failed to adhere to the basic tenet of any business. Give your customers what they want! If you don't someone else will. Some say this is the fate of all monopolies.

The Revolt - Web 2.0

It began with Web 2.0  which was, more or less, a general revolt by developers against the limitations of HTML and browsers.  Web 2.0 used what features were available, to develop interactive applications which the original drafters of HTML never envisaged. But Web 2.0, in my opinion, is a horrible hack. It tries to use a technology, designed for displaying and navigating content, to build rich user interfaces and applications.

It is quiet astounding what Web 2.0 has achieve but there is little doubt in my mind that there are far better and easier way's of doing the same, or better, things than hacking HTML. Anyone, vaguely familiar with Javascript will know what contortions and hoops one has to jump through to do the simplest thing. Its like trying to use a screw driver as a hammer.

Rich Internet Applications  - A Superior Technology

The fundamental limitations HTML , has lead to the rise of  the Rich Internet Application (RIA) technologies such as Adobe's Flash based Flex technology, Microsoft's Silverlight and JavaFX. RIA is the ultimate expression of developers' and users' frustration with HTML and browsers incompatibility, essentially rejecting HTML and the W3C backed technologies as being able to deliver a compelling and consistent user experience.

RIA technologies will gain ground in the coming years because:

  • they offer a superior architecture for application development,
  • they offer better security,
  • they guarantee a consistent presentation of the user interface across operating systems and browsers, and
  • the cut down development time and save money,
  • they have superior tool support

Personally I am a fan of the RIA movement. It allows developers to adopt the far more natural, stateful approach of desktop application development, but has the deployment benefits of a web based application.  It avoids the fundamental problem of HTML based applications, which tries to use a document/content based technology to build applications which are about manipulating and processing information.

The challenge around RIA though is the potential to end up in the pre-web scenario, where development was dominated by proprietary solutions, with lots of vendor lock-in. Luckily FOSS is such a force to be reckoned with at this time, that most of the RIA solutions are adopting open source as part of their strategy to compete with Microsoft.

Adobe's Flex and Sun's JavaFX are open source in some parts. While it is likely that JavaFX will be fully open sourced once the platform is stable, I think it will require a lot for Adobe to do the same with Flash and Flex.As a Java developer my energy is going into JavaFX and ensuring that it finally becomes GPLed.

Will HTML 5 Deliver the Goods?

The potential saviour for the HTML/Web 2.0 approach may be the introduction of HTML 5, currently in the public review phase. Although this will undoubtedly result in a much better platform to develop HTML/Javascript based applications on, I predict that the committee approach to developing the standard will result in a solution that only goes part way to addressing the limitation of web development based on HTML. Also I believe that an architecture for content mark-up and navigation is something that should be fundamentally different from an application architecture. Trying to serve two masters never works. Better stick to what you do best.

I have no doubt that the shear number of developers who only know the stateless, request/response model of the web, and the interests of large corporates like Google, who are dependent on HTML for its very existence, will ensure that a large number of web application will continue to be developed in HTML and Javascript.  In deed there are many content based, interactive applications, for which HTML and document manipulation is entirely relevant, but this is only a sub-set of applications out there.

Conclusion

The point of me is that the open source community needs to be more active in the RIA space. I think the public web will remain wedded to HTML and open standards but businesses will start to adopt RIA development in increasing large numbers once the technology matures.

Afrigator