Where is my Linux phone?

Darkblue World
20 min readAug 25, 2021

--

I have been a Linux user for more than two decades now. Back in 1998, when i first sat down in front of a black and white console i could have not even imagined what impact it will have on both my professional and personal life. I was young, inexperienced with computers and imagined my future in any field, except a technical one. Truth be said i was never too technically inclined, my interests always revolved around arts and humanities and i would have never thought i would end up as a Linux system administrator, but that single word on an old monitor was an invitation i could not resist: login. So i did and i stayed logged in for the past twenty years. And what a ride it has been.

Having been involved with Linux for such a long period of time it gives me the possibility to grasp and truly appreciate the advances Linux has made in this period. From a server perspective Linux was already a major player, but as a desktop it took a lot of determination and willingness to accept compromises and, why not, sometimes defeat. Just installing a Linux distribution and configuring the system to get a usable desktop was not for the faint of heart or for the lazy. A wrong click or command during the install or afterwards could easily render the system unusable or in a broken state that required serious knowledge to fix. Perhaps that is why in my first week i reinstalled Linux more than thirty times. Easy and quick access to the plethora of information we have today was non-existent and reachable help was in the form of close friends and maybe IRC channels. This is how Google looked back in 1998:

Looking back one can do nothing but appreciate what we have today. Fast forward to 2019 and it’s a totally different world. Linux is not only powering servers and it’s not just a geek toy. Minimal knowledge is required to have a fully functional desktop with just a few clicks, a desktop that not only has all the tools one requires to do one’s work, but it’s beautiful too, a task that once seemed unachievable. You can test any distribution without the fear of breaking your system thanks to live CD’s. I have never been a gamer, but Linux is slowly becoming adequate for such usage as well. Reach into your pocket and you will probably have a smartphone that was made possible because of Linux. Internet of Things, this technology that not only spawned an era of wonderful possibilities for various industries, but has also reached everyday household items is Linux’ newest child and a very successful one even if it’s still in its infancy. Even Microsoft loves Linux — now that’s a bet i would’ve surely lost twenty years ago.

So Linux is everywhere, and billions of people use it every day in one form or another whether they realize it or not.

Yet there is one field where Linux, real Linux, the Linux we are accustomed to on our servers and desktops has yet to make a major breakthrough: the smartphone. But wait, didn’t I just say that you should reach in your pocket and find Linux? Well, yes and no. Yes, because the operating system running on your smartphone is based on Linux (or some variant of Unix), but it’s not really Linux, is it? Android, iOS, Tizen, Sailfish, webOS, KaiOS — just to name a few — are all rooted in Linux, but they are so different that they rightfully rock a different name. Developers know this and that is why there are projects like Ubuntu Touch, Plasma Mobile, postmarketOS, Librem and the newest addition, eelo. While many if not all of these projects were spawned from the desire to offer a Google-free device i think the secret dream of the developers behind these projects is the holy grail of having a pure and real Linux smartphone. Which makes sense, because if the goal is solely to have an operating system free of Google services one can easily achieve that by using any of the myriad of custom Android ROM’s, while still retaining the comfort of having access to tens of thousands of applications. So one could be very privacy conscious and still use Android so no, I think that creating a new mobile operating system is about much more than offering a Google-less alternative or revolving around security matters. And developers know this very well.

One bad thing about trying out these projects is that one needs quite a few different phones. Literally. Also there are various degrees of usability, starting with “it can be installed on this device and it should boot without error” right through “most things work except making calls, WiFi, camera and/or some other sensor” and ending with “everything works, except a non-critical feature”. Which is basically saying anything between “this is a concept” and “if you are brave enough you could try and use it as a daily driver”. The good thing is however that most projects will support an older generation mobile phone which one can get quite cheap on the used market. I think there is no compelling reason to write about projects that are still basically proof of concept ideas (plasma mobile, Librem), not aiming for the main reason of having an open, true and real Linux (Tizen, Sailfish) or who just want to repackage the idea of “Google-free” (eelo). These will be the subject of other articles. Right now i would like to focus on a project that is very close to the ideal and it makes a decent, usable, mostly error-free daily experience: Ubuntu Touch.

