Tuesday, August 28, 2007

Keep It Web Based, Even If You Don't Trust the Servers

John C. Dvorak recently wrote a scathing commentary of web based applications. He makes some great points, specifically about WGA having serious issues beyond technical difficulties, and the problems with single point of failure. But he goes on to declare that web based applications are flawed and that we could be at least as successful if we reversed the trend toward online services and returned to client-only applications. I think this conflates the issues, and I disagree with this attack on the vision of web based applications.

The problems due to single point of failure are caused by a failure of implementation. I want to focus on the vision aspect of Dvorak's article. The benefits of web based applications are due (among other things) to powerful, inherent concepts: available always, available anywhere, and available with anyone.

Available Always

Dvorak writes,
What happens if the system fails? The damage wouldn't be too bad if you backed everything up, but then why use the online system in the first place?

System failure, backup, and recovery are details which any software product should handle by itself, rather than Dvorak's model of "control your own data". Putting aside privacy issues for a moment, as a user I don't want to have to maintain my own data.

Consider the automatic save feature that's been built into Microsoft Office apps for a long time, and since then copied by many others. It's automatically saving everything you do, so you, as the user can focus on your work. However, even this just punts the issue to your hard disk which might fail at any moment. I have to confess, I don't back up my hard disk (who does?). Instead, I try to use systems which handle this piece for me as well. Web based systems are very well placed to do this, better even than client applications because the implementation and maintenance are completely in the hands of the service provider, rather than the user.

Available Anywhere

Dvorak also writes,
What happens if the timeline goes the other way? In this instance, you'd start with server-based online applications, and then suddenly a new technology—the desktop computer[appears...] "Now control your own data!" "Faster processing power now." "Cheaper!" "Everything at your fingertips." "No need to worry about network outages."

I believe that "everything at your fingertips" means I don't have to carry my own computer around with me everywhere. I love having my email client anywhere. I love having my blog writing software just a URL away. And my goal tracking software is available to me, no matter what computer I'm using. And I get consistent performance (nearly) every time for all of them. I don't need to worry about carrying my data on a memory stick. I don't need to worry about buying proprietary, licensed software. I just need the only thing I ever should: me. I need nothing else to be productive and get work done.

Available with Anyone

At one point Dvorak writes,
Easier to share files? So how hard is it to attach a doc file to an e-mail anyway?

Smooth collaboration goes beyond packing up your bytes and handing them over to someone else. Susan and I planned our whole wedding using Google Docs and Spreadsheets. If we had done this in a client-based spreadsheet app we would have ended up with at least 5 copies of the spreadsheet, all out of sync. The synchronization and collaboration features of web based applications were key to our success.

Back to the Failure

Towards the end of his article Dvorak writes,
What is often lost in individual analyses of how to proceed with your data-processing needs is the concept of "being at the mercy of a single company." It's something that you need to avoid at all costs.

He makes a really great point! We don't want to end up with single point of failure (through software or policy). However, and I won't dive into details, I believe that you don't have to "be at the mercy of a single company" to use "cloud computing". This is admittedly non-trivial, but there's a great start-up idea hiding here. In any case online service providers better get on board with this, since Dvorak is correct in this point.

In the end, I would argue that being at the mercy of a single computer, and, worse, at the mercy of a single person (i.e. yourself) is no better, if not worse, than being at the mercy of a single company. And that particular issue is surmountable itself, as I predict we will begin to see in the near future.

No comments: