Who Killed the Desktop Application?

Let’s not forget in the comparisson between desktop apps and web apps easy of development. Example, required knowledge: desktop app - C#, desktop app - C#, Asp.net, Javascript, Ajax…

Most of the comments here take one side or another. To me, the web applications have their pros and cons just like desktop apps as it stands today. In the case of mapping, I haven’t had a chance to use ST yet but from the author’s description, I can see Google map has the upper hand for in the mapping software arena.

There are things web app couldn’t do as well as their desktop counter parts (i.e. spreadsheet, other office apps, games, etc). Desktop apps are mostly feature rich. The web apps are mostly convenience in the sense that you can access it anywhere a computer with a browser and you don’t need to maintain it by installing updates/upgrades.

To most people including me, being able to access anything anywhere is very important. With web app, I can do that with ease. I don’t have to bring my pc with me where ever I go. I can be on vacation in South of France and still be able to do everything I can do as if I am in the office without having to bring my own pc. All I need is a computer with a browser with internet access.

This is the future and the shift is happening fast with player like Google. It’s a paradigm shift. Sun Microsystems is realizing its vision - the network is the computer.

Desktop is not dead yet but it is going that route. There are still a lot of apps that require localized computing. If unlimited bandwidth becomes a reality and everything can be run remotely and results pipe back to the user, all we need to run anything is a computer with a browser (aka dumb terminal). Desktop apps’ days are numbered.

The only point I want to raise is that ST does more in the mapping space than just driving directions. Being a good MSFTie, I use maps.live.com, but would use Google before using ST for driving directions.

What you can’t do with either of the online services is spatial analysis of data. When I worked at a real estate firm, we built pretty interesting reports using ST to map our sales volumes and time on market and such.

So, I think the consumer desktop mapping application is dead, and the business desktop mapping application is dying. It just isn’t quite dead yet. I’m sure google or MSFT will add the ability to report on datasets pretty soon.

I don’t know. I developed a web app to serve as our call tracking interface, and it works well for 5 of our customers. The moment I tried adding our full customer list the whole thing falls apart, with over a minute of load time for the dropdownlist.

I think I’ll be rewriting this as a Windows app, because I don’t like any of the alternatives for the web app. The best one seems to be the AjaxControlToolkit’s AutoComplete control, but that doesn’t limit users to valid entries and seems more error prone in general.

This is a bit like the old adage of not coming to the wrong conclusion that all frogs go deaf if you cut off all their legs because they stop jumping when you give them the jump command.

There has always been a strong push for desktop developers to not push the UI border, this has been a concious choice and many have been reprimanded for trying to go to outside “what users are used to”. Now with web applications gaining traction, with designers that have never been constrained by silly things like convention, companies are a lot more open to new user interfaces.

Another issue is that it’s harder to make a compelling UI in an desktop application. The basic desktop app is all widgets and buttons and trying to go outside that requires much more effort than it does when it comes to a webpage. Just trying to effectually embed a browser in your application comes with it’s own set of lovely headaches. This is where things like XAML are going to play a huge part, now you can have the “ease” of XHTML/CSS layouts with the richness of a desktop application.

Not everything is slower than the web version. For example reading feeds in Google Reader is still painfully slow and cumbersome compared to the speed of reading feeds via FeedDemon. I can load FeedDemon and have filtered through 30 posts before Reader even gets me to my first page of feeds.

Another aspect is that users are conditioned to “put up with” the annoyances of web apps yet are very sensitive to desktop applications. I would never allow an ad in a desktop app yet I let them in my online apps, mostly because I have no choice. Also there are slow-downs and a complete lack of real “history” or customization wtih a lot of these web apps, things you’d demand in a desktop app yet we let web apps get away with all sorts of horrible user interface issues. How many web apps can you actually not use your mouse at all and go pure keyboard? Almost none.

The future isn’t so black and white, though I understand you have to make such drastic statements to sex up your blog a bit. Desktop apps will never die, they’ll just change. In fact “web apps” and “desktop apps” are bound to meet and mate, producing hybrid apps, such as sidebar gadgets, desktop search engines, music manages and players that play and index local media yet allow deep browsing of the web, a la Zune or iTunes.

I tested it myself, and she’s right.

Finally–the words every girl longs to hear. :wink:

