I think it's safe to say that web applications are not going to
completely replace desktop applications, just as the car hasn't
replaced the bicycle, television hasn't replaced newspapers, recorded
music hasn't replaced live music, etc. In every case there is a
"certain something" to ensure that the older technology will retain a
So what defines the niche that will remain for desktop applications?
To identify that, it helps to use the web usability factors identified
by Chris Loosley of E-Commerce Times:
"To satisfy customers, a Web site must fulfill four distinct
needs: availability, responsiveness, clarity, and utility.
This list presents the four essential qualities in order of
E-Commerce News: When is your web site fast enough?
At first glance, it seems like desktop applications have the edge for
availability. After all, you can use your desktop applications even
when the web server is down (or if you are not connected to the
internet at all).
But there's more to it than that. You can't use your desktop
applications when you are anywhere other than at your desktop. You
can't use them at school, at the office, on the road, on the airplane,
in another city, etc. Having your "desktop" applications on a "laptop"
is a partial solution, but it ties the availability of the application
to the physical presence of a particular piece of equipment.
A web application is usable anywhere you have a web browser. So the
web application wins for availability.
What about clarity? I agree with you that the GUI is not the key
factor here. There are web apps with rich, clear user interfaces, and
there are desktop apps with rich, clear user interfaces. Similarly,
there are appaling examples of both.
When you think about it, the browser is itself a desktop application.
When browsing the web, we are interacting with a desktop application.
Of course there are differences in the GUI toolkits available for
browser applications and for desktop applications, but each of these
toolkits is evolving to include the best of what the other has to
offer. So, although a rich, clear interface is vital, it's not the
factor that divides desktop applications from web applications.
Next, let's consider utility. Does the application do what you need?
Interestingly, Chris Loosley puts this last in his order of
importance. It's tempting to put it first, yet the most functional
application in the world is useless if it's not available, or if it's
too confusing to use. So I'm with Chris on this one: utility comes
last (but it's still absolutely essential).
So is utility the factor that sets desktop applications apart from web
applications? It's temping to say "yes", because we don't yet have any
web application that does everything that Microsoft Word or Excel can
do (although we are certainly getting close). But that's a very
one-sided way to look at the issue, when there are web applications
that simply cannot be replicated on the desktop.
A search engine such as Google cannot be implemented on the desktop.
Our individual computers do not have the power to crawl the entire
web, index it, and perform complex search queries. Nor can we have
collaborative websites such as photo-sharing sites on the desktop.
Perhaps, though, you are more interested to compare internet
applications accessed through a web browser, versus internet
applications access through a desktop application. Here it gets
interesting. Consider Google Earth on the desktop:
versus Google Maps on the web browser:
Both can display maps, satellite photography, driving directions, etc,
yet the desktop application seems to be more powerful and elegant.
Google Earth versus Google Maps is only one data point however. If
internet-enabled desktop applications were substantially more
functional, we would expect to see more of them than we do. There
certainly are banks, collaborative groups, ticketing agencies and
recreational sites that use internet-enabled desktop applications, yet
there are vastly more that use browser-based applications.
Of Chris Loosley's four "needs", this now leaves only "responsiveness"
as a possible decider between web applications and desktop
applications, and I believe "responsiveness" is indeed the important
one. Chris doesn't say much about it though:
"Having reached the site, pages that download slowly are
likely to drive customers to try an alternate site."
Is that all one can say about responsiveness? I don't think so.
Firstly, it's really important. Microsoft urges developers to steer
away from unresponsive pauses in the operation of their applications:
"This leads the user to attempt to terminate the application ...
or even to reboot the computer. Usability studies conducted by
Microsoft show that even periods as short as a few seconds are
too long for many users."
Make It Reliable
Right now, most desktop applications are more responsive than their
web equivalents. That's not surprising, considering that the bandwidth
between the computer and its hard drive could easily be a hundred
times higher than the bandwidth between the computer and the server.
Also, desktop applications are likely to be written in an efficient
compiled language whereas web applications will be using an
interpreted scripting language for user interface operations. So,
unless the application has a particularly high computational overhead,
the desktop version is likely to be more responsive.
Communication speeds are increasing, however, and in the future we can
expect the gap between local response times and internet response
times to continually narrow. That's not enough though, and here we get
to what I believe is the essence of the situation.
It's not the absolute response time that is most important; it's how
predictable the response time is. Given a choice between an
application that always responds in half a second, or one that
responds mostly in a tenth of a second but sometimes only after two
seconds, users will choose the first application.
It's the variation, the unpredictability, in the response time of a
web application that makes a desktop application feel smoother to use.
To some extent, an unpredictable response time is inevitable with a
web application. There are always going to be unknown delays in
communication over a complex network; those delays are greater and
less predictable than those due to communicating to and from a local
Also of some relevance to your question is an observation that modern
web applications result from a meshing of two technologies - the web
as a hypertext information space (as originally conceived), and the
web as a link between the client and server of a specific application
(as frequently found in web applications). This dichotomy, whilst
extremely powerful, can make the web application less than fully
satisfactory in terms of access to hyperspace and also in terms of a
user interface to a single application. This dichotomy is illustrated
by an annotated diagram in this PDF page by Jesse James Garrett:
The Elements of User Experience
which is also available as part of a book by the same name:
The Elements of User Experience
At this point, klaus777-ga, I would like to know whether you find it a
satisfying hypothesis that desktop applications gain their usability
edge due to the predictability of their responsiveness.
If you accept this hypothesis, do you need me to take it any further?
If not, please state why it is not acceptable in order to guide my
further research. Just let me know by using the "Request for
In closing, I would like to add two further points.
First, you mentioned that you found Thunderbird more functional
because it managed all of your email accounts in one place. That's
certainly an important factor, but it's not one that's fundamental to
a desktop application. For example, you could have five accounts all
configured to forward to one Gmail account
from which you could manage all of your accounts using the Gmail web application.
Secondly, I believe that we will see an explosion in hybrid
desktop-web applications over the next few years. By that I mean
applications that will operate as a desktop application when you are
on your own computer. When you are on another computer (or a mobile
phone etc) you will be able to access the same (or very similar)
functionality as a web application. Your same data files will be used
in each case: either the desktop copy or the webserver copy will be
considered the "golden" copy, with other copies transparently
duplicated, cached and synchronised on demand.
As I said above, please let me know if you require clarification or
Google Search Strategy:
"web applications" "desktop applications"
responsiveness applications predictable
"response time" "more important than"
Web Applications: Richar or Poorer?
Performance Matters: Managing Rich Internet Applications