I was as excited as a puppy back in 2013 when the Ubuntu launched the crowd-sourcing campaign for its Ubuntu Edge smartphone. It ticked all the right boxes: it was a high end device (strong processor, lots of ram, plenty of storage, good camera), when used with a monitor, keyboard and mouse it would have been able to operate as a conventional desktop PC running Ubuntu, was also designed to support dual boot to run along with Android and it was backed up by a financially solid company. The geek in me was overjoyed, could not believe this is possible and happening. And it wasn’t. The campaign fell short of achieving its goal and was later dismissed and forgotten by Canonical. So much for the hopes and dreams of millions of people. Obviously I — and probably the rest of the world — knew that the reasons behind this flap were purely economical and the decisions were made based on harsh and cold business calculations. It still was a bitter pill to swallow because, as i said, in my opinion ticked all the right boxes: such a new and revolutionary device had to be premium for people to consider it — multiprocessor, 4 GB RAM, 128 GB ROM, 1280 x 720 HD resolution, Dual-LTE, stereo speakers, MHL and USB OTG in 2013 put it in line with or above the creme-de-la-creme of the day, Nexus 5, Apple 5s and Galaxy S4; the idea of transforming your mobile phone into a full fledged desktop was obviously a much needed one and it surely would’ve been appreciated by professionals; the fact that it ran Android as well instantly opened the market for hundreds of millions of potential customers who even if they were to stick with Android could’ve provided the income necessary for Canonical to continue the development and support of Ubuntu Edge; and the fact that such a solid and financially potent company as Canonical was backing up the project gave it credibility. Most important though, it was running the closest thing to Linux as can be. Unfortunately none of this was enough to bring the device to life.

Like many of you i kept however following what happened to the project. I read articles and watched a ton of videos. Apparently the preferred devices for most projects are the Nexus 5 and the OnePlus One. So eventually i ended up buying a used OnePlus One just to be able to flash Ubuntu Touch and get a first hand experience.

Right from the start one can tell what the main motivation behind a project is by looking and using the installer and Ubuntu Touch has probably the easiest and best native installer of a mobile OS there is. Besides making it available to any desktop operating system it is easy to use, simple to understand what it wants the user to do and it just works. The installer even unlocked the bootloader of my OnePlus for me and installed Ubuntu Touch without any fuss or error, all i had to do was to enable USB debugging in developer settings. That’s great, because i really don’t care how an OS is installed, but rather what an OS is capable of so if you can make the installation process as simple as possible for me so that i can get to what really interests me as fast as possible then you already have my attention. Would I have still installed Ubuntu Touch had they provided a difficult and laborious install procedure? Absolutely, but that is because i have the technical skills and a strong motivation. Do i appreciate the easy to use installer and does it make me appreciate the project more? No question about it. Remember, i am on the quest of finding a Linux mobile OS that works and can be used as a daily driver, relaying on my technical knowledge to solve problems that may arise during common usage, i am not a developer, therefore i am not keen on knowing, understanding or dissecting the core of it all.

So the installer was the first very pleasant surprise. The second pleasant surprise came after the system booted and i saw the clean, polished and beautiful interface. This was definitely not just an experimental, proof of concept interface. It was fluid, everything scaled well, fonts rendered perfectly, there were no hiccups, icons and navigation not only worked flawlessly and — sorry, but i have to say it again — it just looked nice. I can’t emphasize how important it is for a device one uses many hours each day to be pleasing to the eye. It was obviously not as fast as an Android is on the same device, but i wasn’t expecting it to be either and it was not slow by any means. I got accustomed very quickly to the gesture based navigation which i found to be very intuitive, smooth and easy to operate — something unfortunately i still can’t say about Android’s gesture based interface. Truly, after watching tens of videos i can say that the experience is by far above anything i was expecting. My next stop was the System Settings where i found everything i needed to configure every aspect of the phone that matters. I could setup WiFi, Bluetooth, Hotspot, all worked out of the box; i could add multiple language spellers to the keyboard; i could set the type of notification for each and every application — sounds, vibrations, notification bubbles and lists, although there is no option to set different notification sounds for each app; i could set up app permissions for every app separately; there even is an option to add accounts (like google accounts) right in the system settings so that every app that uses that provider already would have the login details saving one from entering the same information again and again. Truth be told, i found nothing that would lack and be a deal breaker for me within settings. Nice to have things? Plenty, but those come in time and don’t make the actual state any less usable.

