
During the nineties boom days, one of my friends told me: Soon your refrigerator will be connected to the Internet. It will talk to the computer at the supermarket and send it the list of things that need to be replenished. It will also check the latest rating information on the products that you buy and will let you know if there is something better out there. And of course, it will scream when the milk expires.
Today, like back in the nineties, I applaud the vision of a smart refrigerator. Being a big fan of automation I think that everything that can be automated, will be automated. But just as back in those days, I believe that things get automated in a certain order. And now it is not yet time for web-smart refrigerators in every household. It is time, though, for our desktops to get web-smart.
Desktop goes to the web
Web 2.0 is bringing the notion of smart and thick UI to the web. We are rediscovering good user interfaces that have been noticeably missing from our web experience. Thanks to AJAX technology, we see more and more desktop widgets and concepts making it into web sites. Thankfully, we are beginning to forget what it is like to have to reload on every click.
Not only are desktop metaphors are coming to the web, some web sites have actually implemented the desktop using AJAX. These neo-portals use a desktop-like layout to help the user manage all web information in one place. There are many sites like this; the ones we note here are Netvibes, Goowy, Start.com and the Google home page. Of all of them, Goowy has the closest resemblance to the desktop, particularly MacOS X. They call their desktop a webtop.
There is an article on TechCrunch talking about Goowy that has lots of follow up comments from readers. Some readers are saying that they are not ready to exchange their desktops for webtops and spend the entire working day in the browser. There are usability and productivity issues that need to be addressed before we abandon the desktop software and permanently move into the browser.
The web comes to the desktop
In the meantime, we should be seeing more of the opposite trend – the "webification" of the desktop. There is no reason why our desktop applications can not be web-aware. An improvement in this area would drive up our productivity, because switching back and forth between the application and the browser is very inefficient.
Let’s look at some examples of applications that already succeed in integrating web sites and web services into our desktops. The first example shows the Trillian chat client using the Wikipedia to lookup definitions.
If this feature would not be built into Trillian, the user would need to select the word, copy it, open the browser, go to the wikipedia site, paste the word and hit enter to search. Instead, the user just rolls the mouse over the word. This is 1 second instead of at least 10 seconds. This is productivity!
Another example of the webification of the desktop are the Dashboard Widgets on the Mac. Apple folks have come up with the idea of exposing bits of the web as widgets. All these widgets are written in HTML, JavaScript and CSS. By cleverly leveraging popular web technologies, Apple instantly gained an army of developers.
Each widget takes up a small piece of the desktop and is specialized in presenting one type of information or one web service. There are thousands of widgets, so we can not list them all. Here are some examples to give you a flavor: iTunes current song lyrics, del.icio.us feed widget, and a calendar widget.
All of these widgets demonstrate the "webification" of the desktop, because they seamlessly integrate with the web services behind the scenes. Whatever song iTunes is playing, the iTunes widget goes out and fetches the lyrics. The del.icio.us widget displays the latest links and helps the user quickly find any link without launching the browser. The calendar widget shows the date, local time and is smart about daylight savings. The great thing about all these widgets is that they save us clicks, and therefore save us time.
The final example is the Flickr plugin for iPhoto. iPhoto is the most popular photo management application on the Mac, Flickr is the most popular site to share pictures so there is a natural fit.
The integration is correctly done via the Share option in the iPhoto. The plugin allows immediate aggregation of a user’s pictures into Flickr sets, and supports tagging and description. Like any good integration, the plugin does everything we would expect it to do and nothing extra.
Integrate to boost productivity
Making desktop applications web-aware pays off because it drives productivity and saves user's time. The user can not afford to spend time cutting and pasting between applications. The user can not afford to do 3 clicks instead of 1. With the increasing amount of information around us, we need smart, automated and context sensitive software that is designed for productivity.
The desktop applications should step up and integrate the best web services to make it easier for the user to get things done. The web services, on the hand, need to also step up and offer solid API’s. Thankfully, API's are part of Web 2.0 culture. Many popular web services provide SOAP or REST interfaces that are basically equivalent to what the users can do directly on the site.
Even if the service offers an API, integrating it into the desktop may not be a good idea. Anytime when we are mixing metaphors, paradigms and platforms, we need to be careful. It is important to ask why, what and how.
When thinking about webifying a desktop application ask questions like these:
- Is there a direct productivity benefit in this integration?
- Can the integration be done in a way that does not break the current usage model?
- Does the integration lead to additional overhead for the end user?
- Will the integration result in a lot of maintenance?
If these questions make you feel like there might be issues, the integration is probably not worth doing.
Lets go back to our the first example, and understand why it was a good idea for Trillian chat to integrate with Wikipedia. Notice that Trillian exposes a small piece of information via a popup. It does not launch the browser. Instead it succeeds in showing information instantly and using only a small amount of screen real estate. In the next example, Apple Dashboard Widgets, again, the key is that each widget shows only a small piece of information. Both of these demonstrate integration that gets the data from the web and avoids launching the browser.
The iPhoto integration is different. It is useful because it provides a quick way to upload phots from iPhoto to Flickr. It is an example of an automation that helps the user with typically tedious data duplication. Another example of this pattern are the web backup software tools that present themselves as drives or folders on your desktop.
If your integration falls into one of these two categories and you can integrate it into your solution in a straightforward manner, you are likely to get a lot of 'Thank you' notes from your customers.