August 23, 2006

I'm taking issue with Liam Breck over here.

Breck is smart, and pushing the incredibly cool idea of a wiki-server on a pen-drive. But nevertheless, I'm gonna disagree with his scepticism about web-as-a-platform.

Here's my comment :


Right now, I agree, that web-based simulcra of existing desktop apps are very unlikely to take off.

Why, really, would I want a web-version of Word? If I want something free, then Open Office is as good.

However, apps which are inherently social. and those which deal with online databases, are already native to the web-as-platform.

After GMail, I can't imagine a compelling reason to switch back to non-web-based email client. Nor an offline blog editor etc.

So I think we *will* see a sudden and dramatic shift to web-based applications, particularly in the enterprise, but it's going to be accompanied by a sudden shift to a whole new way of working with new tools. Not a web way to handle Word and Excel files, but a realization that in the age of blogs and WikiCalc we don't actually *need* Word files and Excel spread-sheets 99.99% of the time.

Unlike you, I think this will happen, and I think it's going to switch very fast. It's not something you'll really see coming in long-term rising trends of adoption.

Word benefits from a network effect. When whatever replaces it, replaces it, a sizable chunk of the whole network will have to go almost at the same time. Before this, very little will show up on the radar.

I buy the web 2.5 concept, of course, but my betting is that it's going to be coming via the web-as-a-platform, rather than from desktop / machine-centric software.

So, at some point in the near future, someone will come up with a derivative of Firefox which

a) has its own local database to store as much user data as needed without creating a security holes on your computer,

and

b) can *cache* large javascript applications.

At which point what's the difference between your web 2.5 concept and the mainstream web-as-a-platform service model?

Users will go to a site, implicitly grabbing the application, which will be cached locally, along with the user's data, for offline work. The data will be synced back with the central or cloud servers whenever reconnected. Similarly, the application software will be written as if served centrally, and kept continuously updated, but will be cached locally to minimise network traffic and for offline use.

My feeling is that software-as-a-service is inevitable *as a business model* given two truths about software development :

a) large-scale software development sucks

b) free-software

Trying to specify and build and deploy a large-scale piece of software in one lump (two to three year project) is an incredibly difficult and inefficient way to do it.

It makes far more sense to develop according to iterative Agile / eXtreme methodologies, releasing small new incements of functionality on a regular basis.

The problem with eXtreme or agile development is that it's very difficult to *sell*. Customers want fixed time, cost and functionality negotiated in advance; they don't want an open-ended commitment to funnel money to developers.

How do you reconcile the contradiction : monolithic development sells, monolithic development sucks?

Microsoft used to have an answer, before free-software destroyed it.

SaaS offers another : rent the software, which can be either hosted by the provider or, for convenience and confidentiality, brought inside the organizational firewall.

In practice, installing it in-house is another form of local caching, and is a mere implementational detail for something which at the business level is treated as a service.

In short, this is gonna happen because companies producing SaaS will be more agile and get better quality software written, faster, than those sticking to large scale product development.

In practice, you may have local copies of both the software and your data, but that will be "mere" optimization (and certainly not to be planned "prematurely" :-)
Post a Comment