One reason I think Web Applications (as opposed to the now watered-down term of Rich Internet Applications) are great for users and developers, is because they do not need to be installed directly on the user's computer. This is one thing I think Adobe has misunderstood about the 'RIA' revolution with AIR.

Caveat: I'll be the first to admit I have zero experience with AIR (or Mozilla Prism for that matter), so if anyone can educate me, please feel free below.

If I'm a desktop application developer, I've got to decide on a language and framework. Is it easier to build an application using HTML+CSS+DOM+JavaScript (+SVG+XUL) or to use Flex+ActionScript or to use C#+CLR or to use Java+JDK or to use C++ with Qt/Gnome?

I think Adobe is right that picking from the "Open Web" stack is a slightly easier in-road to application development due to the declarative nature of the markup and the lack of a compilation step. But I don't think it's why web applications are seeing such an upsurge. To me, the answer is the complete lack of a need to worry about deployment (web app developer) or installation (web browser user). The fact that the web app developer does not have to maintain older legacy code is also a huge win. Once a new version of your application is released, no one in the world is using your older code, it's instantly retired.

Here's a snip from AIR's own documentation where it states:

"On Mac OS, to install an updated version of an application, the user must have adequate system privileges to install to the application directory. On Windows, a user must have administrative privileges.

If the updated version of the application requires an updated version of the runtime, the new runtime version is installed. To update the runtime, a user must have administrative privileges for the computer."

To me, the bits about the runtime sounds like the same sort of mess that Java and .NET application deployment have with mismatched JREs and CLRs for the past decade. Hopefully changes to the underlying platform are kept minimally disruptive - but the developer really has no control over that.

It does sound like Adobe is trying to make it easier for application developers to employ auto-update functionality (incidentally, so is Sun). It just sucks that each developer has to worry about this individually still.

To me, the sweet spot with these Light-weight Offline Application Frameworks (LOAFs?) will be when enabling auto-update is as easy as it is with Firefox extension development. But that still doesn't solve the problem of every user having to first download the runtime to 'bootstrap' him/herself.

And yes I'm aware that there are some big down-sides to Web Applications. Lessee, differing behavior of platforms (user agents) is the biggest cost. Lack of local storage (which may change in a decade with HTML5) and the cost of a server are also biggies.

§457 · April 21, 2008 · Adobe, Ajax, RIA, Software, Technology, Web · Tags: , , · [Print]

Comments are closed.