Web apps have worked well for projects that are essentially simple front-ends to a database or simple content distribution systems, which admittedly represents a very significant part of the software industry. These tools inherently require some sort of client-server system, so there's no architectural overhead there that you weren't going to have anyway. Also, with web apps you get cross-platform portability very cheaply, and you get zero-effort deployment instead of trying to deal with installation/upgrades of software on say Windows where the plot was lost long ago and no-one has ever restored sanity.
However, when you come to doing anything that requires non-trivial interactions or non-trivial processing, web apps are often still decades behind the state of the art for mature desktop applications. No-one does serious graphics work, or mathematical modelling/simulation, or FPS gaming in web apps today. I suspect we never will, because we'll develop (rediscover?) how to build such applications with a specialised thin client and/or how to push out and maintain software with a native thick client more effectively long before we bastardise a text mark-up language and its friends well enough to write serious software as web apps in general.
I like your point that we might figure out how to get desktop deployment right sooner than how to adapt the web to do all these things. But nearly all the innovation has been pointing in the other direction. Also, such a deployment technology would face formidable institutional barriers.
Yes and no. GMail is arguably one of the most successful and mature web apps out there, but at the end of the day you're still just reading mail, clicking a few places to change how information is presented, and typing a bunch of text. None of this requires a lot of real-time assistance as you navigate the information, context-sensitive UI, or task-specific controls beyond regular menu/toolbar/icon kinds of things, for example.
And why not mathematical modelling/simulation? — you can access a lot more computational power on servers.
Well, I think that point is debatable if you're doing serious modelling more than occasionally. The kind of processing power required makes it cheaper to buy your own high-end systems than to use commodity cloud-provided facilities very quickly, and for the same reason I suspect it would be difficult to offer such services economically in SaaS form.
Also, real time graphic visualisations in web apps are still far slower and less sophisticated than what you can achieve natively with modern graphics cards, at least for now. If you're watching a couple of pretty graphics in an analytics tool, that doesn't matter. Even some basic 3D work is starting to get interesting with technologies like WebGL arriving. But for real-time rendering and navigation of global weather patterns or the design of a cruise ship? I don't see that being done remotely any time soon.
And how often does one hear of a startup making new desktop software?
I'm not sure how often one hears about start-ups doing something is a very useful metric, really. The culture on HN is particularly biased towards that field, but in reality there are millions of programmers out there working on desktop software. New bespoke desktop applications are being written for businesses all the time, and likewise tools, toys, games and more are written by small software shops for individuals all the time.
But nearly all the innovation has been pointing in the other direction.
Really? I'd say the mobile "app store" model and the Linux "distribution" model have both been very successful at getting native software deployed onto users' systems, too.
It's just a shame that we still have horrible deployment practices and dependency management on most desktop platforms, much of it due to the stagnation of desktop OS architectures and the continued use of strategies that were originally designed to cope with limited resources but that have been obsolete for years now.
I'm not sure how often one hears about start-ups doing something is a very useful metric, really.
Startups aren't what drives tech innovation in markets? That seems at odds with history. Millions of programmers may be doing as you say, but that's mostly legacy. Are they creating fundamentally new things? What is the most recent desktop app that you could call innovative, apart from pushing the envelope on graphics?
I'd say the mobile "app store" model and the Linux "distribution" model have both been very successful at getting native software deployed onto users' systems, too.
I guess Apple have integrated desktop deployment into their App Store (rather to my annoyance actually) and MS are about to do the same, or try to. Perhaps the habits people have acquired around downloading and installing mobile apps will end by triggering a renaissance in desktop applications. But I won't believe that I until I see major new applications being built this way.
I've no doubt they do all kinds of clever things behind the scenes, from detecting things like malware and spam to all the analysis Google do for their own purposes.
Still, relatively speaking, I don't think the front end for an e-mail client is very complicated. And there's nothing wrong with that, because it doesn't need to be: its job is to manipulate a small amount of data (from the user's point of view, with a simple structure, which doesn't change very much and doesn't have a lot of dependencies.
This is all true of most major web apps, as far as I can see.
..."real-time assistance as you navigate the information, context-sensitive UI, [and] task-specific controls" in the browser. Those problems are mostly solved.
Don't you think "mostly solved" is overstating the case a little? Even web apps whose UIs we might call mature or advanced today rarely offer more than what desktop WIMP UIs were doing 10 or even 20 years ago. As you mentioned, even common operations like editing formatted text are often still below par. Truly task-specific UIs, the equivalent of say a three-way diff/merge tool or a space flight simulator game on the desktop, seem to be extremely rare in web apps.
Startups aren't what drives tech innovation in markets?
Start-ups can certainly drive innovation, though obviously this particular forum has a built-in bias and I think a lot of posters here tend to overrate the importance of any one start-up or of start-ups generally.
However, I don't think whether or not we've heard of start-ups means very much. It's a big world, and most of us will only ever see a tiny fraction of it. Lots of the innovation happens in small businesses that help larger businesses or other non-consumer fields like academic research or government departments behind the scenes. These things don't tend to be very visible to the general public, and probably won't get you on the front page of HN or written up on TechCrunch. Plenty of these projects involve developing desktop apps.
What is the most recent desktop app that you could call innovative, apart from pushing the envelope on graphics?
I can't give personal examples from my own work unfortunately, so instead let me ask you this: have you been to a movie lately? Did you notice all the CGI special effects? Not the robots and zombies and futuristic home automation, the other ones. The answer is probably "not even close", because the programs the SFX wizards use to create those effects are now so powerful that the results really do go unnoticed a lot of the time, as they should. These things are done with a vast array of bespoke software that is evolving all the time, some of it off-the-shelf but a significant chunk built in-house for major projects. And they're not building web apps. (Most of the time. ;-))
Perhaps the habits people have acquired around downloading and installing mobile apps will end by triggering a renaissance in desktop applications. But I won't believe that I until I see major new applications being built this way.
I tend to agree. I fear that ship has now sailed, but it would be nice to think that the groups behind the significant desktop platforms could still come up with a sane way to install and update applications.
It's crazy that in 2012 (just...) we still rely on each application's installer/uninstaller/package manager/update process to copy files into basically arbitrary locations, some of which may be shared with other software, set up hidden details like registry entries, even hack around global system configuration or perform dark magic for product activation/DRM purposes. And then we expect to install more than two things and have them play nicely together, and then uninstall in some arbitrary order and still have them play nice together.
Here's hoping 2013 will bring something better!
(It's not made by a game development team, but tech nerds at Mozilla, showcasing what new HTML5 tech can do. A real game company could go nuts with this.)
Also... Desktop apps have died. Apart from high performance apps, the top 10 successful tech businesses in the last 10 years have been web apps. Imagine Facebook launching as a desktop app. You buy a CD at Target, and install it, connect, and type in the app to communicate. It's a laughable idea.
It's an interesting demo, but all it really proves as far as viability goes is that today's web apps could keep up with what id and co were producing on the desktop more than a decade ago. There is a long way from that to running a AAA quality FPS in-browser.
Apart from high performance apps, the top 10 successful tech businesses in the last 10 years have been web apps.
I'm curious about what measure you're using there.
Looking at the data from the Fortune Global 500 for 2012[1]:
The most profitable tech companies are mostly in hardware and/or consultancy: Apple, IBM, Samsung...
The only primarily software company that keeps up with Apple is Microsoft, coming in at numbers 3 and 4 respectively (both at 20-something billion USD in profits).
The top primarily web company is Google, coming in at number 18 with under $10B, still nothing to be sneezed at of course but in no danger of walking away with the prize any time soon.
The web company you mentioned, Facebook, isn't in the same division in financial terms. Nor are the likes of Salesforce.com or the assorted darlings of the web app world.
Imagine Facebook launching as a desktop app. You buy a CD at Target, and install it, connect, and type in the app to communicate. It's a laughable idea.
Why can't I just do what I do with most other desktop software today: buy it on-line, download the installer, and run it?
To clarify: the top 10 successful new tech businesses. And not necessarily financially, but that have the most impact. Also, this is a discussion about software. Sure, IBM has made a ton of money compared to Facebook. They have long-term contracts with governments and businesses worldwide; making money for IBM means waking up tomorrow. But they're boring. They're the successful company that makes all the screws; vital to the world, hugely profitable, but boring. I'm talking about new tech software companies you've actually heard of, and use their service every single day. When anyone talks about new startups, they inevitably mean a web-based company.
Okay, so Facebook launches as a downloadable EXE? What about Amazon, or Twitter? Everyone has to install it to use it. There has to be a Mac version, and a Linux version. Then the iOS and Android versions. Everything is native apps. This is a terrible ideal world you live in.
Sure, I realise that. I'm just saying, maybe it won't be quite as soon as you're thinking that we see high performance web apps.
When anyone talks about new startups, they inevitably mean a web-based company.
Not around here (Cambridge, UK) they don't. There are plenty of tech start-ups just down the road from me, many spun off from connections to the university and research done there. Some of them make web apps, of course, but most of them don't.
I suspect, with no offence intended, that you're probably seeing through the kind of HN-vision I mentioned in another post.
Everything is native apps. This is a terrible ideal world you live in.
I'm certainly not arguing that everything should be done with native apps. In fact, in my first post to this discussion[1], I argued rather strongly against making native apps for things where a web app works fine.
There are pros and cons to each approach, and I'm just saying that I don't think arguing that desktop apps are dead makes any more sense than arguing for building native apps on every platform so you could use a simple on-line database when a single web app would do just as well or (by my original argument) perhaps better. There is plenty of room for both approaches, and as always, we should choose whichever tool best does any given job.
I saw your previous comment earlier, and even gave it an up-vote. I'm new to Hacker News, but perhaps some day I'll have the right to down-vote; and when I do, I won't use it simply because I disagree with someone.
In other words, the number one selling laptop today can't run any desktop applications - just web apps. I'm a developer, and I simply can't ignore this.
It's time to focus our efforts on fixing the obstacles web apps face, instead of doubling-down on desktop/native apps because they're easier to make, or run slightly faster.