Linux in desktop... with Android?

Once upon a time, I put my faith on Qt as the future of Linux UI, but recent developments in Nokia put a shadow over it.

Another problem with Qt, even assuming it will be well-maintained in the foreseeable future. is the multi-platform nature of it, which inherently limits speed and powerfulness. Don't get me wrong, I love this aspect of Qt (e.g. developing on a Mac and just recompiling for Linux and Windows), but the fact is: a primary UI toolkit must be platform-specific to be full-speed.

Having to use a different API for each platform has been presented as the worst thing in universe, but in fact developers have shown that they can just cope with that. You see games being released for XBox and PS3, applications being released for iPhone and Android and Symbian, and so on.

Even imposing a specific programming language, which looks like the utmost horror, has been swallowed. Learning a new language is not that difficult, after all. This is more evident in mobile development: Android is tied to Java, iPhone/iOS is tied to Objective-C, and nobody swears them off because of it.

Honestly, I don't understand why those modern platforms don't elect some interpreted language (like Python or Javascript) as a first-class tool. This compile-to-opcode thing is so 1990... But let's admit that this "error" has been committed by just everyone. Wasn't Gnome going the .NET way? The only platform that did the right thing (defining "right" as "as I like it") was WebOS.

But, as everybody else, I have to cope with this fact of life, so I learnt a bit of Objective-C, refreshed my memories about Java, and so on.

If we look in retrospect, this visceral demand that Linux folks have around interoperability, language neutrality etc. has cost a lot to Linux desktop. People wonder why Linux did not take off in desktop. Problem begins with X11, the sacred cow. In all other use cases where X11 is not used, Linux has a strong position: servers, cloud computing, embedded devices, Android...

Departing from this subject a little bit. I have observed an interesting effect in platforms since the 1990s: the migration from smaller to bigger metal.

Windows gained traction in server side because people were accustomed to it in desktop, and it was desirable to have the same "face" at servers. Linux has a strong position in servers possibly because the current generation of administrators began the career playing with Linux in a small firewall, or insisting in using it as a desktop.

Now, it is pretty clear that iOS will take over Mac OS X. At the very least, new UI features in OS X will be dictated by trends in iOS. This is natural; my 2-year-old son sweeps fingers on MacBook screen and is bemused when it doesn't work like the phone. I have caught myself touching the iMac screen subconsciously to press a button :P

Currently, the most (or only) successful Linux UI is... Android. It is for mobiles, but is scaling up in order to support tablet-sized screens.

So, why not adopting it in desktop?

Desktops will "die" anyway. Big PCs have been replaced by notebooks. A fair share (if not most) table PCs (like iMac) use notebook hardware to save energy, so the only reason left to buy e.g. an iMac instead of a Macbook Pro is the big disk or the nice monitor.

The next shift is the tablet computer: in the near future, I see most people buying a tablet instead of a notebook, and connecting a Bluetooth keyboard and mouse to it when needing to do "serious" work.

So, Android (or something else) will be in your "desktop" in one way or another. It would just be matter of accepting this fact a little earlier, and at the same time solving this fragmentation problem in the quest of Linux-for-desktop.