The debate on the growing role of web applications versus traditional local applications (native or managed) is ongoing, and will last more time. The news of the week that's going to foster the debate was Microsoft announcement of a (long overdue) version of Office on the web. But I'll get back to that later.

The first blog post I saw and found interesting was Tim Anderson's double post "Desktop applications are dead" and "The desktop versus web application debate". In the first post Tim reports the experience of Patrick McKenzie, who found out the web version of his application is outselling the native one. Specifically, the conversion from testing to buying the application is much higher. In the second post, Tim focuses on the "zero-installation" advantage of web applications. I fully agree with his stance (although I still think the Delphi "almost-zero-installation" is one of its best features):

It is not the web application advocates who need to make their case. Rather, it is the desktop advocates who need to show the particular reasons why only a traditional local install will do

He claim, with some reasoning, that this doesn't affect productivity tools and utilities as much as it affects business applications, including in-house ones. He mentions and Google Apps, but I'll get back to that later.

Another interesting input came from Michale Swindell session at CodeRage4, as I mentioned in my conference report a few days ago. In a slide titled "When is a packaged app the best solution, aka When is a web app inappropriate" he mentions several cases in which a local app makes more sense:

  • extended user sessions (hours vs. minutes)
  • use of local or LAN databases
  • manipulation of visualized data
  • heavy computational tasks on local data
  • graphics, physics animation
  • low latency response (music, medical, manufacturing, trading)
  • interfaces with specialized hardware (cameras, POS, lasers, robotics, barcodes)

There might be others, but some of this are interesting. I'd add also integration with other local software (via Ole Automation and the like), as I bumped into a similar situation recently. Possibly also dedicated printing support (as downloading a PDF is not always the ideal solution for printing). And printing a CD/DVD. I could continue.

What is certain is that there is a trend towards using Web appliacations (and I'd say real web applications based on standards, not Flash or Silverlight ones), which still hasn't topped. You might recall I'm quite a fan of online applications: mail, calendars, RSS feeds, and also about half of my text documents and spreadsheets are online, mostly based on the corresponding Google applications.

So I was also quite intrigued by Microsoft announcement of its own online Office offering. Again, you can read a blog post by Tim on ITWritings and also an article by Computer Weekly. And certainly a couple million more. While chatting with Tim Anderson, I wrote the following to in response to a feedback request from him:

From what I've read, I'll keep using Google Apps. It looks:

* online collaborative features, including versioning, will be much more limited, and they do provide great value
* the open APIs and integration / publication capabilities will be very different. For example, I'm using Google Spreadsheet API to move database records to a spreadsheet automatically. Also Google documents are integrated with Gmail (you can see attachments there), are integrated with mapping, are integrated with several other Google services.

Seems Microsoft is:
(i) playing catch up (what do they offer over Google, beside a local hosting of the solution?)
(ii) going for more limited features / integration, to make this "not too appealing" (despite what they can claim) to avoid affecting their actual business as much as they can
(iii) uses an underlying server architecture that's good for them as it piggy backs on existing solutions and can be sold for deployment, but seems more closed and has / will have a more limited open API and web service integration.

If It weren't Microsoft, one could say why bother. Being from them, one can say, is this all? Come on!
But I'm sure now we'll have Microsoft zealots claiming this is a revolution. To me this is a too limited and too conservative reaction to a significant loss in customers.

I'm ready to give it a go, of course, when it will be ready, but for now I'm looking at how to leverage Google Apps, learning new tricks almost every day. Today, for example, I found Google Scripts, certainly worth a second in-depth look.

Finally (yes, this is getting a long blog post) I noticed this review of RAD Studio 2010 in Dr Dobbs's (very nice reading, by the way... well, the author Mike Riley mentions also my Essential Pascal ebook!) which seems to agree with me on the importance of the limited installation needs of Delphi apps:

With Delphi, even a Windows application neophyte can paint a form, compile it into a true executable without a bulky, separate runtime dependency. This is something that existing Delphi developers have taken for granted since its inception, but its still something to remark upon given the weighty overhead that various Java and .NET VM distributions require. The fact that Delphi can span the XP, Vista and Windows 7 family of operating systems, even supporting technologies like gesture support on operating systems that Microsoft won't formally commit to, is a testament to the enduring capabilities that Delphi has carried through all of its corporate incarnations.

I think this is not fully unrelated to the web apps vs. local apps debate, as the potential zero-installation, indirect database connectivity using a multi-tier solution, and automatic downlaod of runtime packages, couple with the new Extended RTTI of Delphi 2010, make enough room for a very smooth way of installing and configuring Delphi applications once, letting them download from the local servers of the web the missing or new bits and pieces. 

And even when the browser will be the OS, we'll be able to write local browser extensions, so let Embarcadero schedule a Delphi for the Google Chrome OS!