I am typing this on the new version of Windows Live Writer, which comes with long-due features. It is a significant upgrade from the previous version with useful improvements as follows:
- Inline spell-check: Previously, there was no indication of spelling errors as you typed. There was a separate option to spell-check the entire post. Now it happens as you type, like any other word processing application. However, there is no grammar check yet (inline or otherwise).
- Blogger categories: If you are using Blogger to host your blog, you can now set the categories for your post within Live Writer itself. Before this release, I would publish a post, login to Blogger and then assign categories to the post. No more of that now.
- Other nice features like table editing, posting drafts and a Vista-like interface.
Although there are other offline blog editors like BlogJet, Windows Live Writer is free and does a reasonably effective job. An offline blog editor has the benefit of having a richer user interface than one residing inside a browser. And of course, you have access to all posts even though you are not connected.
Talking of connectivity, Google has released Google Gears, a new product that brings offline functionality to web applications. The first product to use it in action is Google Reader. It works seamlessly when you take it in offline mode. However there are some drawbacks as you won’t be able to see images or streaming video in blog posts. It is a good start, nevertheless.
This got me thinking about how computing on micro-computers has evolved:
- First, you had a monolithic application with both the data and the program on the user’s computer.
- Then came client-server applications with the program running on the user’s computer, but data residing on the server.
- With web-based systems, the program and the data both reside on the server. Although the user uses a browser application, the browser program has nothing to do with the business rules of the program. You could run different web applications with the same program.
There are many benefits of the third model such as faster modification and deployment of the program to meet changing business needs. But there are other concerns such as availability of Internet connectivity, data privacy, etc. that are not effectively addressed in this model.
The fundamental issue, as I see it, is that, programmers being programmers, there was too much emphasis on the program side of the equation and less on the data side. For the end user, the data is the most important aspect. The program helps users manipulate the data, but their concern is always with the data – how to maintain its integrity, how to easily use and manipulate it, how to keep it safe, how to share it, etc.
To that extent, it becomes logical that the data should be as close to the customer as possible while also providing an option to make it easy to share it with collaborators and back it up easily. Hence data resides locally for fast, simple access while also residing on a server for sharing and backups. The program remains on the server. The data in both sides is synched as required – this last need can become quite complicated easily when sharing is involved.
A tool like Google Reader doesn’t benefit as much from offline functionality as would another application like Google Docs & Spreadsheets. You could keep all your private documents on your hard disk and just launch the web application to edit the content. I am sure that will be in the works as I am writing this.
While Google Gears does bring another victory to web applications, other challenges remain for web applications to completely replace desktop applications:
- Performance: Desktop applications can tap fully into the hardware and operating system while web applications continue to run inside the browser, have security permissions and use slower-performing languages.
- User interface: Even though Ajax and CSS allow web applications to be well designed with rich functionality, they still compare poorly with desktop applications. This should be painfully obvious to someone who has used even basic functionality in Microsoft Word and then used Google Docs.
The differences will become less as time goes on. Desktop applications are being replaced and the rate of replacement is guaranteed to go up as each year goes by.