Slashdot Mirror


Ask Slashdot: What's the Future of Desktop Applications?

MrNaz writes: Over the last fifteen years or so, we have seen the dynamic web mature rapidly. The functionality of dynamic web sites has expanded from the mere display of dynamic information to fully fledged applications rivaling the functionality and aesthetics of desktop applications. Google Docs, MS Office 365, and Pixlr Express provide in-browser functionality that, in bygone years, was the preserve of desktop software.

The rapid deployment of high speed internet access, fiber to the home, cable and other last-mile technologies, even in developing nations, means that the problem of needing offline access to functionality is becoming more and more a moot point. It is also rapidly doing away with the problem of lengthy load times for bulky web code.

My question: Is this trend a progression to the ultimate conclusion where the browser becomes the operating system and our physical hardware becomes little more than a web appliance? Or is there an upper limit: will there always be a place where desktop applications are more appropriate than applications delivered in a browser? If so, where does this limit lie? What factors should software vendors take into consideration when deciding whether to build new functionality on the web or into desktop applications?

8 of 276 comments (clear)

  1. See it before by amalcolm · · Score: 5, Interesting

    In the 80s and 90s. X terminals and the like. Sooner or later the users want their power back. It will be interesting to see what happend this time around.

    --
    Time for bed, said Zebedee - boing
    1. Re:See it before by Austerity+Empowers · · Score: 5, Insightful

      In the 80s and 90s. X terminals and the like. Sooner or later the users want their power back. It will be interesting to see what happend this time around.

      Not surprisingly, we neither trust our web browser, the company providing the software, nor the network it all operates on. The majority of things I use my PC for, I am not ready to release to "the cloud".

      While I'm glad that hollywood starlets think the cloud is safe enough for nudes, all that proves pretty thoroughly it's not safe for anything important.

  2. There will always be a need... by Endloser · · Score: 5, Interesting

    There will always be a need for those who want to keep what they are doing private. It's not private if it's not local and even then it may not be private.

  3. No by Lunix+Nutcase · · Score: 5, Insightful

    The fact that this question gets asked basically every year should more than sufficiently answer the question.

    1. Re:No by sribe · · Score: 5, Interesting

      The fact that this question gets asked basically every year should more than sufficiently answer the question.

      Exactly.

      The rapid deployment of high speed internet access, fiber to the home, cable and other last-mile technologies, even in developing nations, means that the problem of needing offline access to functionality is becoming more and more a moot point. It is also rapidly doing away with the problem of lengthy load times for bulky web code.

      Oh, bullshit. Millions of people in developed nations (particularly the U.S.) have "broadband" that is a few hundred Kbps, or a couple of Mbps--let's just call it 3 orders of magnitude, or more, slower than a spinning disk. And of course there's an order of magnitude difference, or more, in latency as well. And of course, absolutely nothing about the deployment of high-speed internet access deserves to be called "rapid"! Remember, we were hearing about how the rapid rise in internet access speed was outpacing CPU speed increases and would soon make data transfer times irrelevant in the 1990s!

      And that's before we even get to the performance difference between JavaScript DOM manipulation vs compiled C manipulation of native view/control hierarchies. Yes, I've heard about how much faster JavaScript has gotten. I use it. I also use native toolkits. You can show me the micro-benchmarks all day long; doesn't change the fact that a complex UI in JavaScript is vastly slower.

      And that's before we even get to the performance difference when dealing with more intense data manipulation.

      And that's before we even get to the higher memory usage for a control in the DOM than for a native widget. (Don't believe me--inspect an input element, and tell me how many pointers it holds to objects & prototypes...)

  4. This again? by TheDarkMaster · · Score: 5, Informative

    Again this bullshit?

    - Flawless 24/7 connection to the internet is plain impossible and any application that does not take this into consideration is a piece of shit;

    - Your data on a third-party server is always a security problem waiting to happen;

    - Browsers cannot provide the exact same features of a native application without the idea of them being completely rethink;

    - When a web application has successfully emulate a desktop application it usually costs double or triple in computational resources to do the same thing as a native application;

    - HTML is not designed for making desktop GUI applications, it need a ridiculous amount of very ugly hacks do to things that are done easily using native GUIs;

    That said, of course there are tasks where a web application is useful... But it is foolish to believe that so any task task can be done in a web application.

    --
    Religion: The greatest weapon of mass destruction of all time
  5. Why we targeted the browser... by rockmuelle · · Score: 5, Interesting

    I run a company that develops a laboratory informatics platform for data intensive science applications that mix wet lab and analytics operations into single workflows, with gene sequencing as the motivating application - think LIMS with a pipeline and visualization engine, if you're familiar with the space. (Lab7 Systems, if you're curious - http://www.lab7.io/

    When we started development a few years ago, we had to make the decision as to whether or not to build a desktop application or a browser-based application. At the time, this wasn't an easy decision. Some aspects of the UI are straightforward form-style interfaces, but others are graphics heavy visualizations of very large data sets (100+ GB in some cases). Scientific and information visualization have almost always benefitted from local graphics contexts and native rendering engines. In addition, the data decomposition tasks often require efficient implementations in compiled languages. Our platform also controls analysis processes on large clusters, another task not well suited for the browser.

    We gambled a bit and decided that the browser would be our primary user interface. Two trends at the time helped us make the decision (and luckily they both held steady):

      (1) The JavaScript engines in all the major browsers get faster with each new release and now outperform other scripting languages for many tasks.
      (2) The JavaScript development community is maturing, with more well-engineered and stable libraries available

    As few other considerations helped us make the call:

      (1) Our platform is a multi-user system. A desktop client would add to the support burden for our customers.
      (2) Our backend needs to integrate with compute clusters, scientific instruments, and large, high-performance file systems. It is server-based, regardless of the client.
      (3) The data scales we were dealing with also required "out-of-core" (to use an older term) algorithms for redenering, so the client would never get entire data sets at once.
      (4) REST/json... XML, XMLRPC, SOAP, and all the others are a pain to develop for (I speak from experience), REST/json significantly reduced the amount of code we needed to maintain state between the client and server.

    Since we made the call to use the browser, we haven't looked back. Early on there were some user interactions that were tricky to implement across all browsers, but today they've all caught up. Our application looks much more like a desktop or (*shudder*) Flash application, with a very rich UI (designed by an actual UX team that gets scientific software ;) ) and complex visualizations. It's also been relatively straight-forward to implement, thanks in large part to the maturity of some JavaScript libraries (we use jQuery, D3 (for complex filtering, but not for visualization), Canvas, Backbone, and a few others).

    Personally, I can't imagine ever writing a desktop application again. The browser is just too convenient and, in the last few years, finally powerful enough for most tasks.

    -Chris

  6. Silly by fyngyrz · · Score: 5, Insightful

    My question: Is this trend a progression to the ultimate conclusion where the browser becomes the operating system and our physical hardware becomes little more than a web appliance?

    No. And the "trend" referred to here is 99.999999% junkware. Slow junkware. Junkware that typically invades privacy and/or bombards with ads. You can't compete with my image editor. You can't compete with my word processor. You can't even compete with my text editor. You can't compete with my SDR software. You can't compete with my database. You can't compete with my media center. You can't compete with my fish tank controller. You can't guarantee that you, your ISP, my ISP, the connection(s) between them, the name servers, the competition for bandwidth at any one (or more points) will work to my satisfaction. Or at all. You can't even promise the app will BE there (cough, Google, cough) when I need it. Or that it will work properly in my chosen browser. And you're almost *certain* to screw it up so badly that it does all manner of things with rollovers, popping up garbage ads and menus without an instantiating click or drag or keypress from me.

    And the other .000001% ??? Minimalist web-apps that never, ever hold a candle to a real app running on your own hardware.

    Seriously, even the *speculation* is ridiculous.

    --
    I've fallen off your lawn, and I can't get up.