After checking out the operating system, how it works and what it offers by default the next stop was the application store, aptly named OpenStore. I already had an idea of what to expect because all the apps can be found online on https://open-store.io Now, as everybody knows, applications have become the de facto gauge of any operating system and the “there’s an app for everything” mantra is what makes the operating system a real contender or just an obscure experiment. My personal opinion about this is that it puts the emphasis on the wrong quality, however billions of users will instantly disagree with me and who could blame them. Smart phones had long passed beyond the status of “a phone that also does something else” to “a lot of things you can do with your phone, oh, yeah, also making calls”. Developers are smart people and they know that if they want to have the slightest chance of succeeding with their product they must provide users, regardless of their habits or technical skills, the tools they need in the form of apps. Regardless of what you or I think about Google, Facebook, Microsoft, Amazon and other giants the harsh reality is that unless you barricade yourself from the world you at least need to be able to communicate with the rest of the world who is using these platforms. But more importantly, this isn’t an issue of not using these services anymore, it isn’t a question of freeing your device from Google, that is relatively easy to do nowadays; just install a custom Android ROM without Google services, spin off your own NextCloud/email/chat/whatever server and you are good to go. And from this respect Ubuntu Touch does its job admirably. For the Linux system administrator in me it offers plenty of tools to do my work and be able to serve my customers as well as take care of my own needs regarding communication, but that is because i already have the infrastructure to do it — i have my own email server, my own NextCloud server, i already sync my calendar and contacts to my own machines etc. Ubuntu makes up for the rest, it gives the possibility to connect to my OpenVPN instance, provides a very capable terminal, it has a 2FA application, I can even use my phone to boot a PC with a Linux ISO right out of the box, something in Android one needs root for. In terms of casual usage i can browse the Internet with a more than capable browser, watch videos, listen to music, organize my photo album, even be available on Twitter, Facebook and WhatsApp should i choose to. In this respect Ubuntu Touch seems to be light years ahead of any competitor.

Developers are smart people, did i already say that? Never mind, there’s no harm in repeating it. And developers everywhere, regardless of the project name, scope or entity backing it face the same question: how can we provide our users an operating system that is built upon our values and philosophy and at the same time give the users what they need? Notice i write what users need, not what they want. Sometimes the two notions overlap, but ultimately it boils down to developers making choices on behalf of their users based on usage patterns, user feedback and the application’s purpose. Do users need a weather app? Yes. Do they want a thousand apps that do the same thing, namingly show the current and predicted weather based on their location or interest? Maybe, but they most probably don’t need it. Do users need a photo gallery? Most certainly they do. Do they want tens or hundreds of applications doing the same thing? Hardly. Is there really a need for an application that displays the news of an agency when one could just as easily open their mobile optimized web site and get the same information? Do users need an application to be able to do banking? Do they want their own specific bank to work on their phone? A most definitive yes to both questions. There are hundreds of banks worldwide, not to mention the rise of fintechs which operate exclusively through a smart phone app. As you see, even if you are a purist and don’t do any gaming, even if you don’t use movie or music streaming services and use minimal social media there will still be things you will only be able to manage on your phone; some things you can live without, some you simply can’t. Let me be more specific.

When using Ubuntu Touch i can, as i said, do all the basics and quite a bit more. From a purely user perspective I can make and receive calls, send and receive messages, browse the internet, listen to music and watch videos both offline and online, be connected to social media. These are things that a few years ago made the phone “smart”. All these services are natively supported by Ubuntu Touch. Then there are services that are available through the browser like websites of news agencies, text and spreadsheet editors or even navigation, i am perfectly fine not having an app for them, even if it is a bit cumbersome. But how do i access my bank or my fintech account? How do i manage my smart lights and smart plugs, my network cameras, my smart wearable, my network printers or my smart lock, how do i pay for my bills or make a flight reservation? This is not the “nice to have” category anymore. Even paying for a fare ticket can easily be done today by scanning a QR code with an application or by NFC. These are all things that are part of our lives as ordinary people, much like a microwave oven or washing machine is with little regard how technically savvy one is. Some of these are mandatory unless you choose to live in a cave and some are optional and if one wants it bad enough one can live without them, however there is no denial all of the above contribute to the quality of life. Just imagine how much time and energy you spare by paying your bills online when you don’t have to stay in traffic going to and coming back from the utility company’s office, not having to stay in line, not to mention all offices have a fixed schedule and arriving five minutes later will surely make your presence there futile. Or how convenient it is to be able to manage your lights or your plugs based on your needs, not to mention that with that you can also go easier on your expenses. So, having a smartphone nowadays is much, much more than reading email, chatting with a friend or relaxing while watching videos with cute kittens. Like it or not, shout friend or foe to these apps, they are here to stay and dare i say, they are here to multiply. And casual users are one thing, even if we just saw that “casual” means a lot more than we imagined. There is a lot of hype in each and every industry for automation and AI. Industrial machines worth hundreds of thousands of dollars can now be managed or at least supervised in a very effective way with smartphone apps. The “casual” user at home can very well be an engineer at the workplace who needs to manage such a machine. The boundaries of casualness are slowly fading away.

