Thursday, January 29, 2009

Examining the Case Against Web Apps

Web based applications have been on the raise for many years and the trend is embraced without much exception. So, it's only healthy to consider the opposing point of view in Neil McAllister's piece "The case against Web apps".

The article is a five point critique of browser-based web apps:
  1. It's client-server all over again.
  2. Web UIs are a mess.
  3. Browser technologies are too limiting.
  4. The big vendors call the shots.
  5. Should every employee have a browser?
Neil fails to make a convincing make the case that the drive towards web apps are fundamentally not sound - he fails on two accounts. First, many of his concerns, while valid points, are pain points and challenges in the development of web apps and not evidence of structural shortcomings in the concept. Second, he disregard the overall developments in the computer industry and assumes technology as static.

For instance, Neil points to the challenges of maintaining datacenters. It's a challenge to shoulder capacity for services with a large number of users no matter what kind of applications is used, web apps or not. The challenge of scaling computer power is something that is addressed with technology such as clustering and cloud computing. So, it's a valid point but not really an issue of web apps or not.

The author criticizes the inherit thin-client approach of web apps and points to the fact that a lot of client-side computer power is left under-utilized while the application is running on the server. The development of netbooks and smartphones contradicts the assumption that there will always be powerful client-side CPUs but the fundamental problem with this argument is an underlying assumption that web apps, as a technology, is static. I think it's likely we will see more work pushed over to the client in web apps. Actually, the modest attempts to provide off-line functionality for some web apps is actually a step in this direction.

Again, the author has a point - there are strengths to a more traditional client application architecture but it's narrow minded to assume applications would be limited to the traditional desktop application. The iPhone and G1 phones demonstrates this by using applications as a centerpiece in the customization of those devices. We can have a resurgence of applications in some contexts and it just doesn't contradict the web apps concept.

The bottom line is - the web is already a vital media channel, and all content and service providers will have to maintain some offering on the web. Consequently, moving some applications into the web space is an inherit streamlining of technology.

Looking at the big picture, one of the biggest benefits with web apps is that it provides a widespread platform allowing for new applications to emerge without the traditional barriers.