Sure, "we" know that a Prism "app" is really just a web app running inside of a stripped-down copy of Firefox, but the average person (who makes the market) doesn't know that. I've set up some non-technical friends with a copy of Firefox, as well as three or four Prism "apps" - Gmail, Google reader, NYT.com, etc. They don't know, nor do they care, that they're using web apps: they interact with them as desktop apps, which is what matters to them (despite the fact that I've explained to them what's going on).
The really interesting thing is that they distinguish between the Gmail they get by typing the URL into Firefox, and the Gmail they get by launching the Prism "app". Despite the interfaces being 100% identical, they still think of the Firefox-based one as the "web version" of it, in the same way that Outlook users see OWL as the "web version" of normal Outlook - doesn't matter that they're the exact same.
As for web vs. desktop, I think - like most things - it's a case where different tools have different strong points. Some apps will naturally work better in a web-based environment, but some will stay desktop-based.
Seeing as I have as little idea about the future as everyone else does, I'll offer two predictions about the two sides coming together:
In the shorter-term, we will see more desktop apps accessing web services behind the scenes. The main application will still be desktop-based, but some resources (or more likely, improvements on native resources) will come from web services. The big example of this, currently, is Mathematica's cloud computing initiative. To the user, Mathematica is Mathematica - it's on a desktop client, and it's as responsive as ever. But you can configure this desktop client to (silently) spin up an EC2 instance with the Mathematica engine pre-loaded onto it, and route complex calculations to that more-powerful instance, as opposed to computing it locally. To the user, there's no visible difference between locally-computed answers and remote ones; but the desktop app has chosen which source to use based on the calculation.
In the longer-term, the distinction between desktop apps and web apps will disappear. What makes something a web app? Currently, it's that it's written in Javascript that's downloaded and executed in a browser context. What about when browsers have more powerful languages built-in (like Google NaCl promises), and can access the hardware more directly? What about when your OS comes with a built-in ability to download and run these programs, without explicitly invoking a browser - your browser is conceptually like a VM for Javascript, so when this VM is integrated directly into the OS (like Java), what is it?
Let's say I've got a copy of Gmail that uses Gears for persistence, some NaCl to offload some of the processing, and is accessed via a Prism instance - is this a web app or a desktop app?
A web app is an application that requires at least a browser to run. Why? Because the web as we traditionally know it is accessed through a browser and any application that still requires a browser to run cannot be considered a desktop app.
As for prism it still doesn't actually make that app a desktop application because all it still contains the environment designed to run web apps and just simulates a desktop app. You still use it to run apps designed for the browser.
The blurring of the lines will come as web apps start to no longer need a browser to run. So when the day comes I can start up my OS, type gmail.com, and it runs the Gmail app, then the distinction between web and desktop app will truly have vanished. But until then anything that still requires a browser, or browser technology is still in the transition stage.
If you strip away the visual chrome, a browser is simply a piece of software that interprets a certain set of languages and displays the result, not unlike the JVM or the CLR.
As for your example, I can do that now - when I type gmail.com into the Vista Run dialog, my browser opens up and runs the Gmail app. How is this different from typing in the name of a JAR file and having it run, aside from a different program being run to interpret the code? Also, what about the tight IE-Explorer integration in XP, where I could open a normal Explorer window, type in gmail.com in the location bar, and then Gmail would open in that window (and have the UI change to IE's chrome)?
Because your internet explorer does not allow apps to access low level functions. It still resembles its original purpose: the serving of static pages.
Web apps should break out of the prison that is the browser.
Sure, "we" know that a Prism "app" is really just a web app running inside of a stripped-down copy of Firefox, but the average person (who makes the market) doesn't know that. I've set up some non-technical friends with a copy of Firefox, as well as three or four Prism "apps" - Gmail, Google reader, NYT.com, etc. They don't know, nor do they care, that they're using web apps: they interact with them as desktop apps, which is what matters to them (despite the fact that I've explained to them what's going on).
The really interesting thing is that they distinguish between the Gmail they get by typing the URL into Firefox, and the Gmail they get by launching the Prism "app". Despite the interfaces being 100% identical, they still think of the Firefox-based one as the "web version" of it, in the same way that Outlook users see OWL as the "web version" of normal Outlook - doesn't matter that they're the exact same.
As for web vs. desktop, I think - like most things - it's a case where different tools have different strong points. Some apps will naturally work better in a web-based environment, but some will stay desktop-based.
Seeing as I have as little idea about the future as everyone else does, I'll offer two predictions about the two sides coming together:
In the shorter-term, we will see more desktop apps accessing web services behind the scenes. The main application will still be desktop-based, but some resources (or more likely, improvements on native resources) will come from web services. The big example of this, currently, is Mathematica's cloud computing initiative. To the user, Mathematica is Mathematica - it's on a desktop client, and it's as responsive as ever. But you can configure this desktop client to (silently) spin up an EC2 instance with the Mathematica engine pre-loaded onto it, and route complex calculations to that more-powerful instance, as opposed to computing it locally. To the user, there's no visible difference between locally-computed answers and remote ones; but the desktop app has chosen which source to use based on the calculation.
In the longer-term, the distinction between desktop apps and web apps will disappear. What makes something a web app? Currently, it's that it's written in Javascript that's downloaded and executed in a browser context. What about when browsers have more powerful languages built-in (like Google NaCl promises), and can access the hardware more directly? What about when your OS comes with a built-in ability to download and run these programs, without explicitly invoking a browser - your browser is conceptually like a VM for Javascript, so when this VM is integrated directly into the OS (like Java), what is it?
Let's say I've got a copy of Gmail that uses Gears for persistence, some NaCl to offload some of the processing, and is accessed via a Prism instance - is this a web app or a desktop app?