I think this goes far and beyond Enterprise play or anything of that nature. There is a lot at stake here.
This is a response to a bigger paradigm shift that is the web and software as a service and Mobiles.
If you are on Windows XP and windows 7 rolls out, you have the option of upgrading, not upgrading or switching to a Mac (or similar).
Gmail versus outlook is another good example. With Outlook you would need to shell out big bucks and wait for the next major release. A three year release cycle has really got to suck for the team. If your team's major feature X didn't make it in the current release, you could very well end up waiting another three years. Gmail's releases by contrast are liberating.
The Chrome browser versus IE is another glaringly obvious misstep. One doesn't even care about version numbers anymore and releases indiscriminately while the other feels like an antiquated behemoth that rears it's ugly head every few years and then goes back into hibernation for years. It's a shame, really.
The mobile landscape has shifted to something similar. My upgrades on iOS come seamlessly and effortlessly. Apple can push whatever it wants down upgrade pipeline without costs.
For years desktop companies have relied on pushing the hardware limits to force users to upgrade their hardware, followed by the operating system and consequently all the software running atop that OS. It has been a tremendous boon for every Windows-based software company, almost guaranteeing fresh inflows every three years. So this is going to have an impact on the entire ecosystem.
From a developer's perspective:
Software rewrites cause regression. Microsoft has been regressing all over the place, for years now, most prominently with their Windows releases. For anyone who doesn't write software for a living, regression happens typically when you rewrite a piece of code and in doing so reintroduce old edge conditions or have to re-tweak all the features around it. Only after that does the new rewrite start paying dividends.
Continuous release cycles sidestep the regression issue to some extent by making the iterations smaller and the features less jarring for the users (Windows 7).
As a consumer:
I like the AppStore model because it doesn't charge me for versions (I know that might note bode well for developers because lifetime revenue per app becomes fairly static. A good friend of mine is just completing a rewrite of his app and his entire existing user base will probably end up getting it for free. However, this is still the option of IAP, product SKUs or subscription models).
I'd hardly call Gmail updates liberating. Every time i am forced to check it, it seems to have removed another useful feature, or broken my web browser in some horribly misguided flash of "brilliance". Last I checked it is impossible to open email in new tab. At least I haven't found the Magical Arcane Only True Way To Use Gmail.
Unfortunately, the 'continuous upgrades in the background' model removes the user's choice of when to upgrade.
In some cases, I want to stay on an older version because a new release breaks compatibility with plugin X, or upgrading would require me to change a workflow that is working well, or because I have muscle memory built around the UI of the existing version, and I don't have to think when I use the app. If an older version still gets security and bug fixes, then I might only upgrade when the benefit (new features and improvements) outweighs the effort/cost required to adopt the new version.
It also encourages frequent, fad-driven UI refreshes, and this is worst seen with web applications like Facebook and Gmail. Every so often, Google Maps plays hide and seek with the terrain view button.
Sometimes, stability and a slower release cycle (while still providing timely security updates) is good. It prevents the developers from playing fast and loose with the UI, and gives them time to work out compatibility issues with the larger ecosystem.
How do you place the decision to upgrade in the user's hands, while avoiding a situation where 17% of computers in the world still run Windows XP [1]?
I think the biggest problem I have with the App Store model is that it seems to go hand in hand with planned obsolescence. Older versions of programs are no longer available for download (maybe not true for all app stores?) and older hardware gets quickly forgotten.
I still use an iPhone4 and my biggest mistake was upgrading to iOS7 (I suppose I could jail break it and downgrade it but doesn't that make it more of a pain for development?). It would be nice if there was an option to downgrade via Apple, but all old versions seem to get thrown out. That would not have been be a problem with the previous models of updating because I would have a physical copy of the software.
I understand that they just want to support the latest hardware because it makes things a lot easier for them and keeps costs down a lot, but it just seems so wasteful to purposefully break hardware with an upgrade.
If there was a choice between paid upgrades (with access to previous versions) and free forced upgrades, I would pick the former, but it seems like things are moving toward the latter.
Edit: "That would be a problem..." corrected to "That would not have been a problem..."
I am sure that a) now actual hardware was actually broken by upgrade to iOS7 and b) nobody forced you to install it.
OTOH I also had iPhone 4 with iOS 7, no problem.
Actually 8/8.1 runs better than 7 even on the same computer and Outlook.com is free. To be honest Chrome has killed my offices productivity this year with random hangs and high cpu on at least one person per day who sits in my area. Its a huge problem especially since a large amount of the web requires Chrome and some Google apps issue warnings unless you change the user agent.
This is a response to a bigger paradigm shift that is the web and software as a service and Mobiles.
If you are on Windows XP and windows 7 rolls out, you have the option of upgrading, not upgrading or switching to a Mac (or similar).
Gmail versus outlook is another good example. With Outlook you would need to shell out big bucks and wait for the next major release. A three year release cycle has really got to suck for the team. If your team's major feature X didn't make it in the current release, you could very well end up waiting another three years. Gmail's releases by contrast are liberating.
The Chrome browser versus IE is another glaringly obvious misstep. One doesn't even care about version numbers anymore and releases indiscriminately while the other feels like an antiquated behemoth that rears it's ugly head every few years and then goes back into hibernation for years. It's a shame, really.
The mobile landscape has shifted to something similar. My upgrades on iOS come seamlessly and effortlessly. Apple can push whatever it wants down upgrade pipeline without costs.
For years desktop companies have relied on pushing the hardware limits to force users to upgrade their hardware, followed by the operating system and consequently all the software running atop that OS. It has been a tremendous boon for every Windows-based software company, almost guaranteeing fresh inflows every three years. So this is going to have an impact on the entire ecosystem.
From a developer's perspective:
Software rewrites cause regression. Microsoft has been regressing all over the place, for years now, most prominently with their Windows releases. For anyone who doesn't write software for a living, regression happens typically when you rewrite a piece of code and in doing so reintroduce old edge conditions or have to re-tweak all the features around it. Only after that does the new rewrite start paying dividends.
Continuous release cycles sidestep the regression issue to some extent by making the iterations smaller and the features less jarring for the users (Windows 7).
As a consumer:
I like the AppStore model because it doesn't charge me for versions (I know that might note bode well for developers because lifetime revenue per app becomes fairly static. A good friend of mine is just completing a rewrite of his app and his entire existing user base will probably end up getting it for free. However, this is still the option of IAP, product SKUs or subscription models).