What will be the next generation internet application platform?

A few years ago I was a firm believer in the Rich Connected Client application model, which was based on running applications installed locally on the users desktop. From the time of the Ajaxian explosion, the quality and quantity of Ajax based web applications has continued to increase, applications like FaceBook have introduced new paradigms whereas apps like Live Maps have made existing apps much more convenient and accessible. Today you have to really argue hard to even consider a desktop based application for anything that is non-computation intensive (Even this category is questionable now, for e.g. a few years back movie editing web apps would have been out of the question).

So what is it that makes the web such a successful application platform

  • Uniform and simple model (Web Browser, urls, can click when hand is visible) – Once a user learns the basics of working with a web application that knowledge can be easily applied to other applications.
  • Client platform independence – The decoupling of the server and client with an agreed contract (HTML+CSS+JS) means that the traditional problems of targetting various platforms with different APIs is no longer existent on the client side.
  • Machine independence – The user is no longer restricted to the machine on which the application was installed. This also results in a much simpler deployment model.
  • Data independence – The user’s data is now available on the network which means that not only can the user run the application from anywhere but can also access his data from anywhere.

Now what would the next generation internet application platform look like? I think that in addition to the above characteristics, the next generation of platforms would involve the following.

  • Full use of computing resources available locally – Having a powerful CPU and GPU seems like such a waste when all your applications have to be funnelled through the browser. So the next generation platform would allow access to the computing power available locally.
  • Better integration with the local resources – This is sort of related to the point above, but would allow internet applications to access local disks, settings, registry etc.
  • Better security model – Of course all this has already been attempted with ActiveX and XPCOM, but the security models there have been weak and non-intutive to users, a better solution is needed.

So it looks like the direction being taken by Microsoft Silverlight and Adobe AIR are steps in the right direction to building the next generation internet application platform. However Microsoft has a great oppurtunity here push the envelope with Silverlight and introduce new standards for desktop integration of internet applications, their extensive user base means that any API created by them has a very good chance of being successful and catching on with the other players in this space.


  1. I have been a big fan of desktop/client applications and over last few weeks I have been thinking on similar lines – as to what can be a valid case to have a desktop/client application? Or rather a non-web application?

    While trying to find some space for non-web apps, it occurred to me that though web apps have been all over the place, they are yet to find user-base when it comes to enterprise applications.

    Like, Google Maps is a cool app and it has a huge user-base but, at the same time, will Google Docs be able to match up to the user-base that MS-Office or for that matter Star-Office enjoys? I doubt.

    Is it that web apps are for consumer and non-web for enterprise? Well – there will surely be enterprise apps that will move over to the web sooner or later, but at this point of time, I find it hard to visualize web apps taking over non-web ones, at least in case of enterprise apps.

  2. I like the way you are thinking. I think the future is Rich Thin Client deployment. Cross device, multi tenanted, inherently secure and easy to manage whilst delivering a beyond the browser Desktop UX On-Demand.