Desktop Linuxes need to run Android apps
With the advent of $50-100 mini-PCs it has become painfully obvious that the low-cost computing market is shifting to Android. The mini-PC category is comprised of TV-sticks (MK802), set-top-boxes (MELE A1000G) and gaming consoles (Ouya).
All of these devices ship with Android mainly due to the huge application selection and SOC manufacturers support. According to the latest estimates, devices in this category already sell in the tens of millions range (per year) which is not only impressive but clearly shows a trend. Due to the fact that the hardware strength of these mini-PCs have quadrupled in a very short time-period, we can safely say that they will very soon compete with desktops for a set of roles (improvement from 1Ghz Cortes-A8 with 512MB RAM to quad-core Cortex-A9 with 2GB of RAM in one single year).
Where does this leave desktop-Linux?
Well, without serious adaptation, desktop Linuxes would not be able to compete in this segment mainly because SOC vendors don’t support desktop-Linux technologies (like Xorg). Canonical has already realized this and started moving to the right direction. Ubuntu has one of the best ARM support (I would say it IS the best) and its new ARM versions will be able to run on commodity Android hardware, mostly thanks to the design decision of Mir running on top of stock Android GPU drivers. Others also plan with this in mind (see the recent Wayland-port to stock Android drivers).
While Canonical has done the most necessary steps, they still refuse to support running Android applications which I think is a really bad decision. I don’t think that Canonical/Ubuntu can create a sufficiently strong developer ecosystem which is at least remotely comparable to that of Google/Android. Without this, most of the consumers will never consider replacing Android with Ubuntu on their mini-PCs (or buy a mini-PC with Ubuntu).
I strongly believe that desktop-Linux needs to build on the success of Android. Apart from re-using Android’s hardware support it needs to provide a perfect execution environment for Android applications. This is much-much easier to do than providing Windows compatibility since the two systems are both based on the same Linux kernel and Android sources can be used any time without much constraint.
Due to the extraordinary rate of ARM hardware development, I expect that Android will introduce a desktop-environment soon (this has been rumored for ages) since simply there will be no reason for not entering the desktop space. That will result in a lot of traditional desktop-oriented ISVs to come out with Android versions of their wares. With Intel porting every Android version to x86 right after their release, the new, desktop-capable Android version will gain ground on x86 quickly. I wouldn’t be surprised if, at this point, Adobe’s Photoshop Express for Android gains a lot of desktop-features or a light, Android-desktop-version of Photoshop gets released.
In an environment like this, desktop-Linux can only flourish if it can show extra value and compatibility with Android. Without leveraging the Android app ecosystem (running Android applications) the value proposition seems way too weak to me for the average consumer.
On the other hand, if desktop-Linuxes can run both Android apps and traditional Linux applications as equal citizens, then only the matter of distribution remains. With the added value, these OSes may be more appealing for OEMs, but only if their installation/customization on stock Android hardware is as easy as Android’s itself. With sufficiently strong hardware support and easy installation options a lot of people may decide to upgrade their mini-PCs to desktop-Linux since they would loose nothing but gain access to a set of high-power desktop applications (like Thunderbird and LibreOffice).