Developers of mobile operating systems know this and they also realize there is a limit to what they can do in order to bring those apps onto their platform. Obviously no company or even single developer will bother porting its app to a new, untested and mostly unused platform. Blackberry 10 was a terrific operating system, yet Facebook refused right to the end to create an official app for it — and i am sure it was not the lack of money or resources. Smaller companies or freelance developers have even less incentive to pour their energy and time into such endeavors. As such developers of mobile operating systems have only one task, albeit a huge one: create compatibility with an existing, widely used OS, and the obvious choice for this is Android. The trouble is that this is way, way more complicated than it sounds. Ubuntu Touch has a similar approach with Anbox — a shortened form of ‘Android-in-a-Box” — which “allows Android apps to execute in a container in a more native way rather than the more common approach of using an Android emulator, which compromises performance and usability” (https://ubports.com/blog/ubports-blog-1/post/android-apps-on-ubuntu-touch-with-anbox-77). The Android emulator is the path also Blackberry 10 took in an effort to close the application gap between its own OS and others and make their devices more appealing to users. It failed, because even apps that did run with the emulator were slow and crashed often, many didn’t work because they were dependent on Google Play Services and many more again didn’t work because the Android emulator simply couldn’t handle them. Also the rapid deployment of new Android versions every year and the major modifications Google brought to Android’s core system meant Blackberry just simply couldn’t keep up maintaining the runtime which in turn meant even fewer Android applications worked and even the most motivated programmers slowly quit releasing their apps for BB10. Eventually BB10’s Android emulator got stuck at Android 4.3 where it still is today; in the meantime Blackberry did the only logical thing and moved completely to Android, giving up on its own OS which is due to become officially obsolete and unsupported at January 1st 2020. Despite having an excellent OS which in some respect was superior to any other they lost the war.

While Ubuntu Touch tries a different approach to get better results by using a container based solution rather than a general emulator the results are more or less the same from a user perspective. While apps do load acceptably fast the general experience within the app is quite poor, with jerky scrolling, annoying lag times (especially when it has to bring up the keyboard which funnily is the android keyboard not the native one) and quite frequent crashes. And this is the situation with very simple apps. Installing apk’s is well documented and actually very easy as long as you don’t mind typing in a few short commands. However since that is highly impractical i installed F-Droid and continued installing from F-Droid the following apps: NewPipe (awesome YouTube client), RedReader (reddit client), RadioDroid (online radio), Riot.im and RocketChat. All of them i use on a daily basis, none of them have any special requirements, they are established apps that have a long history of development behind. None of them performed well, with some of them not fulfilling their basic task — for instance NewPipe refused to output any sound. Sadly Firefox or Chromium would crash right after start. The other major problem was that navigating within the app was a real leap of faith, since unless the app provided the necessary shortcuts i had no way of going back to the previous menu. The overall experience however was less than desirable and even if i was willing to wait for the app to do its thing i just had to give in eventually out of frustration. I then tried to install some of the apps i mentioned earlier (such as controlling my smart plugs, banking etc) and unfortunately some of them didn’t install, some would outright crash and some would open but that’s about it.

Another Ubuntu Touch neat feature that geared my hopes up is Libertine. In a nutshell Libertine allows you to use standard desktop applications in Ubuntu Touch. You can set it up within System Settings and while it does take A LOT for the first initialization it’s quite easy to use and install Linux apps as long as you know the exact package name you want to install. Since i was aware from different videos that apps like Solitaire, Mahjongg, Gnome Calculator, Kate, Terminator do actually work these are apps that don’t really bring value to the system. So without much thinking i installed Gnome Commander and i instantly realized the problem with Libertine apps: they are unusable due to inappropriate UI scaling on the touch interface. I suppose they may be usable when converged to a monitor, but most of the time they will be used on the phone. This is a shame, because the very thought of being able to have a Linux smartphone that can natively run Linux applications seemed to make up for the trouble of not having proper Android compatibility. As it is now however, Libertine is indeed just a proof-of-concept, albeit a very good one and i sincerely hope the developers will keep working on it and make it usable.

So where does this leave us, or rather, where does it leave me? I stick to the opinion that Ubuntu Touch is one of the best, if not the best implemented real and totally different Android/iOS alternative out there. It’s easy to install, there hardly is any learning curve operating the interface, it provides more than enough setting options by default, all the basic apps are there or can be found in its store, it’s polished, responsive and beautiful. To achieve such a high level of performance is an extraordinary example of perseverance and knowledge and i think the people behind Ubuntu Touch should receive nothing but praise. It is once again a palpable and compelling proof — if there still is a need for such in this day and age — that Open Source Software is and can be a mature, viable and user friendly choice. It feels me both with pride and humility because people like the ones behind the Ubuntu Touch project — and many many other projects — are the ones that kept me using almost exclusively Linux for the past twenty years and brought innovations that were unimaginable barely two decades ago.

Can Ubuntu Touch be used as a daily driver? Well, yes and no, but mostly no. If you have a compatible phone (a Nexus 5 or a OnePlus One) or you can get your hands on one and are thinking about a first phone for your child or your parents and you have the skills required I’d say try it out. My 12 year old son was rocking a dumb phone and I really didn’t want to upgrade his phone just to be in line with his generation. So I reset my OnePlus One and gave it to him and so far, after two weeks of usage I have yet to find a feature he desperately needs, but Ubuntu Touch doesn’t provide. Anybody can call him and he can call anybody back, reception is good, voice is clear; if he needs to communicate with someone through messaging he uses SMS or Telegram; he is not much of a photographer, but he came back from a recent school trip having made tens of pictures; he reads a lot of articles in his browser; his email account is working flawlessly, he can send and receive emails like a pro, and just like a pro, he opens his laptop when there is serious work to be done; he is listening to his own downloaded music or online using the excellent native Cloud Music app; he is devouring audiobooks from LibriVox (native app) and wasting just about enough time on YouTube. Everything is included by default or available in the OpenStore, no apk sideloading, no libertine apps. Now i am considering replacing my parents’ in law’s old and slow Android phones, because Ubuntu Touch would provide also for them everything they need. So if you are in a similar situation i would encourage you to do the same. If it doesn’t work out you can always flash an Android ROM on the phone and move on. As far as I am concerned however I have no choice, but to keep using my Android. There simply are too many applications that I must use on a daily basis that either don’t work or don’t have a correspondent on Ubuntu Touch. I don’t use much social media and i am not a gamer and I’m not addicted to online multimedia, but I do have to pay my utility bills and have access to my bank account, be able to manage my lights, plugs, locks, cameras and it’s nice to hop onto the bus and just buy a ticket with my phone.

The most important question is not however if a true Linux smartphone satisfies my needs or not, but rather is a true Linux smartphone an idea worth chasing for in this day and age? With all the application gap and lack of interest why would anybody invest time and money into yet another “alternative”? There is also the financial aspect. The two major — well, exclusive really — mobile operating systems today are backed by multi-billion companies that have nearly endless resources to put into development and also the financial stability to take a hit every now and then without the danger of bankruptcy, are serving an estimated 3 billion users, covering 98% of all mobile usage in the world. Android boasts more than 3 million, Apple more than 2 million applications in their appstores. These are difficult numbers to tackle. Think about it, even Microsoft, one of the top three richest companies in the world gave up its own mobile OS. So, realistically speaking, the chances of a new major player in this extremely tight system are almost non-existent. Trying to use Android apps within an emulator or container will always result in a poor experience for the user and many apps will simply not work. Although attempts are being made to shift towards more standardized HTML5 based applications I don’t see developers rushing towards it — native code still is the best choice. However I also think that developers of different Linux based mobile operating systems should work together; just imagine the possibilities if you brought under the same hood all the developers of Ubuntu Touch, Librem, Plasma Mobile, Replicant and why not, even SailfishOS or FirefoxOS, all working together to create one great product, backed by a strong company like Canonical or Red Hat, or why not, a consortium of companies. Their product would probably not take the crown away from Google or Apple, but it would spawn new technologies and some much needed real alternative.

And maybe, just maybe, a true Linux phone i can use as a daily driver.

--

--

Darkblue World
Darkblue World

No responses yet