Metavibes

Tuesday, November 27, 2007

Would you still be designing desktop applications?

Need for offline access, and fast and rich UI are probably two main reasons we still care for desktop applications - particularly in India where web access is still costly, and digital divide is striking. Adobe's AIR technology has created some good excitement for desktop applications. Are we now coming back and saying that desktop application development is getting new lease of life through desktop RIAs such as Adobe AIR?

Well, my answer is not an overwhelming yes, but let me analyze the typical pro-web reasonings:

Users can instantly access web-based applications; there is no additional Install step. Users surely have better experience with desktop RIA frameworks such as AIR or Java webstart. With fast network connections, the download of runtimes are pretty quick (about 5-10 MBs). The actual applications are usually very small, say few hundred KBs, so it is not considered as a problem. (However, I have faced other problems such as setting up of proxy, and so experience can be still annoying.)

Finding web based application is usually very quick, using Google. This is not a traditional reason, but I find this to be top in my priority list. A typical active web user accesses a few hundred applications today (both desktop and web together). In web, finding the application's site is usually very very quick - typically using google, and browser history. However, try doing same on desktop, you can count at least 15-20 clicks before you can get to your application. Of course there are productivity apps such as Launchy, but how many are aware of them? (And they are not always consistent). And desktop RIAs are still not doing anything to solve this problem.

Web based applications are single instance, and changes are reflected to all users instantly. With good auto-update capability, we do have some level of control. Ideally, the new version should simply overwrite the previous application i.e. no need to migrate the data. So this is really an application design issue: Design it in such a way that you use caches, and keep track of updates that you need to submit to web. A good set of design patterns for offline applications will solve these problems (and ideally same for web as well as offline applications).

Having to worry about Network Proxy and variety of other settings. Yes, this can be tricky. However, RIA frameworks do take care of these problems.

Having to worry about backup of your apps and its data. Not really an issue, because we are suggesting that the application should cache the data, and reset the environment every once in a while just in case. I look forward for the day when my desktop apps are really in web, and all I do is to sync them up. Let web remember what applications I have installed in my desktop.

So I am tending to have a strong feeling that we can indeed rely on desktop, it might be possible for us to synchronize our desktop applications list with our web account, it will be easily possible to extend social applications to desktop soon, and more importantly, I don't have to worry about my application data at all. I am not sure if mainstream applications such as word processors, IDEs can easily follow this route to shed their weights, but we know for sure that a lot of useful, smaller applications will come to desktop, give us freedom to work from anywhere and offline, and generally offer a much better experience.

Ultimately, towards a true "desktop is cache of your web" scenario. Hopefully platform independent as well!

-Vinod

0 Comments:

Post a Comment

<< Home