[Coding Horror] All the innovation in user interface seems to be taking place on the web, and desktop applications just aren’t keeping up. Web applications are evolving online at a frenetic pace, while most desktop applications are mired in circa-1999 desktop user interface conventions, plopping out yearly releases with barely noticeable new features.

As a long time Win32 developer, I’ve been having the same conversation more and more lately - are client apps dead? Are we dinosaurs?

Looking at the types of applications that I use most often these days, I sit back and wonder if there’s really any need for a compiler any more. Heck, even playing with Silverlight, the only “tools” I needed were TextMate and Firebug to write up a quick sample that was spinning and clipping HD video. Perhaps my next set of coding tools is just a browser, a kick ass text editor, and a good script debugger. Interesting times, to say the least.

So it goes.


6 Comments

    Brandon (June 11, 2007 @ 8:44 am)

    Dead? No, just not growing or evolving as it used to.

    The web provides the quickest and cheapest method to get your product and subsequent changes into the users. Not only that, but it ensures the product they’re using is always the most up-to-date since you don’t have to trust them to install the newest patch. It makes perfect sense why there’s so much interest in the web and thus accelerating its evolution.

    But eventually there will have to be a plateau. It’ll have to come either in the realm of bandwidth or web engine capabilities. I’d put my money on bandwidth. While more people are signing up for broadband, the providers themselves (in the US) don’t even appear to be trying to keep up with the pace and in fact are imposing restrictions they didn’t have to before just so they don’t have to grow. If the data and program are both stored on the server, it’s has to get pushed through the pipe every time (in the absence of desktop-enabling programs such as Google’s latest “new thing”).

    As more and more get pushed through that ever-more shared pipe, eventually the service will have to degrade. I’m pretty sure that will start to redirect the evolution we’re seeing now from snazzy interfaces and go more in the direction of efficiency. Whether that’s a more minimalistic interface or a more efficient way of providing the snazzy one, only time will tell.

    Personally, I still prefer client applications because I like having my data on my server and not have to trust both the service provider and the internet connection provider to continue giving me unrestricted access to what I own. I like the way dynamic web apps are going (heck that’s what I program for my 9-to-5), but client apps will never die… that is, until the OS itself either becomes a web browser or everything is virtualized away, but I don’t see that happening, either.


    JohnNull (June 11, 2007 @ 11:46 am)

    Good timing on this post, given the ‘just’ announced iPhone development model.


    Michael (June 11, 2007 @ 11:17 pm)

    Brandon raises excellent points, but I’m wondering whether the web reaches that plateau before or after cell phones eclipse desktops as software deployment targets. I’m betting after.

    You can make some fun charts extrapolating cell phone storage and CPU speed, taking into account the apparent ~3GHz CPU core limit. (Sure, desktops will go many-core, but that only buys you so much for consumer apps.)

    The last mile will continue to inhibit digital delivery of HD video content and some games. However, Web traffic is miniscule in comparison. The average web page is 130KB; in contrast, heavily compressed DivX 720p video is 450KB/s. Bandwidth in the last mile is relatively insignificant to text-based web- and web-service clients. (Indeed, page transfer time is often dominated by DNS lookup time.)

    Anyway, is Fortran dead, or Cobol? How about assembly programming? I think Steve means “dead” in the Paul “this party is dead” Graham sense of “Microsoft is dead”. All those things will go on for a long time, but the locus of excitement (and attention and money) seems to be web apps and phones.


    gdkzen (June 12, 2007 @ 7:12 am)

    Perhaps I have a different take on this based upon my recent experience. In my experience the attempt to substitute a web front end for a true desktop interface has been something of a failure. In business organizations, there is a great desire to keep applications standard and simple. With web interfaces, developers push beyond standard very quickly - even with today’s various technologies. On the other hand, true desktop applications have a much richer collection of standard technologies to choose from and are capable of delivering the desired user experience with less risk.


    Steve Case (June 12, 2007 @ 8:48 am)

    I go to the airport and the Alaska Airlines agent checks me in via a web interface. I go to the Sony store and the cash register uses IE running on XP. I head over to T-Mobile and the entire purchase is done with the sales person using an Internet-based application.

    Markup + script is the future. Is that a rich client application. You bet. The real question to ponder, is the compiler dead? Do we really need to be sitting in-front of development systems that require us to compile? Today server applications are becoming more and more PHP and client applications are about mark-up and script.

    What is happening is that you will have small teams writing the bridge between the script and the machine (the plugin, activex component, jni object, whatever) and the mass writing scripting code.

    You can imagine a world where IE or Safari would have an tag that is really a bunch of calls to WPF or CoreAnimation. The hard work is being done by a few in the runtime and the large simply uses declarative mark-up for the view, script for the controller and xml (via an HTTP request) for the model.


    rugs (September 3, 2007 @ 3:03 pm)

    I think you might be right about client apps, no offense to everyone else who thinks they’re not dead. All I use to do what I do is an editor, a bug scrubber and my browser. It really is kind of sad. I do think that client applications are a little bit like dinosaurs; at this point, they’re certainly ready for extinction with prejudice. There’s no need to bring them back and no need to venerate them in a museum. Although, they’ve definitely played a large part of what helped us build the internet we now rely on for our every move in life and our careers, client apps are no longer necessary, or they’re getting very close. Do you think they’re still necessary for some people, who are comfortable using them and not quite ready for other technology? I think it’s almost a little like the war for web standardization. Do we really want to go down the road of getting rid of everything people are comfortable with and force everyone to get on the same train we’re on? I know for a fact the standards movement puts me in a tight spot, so I won’t complain if people want to keep the client apps around a little longer.


Sorry, the comment form is closed at this time.