PPK's original post was in poor taste and willfully ignored the significant benefits of native apps, but I don't feel like this article is any better.
Yes, the web is trendy, and as such it is full of arrogant wannabe-developer hangers-on making all kinds of ridiculous claims and prognostications. I suppose they deserve to be called out just for being insufferable douchebags, but there is one very important issue being ignored:
The web is a true open standard in a time when computerized technology is crossing the chasm and increasingly the powers that be will seek to control everything in order to squeeze whatever profit they can out of it at the expense of all future progress. I don't really believe companies like Apple are the real problem, but over time, proprietary platforms will provide opportunities for mega-corporations to lock in consumers. Up until 20 years ago or so it was very hard to get any kind of lock-in because it was still mostly early adopters and hackers who owned computers. However once the majority of the world is online, software matures and hardware becomes more complex to manufacture, the inertia of existing technologies will make it harder and harder for disruptive technology to get a foothold.
That is why even though the web is inferior to native APIs by numerous qualitative measures, we need to support the web and really push for more "native" APIs to be build on top of standard tech like javascript (where feasible), and also continue pushing standards to improve.
Fortunately a good chunk of this entrenched, existing technology is open source, especially in the server market. And the GPLv3 closes a lot of loopholes that hardware manufacturers might have used to achieve that lock-in anyway.
I agree with your basic point that the Web is one of the most open "platforms" we have, but I think the dire prognostications for the others are too pessimistic.
The author missed two key selling points of web apps. Firstly, users don't need to install to use web apps. They just need to open whatever browser and go to whatever url and the app is already there. Imagine if users have to install 100 desktop apps to have the same set of features which 100 websites offer. It's normal before the web era but ridiculous now. Secondly, web apps enable extremely fast iterating development and release. You can ship new versions as quick as you want, no delay, no real downloads, absolutely transparent to users. Essentially web apps and desktop apps are the same in the sense that they both depend on APIs. Web apps depend on remote APIs and desktop apps depend on local/native APIs. The more local dependency you can remove, the more powerful the apps can be. Therefore, web apps are much more powerful than desktop apps and desktop apps making uses of public APIs such as Twitter APIs, Facebook APIs are somewhere in the middle of the spectrum.
No install but in most cases you have to create a login, and the confirmation email often goes to spam.
As for power, that all depends on your needs. 3d on the web is still on the weak side of weak. Offline access is still a major issue. Not to mention the tedium of single file uploads and zero OS / device integration.
Despite its obvious flaw, the iPhone store has struck a brilliant balance in many ways. The install, update, remove cycle is way easier that deleting an account or uninstalling from the desktop. In most cases iPhone apps are just nice desktop interfaces for web apps (reinforcing the author's point.)
In the Gates / Jobs interview Steve said that he believed people prefer a native experience w/ the power of the cloud to a pure cloud experience. Which is essentially what the author is saying.
The lack of installation leads to another selling point of web apps. Security. Whenever I install something on my computer I instinctively flinch as I realize that I am handing over the keys to my car so to speak.
With regard to UX, web development is a pain in the ass. It's 1000x easier to create a smooth and well developed UX on the desktop than it is on the web.
I believe the web will eventually replace the desktop all together but that's not until it has better access to hardware, especially the GPU.
The frustrating bit is how slowly progress in this arena has developed. 10 years later we're still having the rich vs reach argument.. Why can't we have both already?
The answer is better browser-independent (as far as that's possible) libraries, I think. jQuery and Cappuccino are definitely steps in the right direction.
While I think JQuery is an impressive library, I think it is light to replace a full desktop UI programming model. As well Cappuccino favors the developer over the designer, in saying that their Atlas tool goes along way to remedy that. Currently, (my personal opinion) I think Dojo and to some extent YUI have the most robust libraries to replace the desktop UI development model.
The author of the article fails to mention maintenance. This is probably one of pains of desktop applications. It has been greatly improved by automatic updates (I think everything does that now), but you still have to remain backward compatible. On top of that, he doesn't mention that "the desktop" is still a very fragmented field. The last time that nut was attempted to be cracked we got Java..
The best thing about the web is that it slows down UI development, and forces developers to actually think about what they are doing.
It also makes it easier to run a decoupled data / interface system, rather than GUI development, where it's easy to build the data and models into the interface.
Web development is like going through a minefield with your feet tied together. It's not ideal, but at least it slows you down.
So cashing solves the problem? I think not. I changed my mind, switch to different project, Where are those images I forgot to catalog, I have Pandora open.
Hey, the Internet's broken. Cashing is not the answer.
People seem to be conflating client with network. There is no reason that we can't have "web apps" that use a sandboxed client like the browser that isn't hamstrung by the limitations of html and css.
The authors assertion that 'web APIs' can make desktop apps a replacement for web apps doesn't make any sense. Without the web app their are no APIs, Tweetie may be a great app but it can't function without Twitter.
The power of web apps is in the interoperability and reach. The fact that I can access an app with a desktop interface, or through a browser, or on my phone, or on another browser is what makes web apps 'win'.
A Desktop app using 'web apis' is just an extension of a successful web app, but that's fine, it's all about building the right on-ramp for your users. Whatever gets them using the app is the right answer. But whether you're accessing it through a browser or native interface the web has won, there is no refuting that.
Any statement that argues that X is stupid and arrogant, where X has a sizable population or market is flamebait, and that applies to PPK as well as "Michael Galpin".
Yes, the web is trendy, and as such it is full of arrogant wannabe-developer hangers-on making all kinds of ridiculous claims and prognostications. I suppose they deserve to be called out just for being insufferable douchebags, but there is one very important issue being ignored:
The web is a true open standard in a time when computerized technology is crossing the chasm and increasingly the powers that be will seek to control everything in order to squeeze whatever profit they can out of it at the expense of all future progress. I don't really believe companies like Apple are the real problem, but over time, proprietary platforms will provide opportunities for mega-corporations to lock in consumers. Up until 20 years ago or so it was very hard to get any kind of lock-in because it was still mostly early adopters and hackers who owned computers. However once the majority of the world is online, software matures and hardware becomes more complex to manufacture, the inertia of existing technologies will make it harder and harder for disruptive technology to get a foothold.
That is why even though the web is inferior to native APIs by numerous qualitative measures, we need to support the web and really push for more "native" APIs to be build on top of standard tech like javascript (where feasible), and also continue pushing standards to improve.