A few comments on ST 2007–also, you can see their blog at http://streetsandtrips.spaces.live.com/:

  1. The interface hasn’t been updated in 5 years, pretty much. My copy of ST 2002 looks essentially the same as ST 2007. The underlying data, however, has gone through several changes.

  2. ST 2007 is sold as a low-cost GPS solution; for around $100 you get a USB GPS puck and a copy of the software. As a GPS solution, off-line capabilities are essential–you cannot use Google Maps to tell you which exit to get off while driving down the highway.

  3. The new functionality in ST 2007, vs. the 2002 version, all involves connections to Live Local (aka “Virtual Earth,” former “Mappoint”). There’s a (cryptic) button on the toolbar that opens Live Local in your browser at the same location you’re viewing in ST 2007–because the Web service has satellite (and low-altitude airplane) images, while an off-line program won’t. Another (also cryptic) button lets you search for companies through the Web service.

From the above I assume that the next release of ST 2007 will be based around using the Web service to map out trips, relegating the off-line application to essentially just a GPS interface. I imagine the reason we haven’t seen anything like this yet is:

a. Live Local was still undergoing substantial changes over the last year, and
b. Until (unless?) UMPCs take off, I don’t think a PC-based GPS solution will sell all that well.

In other words, I couldn’t justify a large team to rebuild ST–so I imagine Microsoft couldn’t either; however, I assume they have at least a small team working to build an off-line version of Live Local.

Got to agree with your sentiment

For me this happened in about 2001 when I started a project to do a database for a job hunter agent.

Several things became clear

The surprise was that users did not really want training, they just wanted the bookmark. This was a significant part of the costs eliminated, the sort of costing ignored by code heads…

Another surprise was the cost saving in not having to do any kind of install across the network.

The cost I kept quiet about was the extra load on the cheap ethernet networks, which have a low saturation point of below 50% capacity. You have to know a bit about networking to appreciate this point. In essence an office network running on cheap Ethernet can not carry anything like the amount of data implied by it being say a 100Mb networking.

I could list other discoveries, but the web application has been around a long while, its just now people are beginning to notice.

(Addendum, sorry–) Before someone else corrects me, let me correct myself to say that there are other new features in ST 2007 vs. 2002–but they all involve serving as a GPS navigation system. That is, ST 2007 is essentially ST 2002 + (1) links to local.live.com and (2) much better GPS-mode functionality.

For example, ST 2007 will say “turn left” when you have to turn left, exploiting Windows’ text-to-speech engine.

I use local.live.com myself to plan trips (I like the shape-drawing function, although I assume Google Maps has or will soon have a similar feature), and I use ST 2007 only for its off-line GPS function.

insane idea. i would never use a web based app instead of a desktop based app in their current state.
the reasons have all been mentioned already: slow, problem with privacy, no customization possible, unreliable connection etc…
oh as for the internet connection, i do have 5 ISP’s, yes five, but only one of them is fast enough (8mbps) and still slow to replace desktop apps (also, my upload speed sucks).
and, one thing might not have been mentioned: i absolutely don’t want to live in a browser (either IE, or firefox or anything). yes i do close it several times everyday.

p.s.: i find googlemaps very unintuitive and frustrating to use. then, gmail is the same story. (yeah i hate all webmail.) if these are examples of a “good” web based app, what are the others like?!

If unlimited bandwidth becomes a reality and everything can be run remotely and results pipe back to the user, all we need to run anything is a computer with a browser (aka dumb terminal). Desktop apps’ days are numbered.

Wow! So this guy is saying that desktop-only applications survive forever.

good post. made me realize i haven’t had an instant messaging client installed since gmail+talk and meebo.com came out

Instead of literally meaning desktop applications are dead I see the point that more and more applications will now be developed as web apps instead of desktop applications.

I actually came to the same conclusion in a different situation. I have been a C++/ C# programmer for quite a long time (7 yrs) and used to wonder about the popularity of languages like Ruby, Python…surely you cannot create an installer and distribute applications written in these languages, as easily as you can do with those written in c++/c#…and that these were not for any ‘serious’ application development.

Then it occured to me that as more and more applications get designed as web applications, languages like python, ruby become popular as they do give quite a lot of power to the programmer when compared to the traditional languages…and these apps are run from the server where the programmer can do what he wants to.

