[Unity] has received a number of additions, all built around the idea of demolishing the walls between local applications and web applications
Here's the thing why Ubuntu is on shaky ground these days.
The above idea is grand but like everything that tries to be the future of something—in this case computing—it leaks. And leaky things will never take off for real much like leaky abstractions will not hold because the truth will leak out sooner or later, and then the abstraction isn't worth much since you can only trust it superficially.
The early Ubuntu and Windows 95 and XP had something in common: they all were built mostly on how the computer worked. These operating systems tried to make the underlying computer available to the user, give or take a few sugar-coatings. And they all pretty much succeeded.
Conversely, I think most systems that try to pretend to be something that they aren't will not succeed. Web applications won't become local applications just like that: the user will just see some visible glue that holds some parts together. You've seen it so many times: something comes with great features that only work till you really want some things done, and then it turns out the system doesn't do its magic all the way through. You just see the one kind of magic that has been preprogrammed into it and you've already observed that besides an initial impression, that one kind of magic can't deal with everything you need from the system. Then you can't trust the system anymore since you know there's more available than the system can agree to offer you.
Ubuntu is still basically a local installation: some stuff can originate from the cloud but it can not be a grand computing environment that unifies web and local services because it matters that the user has his own local installation. You can't boot Ubuntu from a USB stick and have your environment seamlessly load from the cloud.
Something like Android or iOS are much better positioned for seamlessly integrating local and web applications and local and cloud services. Using a tablet interface you don't really have the sense of local vs. web at all: you just have apps and once you sign up another device your apps will be available automatically. This is maybe what Shuttleworth is envisioning with the Unity and his current plans for Ubuntu, but the downside is that the regular Ubuntu desktop will suffer.
Ubuntu suffers because it doesn't pay respect to its natural, physical environment that is a local computer. It can be a highly tuned system that takes the most out of your hardware or it can be an ethereal, ubiquitous cloud service that's available regardless of hardware. But not both.
This is pretty insightful, this bit in particular:
"Ubuntu suffers because it doesn't pay respect to its natural, physical environment that is a local computer. It can be a highly tuned system that takes the most out of your hardware or it can be an ethereal, ubiquitous cloud service that's available regardless of hardware. But not both."
Emphasis added there at the end.
My claim is that "we", folks who engineer software and create products, have made those software products indispensable to folks who never used to care about computers much less shell out money to own one. They never did want to buy a computer, they don't want to buy one now, what they want is the function that is provided by some app or collection of apps. These people want to follow tweets, or facebook, or chat, or see cat pictures, they buy computers to do that because they have to, not because they want to. What is worse, the 'computerness' of computers, their re-programability, their flexibility, causes more problems for these people than it solves. They want turn-key, instant on, instant off, tools.
And folks are making these tools for them, Chromebooks, and iPhones, and iPads, and Slates and Surfaces. They are marketed as tools that get a particular job done, not a universal tool. Can you imagine a power drill where you take the motor off and use it in your mixer, then take it off and use it in your desk fan, and then take it off and use it to pump water and wash your deck? No you get separate tools for those tasks, and they all have a motor in them but the motor isn't universal, its optimized for the tool. We are moving that way with processors. No more 'boot whatever you want' no more manuals describing the instruction set or peripherals, no more general purpose tool chains or operating systems. Processors designed to do one thing well like be a 'phone' with proprietary value added parts (like a GPU) and special instructions (like Jazelle) which you only get to know about if you agree to buy a million a month and design it into your specialized product.
The needs of an operating system for one of those devices is very much different than the needs for a programmer or developer's operating system. Sure they share some things in common (both render to a screen) but how or when they do that, and what API they use, those things are important to a developer but not to a tool/appliance user.
Yason is exactly correct that Ubuntu is standing astride this crevice while it widens underneath them. Soon, unless steps are taken, it may find itself neither fish nor fowl, an unacceptable environment to developers (too closed off) and to appliance users (too technical). Personally I'd love to see two distros in Desktop one is "End user" and one is "Developer" with very different design targets.
Here's the thing why Ubuntu is on shaky ground these days.
The above idea is grand but like everything that tries to be the future of something—in this case computing—it leaks. And leaky things will never take off for real much like leaky abstractions will not hold because the truth will leak out sooner or later, and then the abstraction isn't worth much since you can only trust it superficially.
The early Ubuntu and Windows 95 and XP had something in common: they all were built mostly on how the computer worked. These operating systems tried to make the underlying computer available to the user, give or take a few sugar-coatings. And they all pretty much succeeded.
Conversely, I think most systems that try to pretend to be something that they aren't will not succeed. Web applications won't become local applications just like that: the user will just see some visible glue that holds some parts together. You've seen it so many times: something comes with great features that only work till you really want some things done, and then it turns out the system doesn't do its magic all the way through. You just see the one kind of magic that has been preprogrammed into it and you've already observed that besides an initial impression, that one kind of magic can't deal with everything you need from the system. Then you can't trust the system anymore since you know there's more available than the system can agree to offer you.
Ubuntu is still basically a local installation: some stuff can originate from the cloud but it can not be a grand computing environment that unifies web and local services because it matters that the user has his own local installation. You can't boot Ubuntu from a USB stick and have your environment seamlessly load from the cloud.
Something like Android or iOS are much better positioned for seamlessly integrating local and web applications and local and cloud services. Using a tablet interface you don't really have the sense of local vs. web at all: you just have apps and once you sign up another device your apps will be available automatically. This is maybe what Shuttleworth is envisioning with the Unity and his current plans for Ubuntu, but the downside is that the regular Ubuntu desktop will suffer.
Ubuntu suffers because it doesn't pay respect to its natural, physical environment that is a local computer. It can be a highly tuned system that takes the most out of your hardware or it can be an ethereal, ubiquitous cloud service that's available regardless of hardware. But not both.