Aug 23, 2004

Disconnected Tools in a Connected World...

Over the weekend, it was mentioned on Slashdot that Microsoft is planning a Web-based Office Suite [Slashdot discussion]. While I welcome their initiative, there has been little focus on how IBM has a similar plan. In either case, this reopens (if ever closed, that is) the software subscription model that has been proposed many times before.

The entire software world is really being flipped around right about now. We have people like Joel On Software that argues that Web-based applications are not as rich as desktop applications, but I think the gap is really getting closer, especially with technologies like Java and WebForms 2.0.

But aside from the richness of the experience, the real difference is deployment. With web-based deployment, most of the changes are instantaneous, and for the most part (and in successful deployments), the user is completely oblivious to the change.

Traditional software deployment, on the other hand, is different; when you release a piece of software, you have to wait for users to purchase it (or download it, in the case of Open Source and free applications). Unfortunately, the migration to the latest version of software is not always quick, such as deployment within large corporations that need to install the software on millions of computers, and deal with any issues that appear. As another example, according to this, users are still using Netscape 3.x and 4.x today, and Netscape is a free download (not to fail to mention that Mozilla and FireFox are likewise free). Of course, some advocate older software is better, for both security and bloat issues, but there comes a time where older software is just too hard to support, as is the case right now with Netscape 4. The other reason to go with traditional deployment is that you do not have online access.

And then there is the road in between: Java Web Start. It is amazing technology that is unfortunately not used that much. In this model, the software is cached directly on your computer and executed there. When you startup the application and you are on-line, it polls the server that you got the software from to see if there are updates, and if so, it redownloads them. For example, I occasionally use Gentleware's Poseidon via Java Web Start, and when Poseidon 2.5 was announced earlier this month (a lot of great improvements, BTW), I got the latest version the next time I started it up. Java Web Start reminds me a bit of the Coda Filesystem in this regard, but I do not see why it is not used more.

Does this deployment issue make any difference for end-users? I am not sure that it really does; if you talk to kids about computers, many of them will not really realize what is actually installed on the computer and what is on the web. If you think about this for a little while, this is really analogous to the difference between a hard drive and RAM. Sure these details are important at a low-level, but at a higher level, as long as it works smoothly, does Mom really need to understand the difference between the hard drive and RAM? I do not think this distinguishment is really important, and I think many of our users feel the same. The important factor is that it is smooth and works.

In summary, we live in a very connected world, but the majority of our software is still disconnected, both in the schemes that they are deployed and used. Major issues that are effecting software today such as security violations would be better served by a connected model, like the web and Java Web Start, in which updates are continuous and users are, for the most part, oblivious to the changes.

Filed In