You are onto something, Jeff.

In general, web apps and desktop apps are headed in two different directions when it comes to usability.

Web apps are headed towards universal use by the masses. Desktop apps will nichify as the expert tools of the computer literate.

The truth is that most human beings lack the capacity to operate their own PC (even a Mac) to the extent of actually having a software configuration. However, almost all people can manage to point and click their way through a web browser even after only a few minutes of first time use.

As online access becomes cheaper and more ubiquitous, and generations of humans are raised only having to use web browsers to get by, developers will realize that they can make a WHOLE LOT more money writing web apps for dummies than desktop apps for geeks, which in turn will bring about new generations of web apps that provide specialized functionality for the masses.

Even if someone invented an operating system with local software that was as easy to use as a web browser, most people would still only use it to launch a web browser.

Unless I need GPS input, I always choose Google Maps. Since I use various computers at work and away from work, I really find the “save to my maps” feature a big plus of Google.

Streets and Trips could be a killer desktop app, but Microsoft also has maps.live.com, which is a good parallel to maps.google.com. Maybe Microsoft has a mapping software budget and maps.live.com gets the lion’s share of funding.

Microsoft’s other desktop apps are certainly evolving faster than their desktop mapping solutions.

Although Google maps lacks certain advantages that a desktop app has, it makes up for it by running on a fifth generation computer (massively parallel) instead of a fourth generation computer.

Computer scientists in the early 1980’s predicted the current predicament of the microelectronic: someday it would be impossible to increase cpu speed… further gains in performance could come only through massive parallelism.

The Japanese government began a 10 year program to develop a 5th generation computer. Their focus on AI and logic programming was a mistake; although it’s commonly believed the project was a failure, several machines were produced, all of which used concurrency models that are widespread today. In 1997, a parallel supercomputer named Deep Blue defeated Gary Kasparov at chess, proving the effective of parallel search in AI.

The Google Maps server is most likely a cluster (or cluster of clusters) with about a terabyte of RAM; most likely the machines are something like 1U servers with 16G of RAM each. Most likely, a front-end server uses a hash function to direct requests for image tiles to an appropriate back-end server. Because the seek time is zero, such a system will greatly outperform a conventional disk system – if utilization is high, cost can be much less than a conventional disk-based systems.

It’s a sweet example of how a tiny slice of a 5th generation machine can greatly outperform a 4th generation machine; you could probably fit a set of image tiles on (most of) a large modern hard drive, but seek times would harm interactivity. The only practical way to deliver such an application would be pre-loaded on hard drives.

An alternative strategy is to construct a vector-based map and let it live on a combination of cache RAM and disk. The data structures to render something like that are a bit complicated. In the end, Google maps ends up feeling ‘more interactive’ than most desktop apps, despite the effects of network latency.

Jeff, your great article generated quite a lively discussion. It’s been a pleasure to read it all.

One day down the road the desktop application may indeed be killed, but I hope it won’t happen any time soon. As of today ST offers me a lot more functionality than any online map service, including Google Maps. Actually I’d go as far as saying that an on-line map service of today vs. ST is like comparing MS Paint to Photoshop (MS Paint being the free app included with Windows). But, yes, for many tasks an on-line map may be just fine.

By the way, there are several different ways to enter start destination points into ST. A quick way is to just type the address into the Route Planner. Type an address and hit Enter. Done! Type another address and hit Enter. Done! Then just press the “Get directions” button to generate a route from A to B.

Heh, heh, Dope Street. That’s cool!

Newest information? FROM GOOGLE? Ya, right.

The sat. pics for my neighbourhood were updated last year from 6 year old pics to 2 year old pics. A few months back, the updated the sat pics again BACK to the 6 year old pictures.

Do I leave near any sensitive military instations? NOT IN CALGARY.

I don’t trust google’s maps to be more than 6 to 10 years up to date any more. IN fact, I treat it as more of a curiousity than a reference tool. I can’t see, with data like that, why anyone would.

I’m surprised how many people mention that developing a DHTML application is so much faster than developing a desktop application. I’ve personally found the opposite to be true. I’ve discussed this with several colleagues and they agree. If I was in the business of shipping a software product, it’d be a desktop application simply because time is money.