Is Android the key to the GNU/Linux desktop? Really?

Is Android the key to the GNU/Linux desktop? Really?


I have been talking about the convergence of telephony and desktop computing for years. Nowadays, more and more companies are announcing small devices ("netbooks") that will run Android -- and we are not talking about phones here. Is this the beginning of a new revolution? Or maybe not?

What is Android? The short answer could be "A framework made up of the Linux kernel, a rich set of libraries and tools and a Dalvik virtual machine". The Dalvik virtual machine can be seen as an highly optimised Java Virtual Machine (this definition is not formally correct, but it will do for this post).

This isn't the first time somebody tries the pair Linux+Java to create an alternative, heaven-like desktop environment. Sun tried something similar a few years ago: it was called "Sun Java Desktop". There was an "interesting" review on Linux.com about it and about the support offered. Nowadays, SJD has "reached its End Of Life. SDJ failed.

The next attempt to bring GNU/Linux to the desktop is being made by Ubuntu, which has undoubtedly made a difference in the GNU/Linux world. However, it seems that Ubuntu has brought GNU/Linux onto the desktop of many existing GNU/Linux users, but it hasn't quite eroded much of the existing desktop market. Despite my hopes and desires, it seems unlikely at the moment that Ubuntu will erode significant amounts of market share from OS X and Windows. It is happening, but it's a very slow process -- a bit too slow. I would like to see GNU/Linux on most computers within my own lifetime!

What about Android?

But Tony, didn't you love Ubuntu?

Yes, I still absolutely love Ubuntu; I think it's an absolutely fantastic GNU/Linux distribution. However, I feel that its main drawback is that it was derived from a server-orientated system. Users need to Apt-get applications (graphically, or using a fancy user interface). There are library problems, dependencies, and a not-so-clear separation between end user applications, support libraries and system libraries. Compare this to OS X, which is in my opinion the desktop operating system done right: an application is a self-contained set of files; to copy Firefox over, you do what you expect: you drag it onto a memory stick, and there it is. Old binary applications will run find on newer versions of OS X. When I installed OpenOffice 3.1 on my Intrepid Ibex Ubuntu system, I realised that there is just too much server-ness in Ubuntu, and that OS X got it just about right.

Today's contender

Fast-forward a few years: Google, after a few flops (OpenSocial? Google Answers? Google Checkout?), Google came up with something that has a real chance of seriously change the world: a fully free, client-side system based on GNU/Linux.

People have been using Android applications for a year now. There is a fully functional app store, where a lot of applications are available at no cost or as free software. Android comes with a strong separation between end-user applications and the environment underneath, and its applications can run on any Android phone without recompiling anything.

More interestingly, hardware makers are making (or are considering making) small laptops which will come with Android rather than Windows XP (!) or Ubuntu. This hasn't happened yet, but everybody is expecting it.

More interestingly, Ubuntu developers are talking about finding the best possible way to integrate Android applications within Ubuntu. This pretty much confirms that they expect Android to be "the next big thing" in the client-side computing world. Write once, run everywhere -- for real this time.

Right?

Early stages...

I don't know. First if was "network computing". Then it was Java. Now Android. As much as Android can be considered mature in terms of a phone-like environment. If used on a laptop, will it recognise your scanner or your printer? Will it recognise an external webcam? Will OpenOffice ever work on it? What about a secondary monitor? Will we ever be able to create proper Android applications in Python, or Ruby? These are just a few examples -- in some cases, other desktop distributions spent years figuring them out. The idea of having Ubuntu as a base operating system, and the Android framework to run applications, really appeals to me. Ubuntu's making great progress. The server-ish part of the deal can be managed by Ubuntu and Canonical, whereas the end user applications could be just Android. But this is just an idea -- yet another idea by a random author trying to predict the future.

In order for it to "work" in a laptop environment, Android applications should run as normal windows in the Window Manager, and there should be at least some freedom in terms of which language they are written in. Being locked into using just Java sounds utterly insane to me. These are the two major issues -- but I am sure there are others. And sadly, I am sure that between now and then (it might be a few years...) yet another contender will come along. And it will look just as promising.

Yet again the slice of computing world trying to grab Microsoft's dominance is fragmented, competing and in desperate need of direction.

We shall see.

Category: 
Tagging: 

Comments

ArtInvent's picture
Submitted by ArtInvent on

This is pretty much what I have been musing on myself. Ubuntu + Android. I had not considered "a not-so-clear separation between end user applications, support libraries and system libraries" to be a key problem, but I think you're really on to something.

But the real thing that may tie Linux to Android is that Android is being pushed by a behemoth company, and it looks like it actually will gain a very good foothill in a fairly green field, mobile phone. Thus Android conceivably have more users in two years than Linux desktop does. Next is that Android looks like it may have a shot on netbooks and nettops, where Linux seems to have had it's shot and (for the time being) failed.

You point out the drawbacks to Android and I would agree, the dependence on Java is pretty difficult. I would think that either Android would have to evolve and change somewhat to get past the limitations of this approach, or that a more traditional, wide open, full Linux distro might actually be a natural segue. In that sense, Ubuntu's approach seems to be pretty intelligent.

At any rate, I think that Android's success would be a win for Linux in general and a furtherance of the cause, even though it's maybe not exactly the way many of us would have wanted it.

Ryan Cartwright's picture

.. at least not in the sense you describe here (installing OpenOffice etc.).

The problem is that the defintion of "netbook" is too loose these days. When the EeePC kicked it all off we were looking at small devices with minimal storage and a browser. These days a "netbook" could well have a 12" screen and 160Gb HDD - that's a small form-factor laptop!

If you put Android on the latter - you will encounter the problems you discuss here. Put it on something with say a 9" screen, 8Gb solid state and 1Gb RAM and you might be getting somewhere. Add in a permanent net-connection and you will defnitely be doing so. On such a device office-type functions would probably go the way of e-mail (web-based). On such a device apps would need to be small and neat, not behemoth-like such as OOo.

As for Ubuntu running Android apps - I think they're just thinking that some nice apps will come about through Android and it would be a boon to both parties for Android apps to run on Ubuntu.

Oh and one of the downsides of having installation-methods like the ones you describe for the Mac is the size of the package. Libraries would surely have to be included within it wouldn't they? How does the Mac handle dependencies? I don't know because I've never used one.

--
Equitas IT Solutions - fairness, quality, freedom
http://www.equitasit.co.uk

Author information

Tony Mobily's picture

Biography

Tony is the founder and the Editor In Chief of Free Software Magazine