I was with you for that whole first list, but you lost me when you got to "control." Control for whom?
The people making the app. Yes, I know that makes freedom folk really upset, but let's set aside the whole "inalienable right to hack" for a sec. You are a large company, and you need to make an app that works for a lot of people over a wide range of machines. If you want to be able to maintain that app, you need a way to make sure customers are using exactly the right version, maybe even have multiple versions specialized for troublesome platforms. And then there's security--how do you make an app secure, prevent data breaches, etc?
For that, you need control. Can it be abused? Sure. But if you have to plan apps for a corporation and your butt is on the line if the app fails, you start to look at issues of control and freedom a little differently.
I'm not saying that it doesn't get abused--it does. I'm just saying there are realities of securing, maintaining and testing applications on a budget that are very difficult, and they only get more difficult as you release more control over the app. Do corps go insane and go too far? Definitely. But if we look down to some of the real problems and the practical solutions to those problems, controlling exactly what the user is using and where that happens is an effective tool.
The "Back to the Mainframe" approach of web apps gives you this element of control.
You don't control what program you're running. Someone else does.
Yep. And as I said in my original post, and here, that's a boon depending on your perspective. I'll grant you it gets abused, but if you are on a budget and you need a secure, maintainable customer facing application, you need a higher degree of control. And web apps are a modern way to do that.
The big problem I have with web apps is that almost none of them are open-source. Just when I have thousands of debian packages worth of applications to choose from, why in the world would I want to revert to a model where half the code is client-side code that I as a user have no control over, and the other half is server-side code that I can't even see?
As I've been trying to point out, your perspective is different from a VP of Tech for a bank or investment firm. And even if you weren't one of those risk adverse people, the advantages of a web app in terms of maintenance and upgrades is huge. Also from a development perspective, you have easily halved, if not quartered, your development costs. Cross platform development is very, very expensive. Cross browser development is expensive, but it doesn't even come close to Windows + Mac cross platform development, and never mind adding Linux to that mix.
I've done cross platform. The only way to keep it cheap(er) is to use something like Java. And then it looks like crap on ALL the platforms.
So, as a firm with a budget (and I think that excludes 99% of open source projects) web apps are very appealing. Unless there is a technical reason for why a web app just won't work, most firms choose it for those reasons. And even when it won't work, they choose the web app anyways and cut features to make it feasible--because the advantages of cheap, maintainable cross-platform development are not easily dismissed.
All that said, I can see why most open source people turn their nose up at web apps. It's not sexy, and it's often very difficult to do anything clever. And let's not talk about installation--now someone needs to setup databases and apache? Compare that to downloading a binary and just running, it can all be very tedious.
I've made my bread and butter off web apps. Heck, you could say web apps and Java bought my house! But the first real fun I have had in years was making an iPhone app. So I understand people who might not like web apps or regard them as a step back--I feel it too. But my next paycheck is coming in from a Perl, Catalyst-based web app that is customer facing.
So I work for the man to enslave the masses and maintain control during the day, and then I hack on my little apps at night :-D