As a privacy-conscious individual, I rate smartphones among the worst inventions of mankind. Carrying such a terrible spying device everywhere I go and using proprietary apps with their incessant telemetry is high up on the list of things I would, as a free man, rather not do.

Unfortunately, simply avoiding smartphones altogether is becoming a major challenge in our modern times. Carrying a smartphone (specifically, a Google Android or an Apple iPhone) is increasingly viewed as what “normal”, well-behaved, responsible people (adults and, sadly, children from a fairly tender age as well) are expected to do.

If I could reasonably choose, I would absolutely not mind being stamped as “weird” for only carrying a dumb phone (Nokia 6310 or similar), reachable via calls and texts while on the go, but nothing else. I don’t need a pocket computer with a small display and a non-extant keyboard; as wonderful as these devices have become from a technical perspective, I still prefer my real desktop computer with its comfortably large screen and ergonomic keyboard. And mobility is, in my opinion, grossly overrated: all mail (and similar notifications) can wait until I am in a comfortable place (at my desk) to inspect them. If it’s urgent, it’s urgent for the sender. If it were a true emergency, they would call me right away.

The problem is, our modern urban society is increasingly reliant on mobile-first cloud-based services, increasingly restricted to these proprietary platforms. For example in Sweden, life without the ubiquitous Mobile BankID (electronic logins and signatures) is the life of an outcast. In Stockholm, the public transit authority (SL) is rapidly migrating to an electronic ticketing system centered around their own mobile app, with which you are supposed to purchase your fares and let yourself in at the turnstiles. Then there’s Swish, the peer-to-peer realtime money transfer system that basically killed cash in this country. There is a nationwide push towards healthcare-through-your-mobile as well. And yes, this is all extremely convenient and cost-effective for all involved parties. Oh, and of course you can get the Mobile BankID or the SL app anytime you want, at no charge… from the Google Play Store or the Apple App Store!

Which means you are expected to own (or otherwise have secured the exclusive use of, because they are tied to your government-issued personal identity!) a suitable smartphone with a mobile OS from an American mega-corp, tangled up with (and in fact, barely usable without) their cloud services. Yes, you are expected to accept all those obnoxiously worded legal agreements with said American mega-corps in order to reasonably function as a Swedish citizen (such as logging in to state authorities and banks, and using public transport). I see this trend, amplified in recent years, as extremely disturbing and ultimately unacceptable. Clearly, I represent a very small minority.

Big fat digression: smartphones considered harmful

There are things that need to be said, every time there is an opportunity to say them. One is that smartphones are toxic. They are, in fact, extremely toxic on several different levels.

There is nowadays an established scientific opinion that the (usually observed patterns of) “normal”, or shall we call it uneducated or perhaps naive, usage of smartphones carries a significant risk for psychological addiction. The combination of always-on connectivity and addictive social media (plus the pressure of using corporate email and other “productivity”) apps causes anxiety and stress in most unprepared subjects. For minors, there is a very real danger of acquiring a seriously skewed view of the world at an early age, coupled with the endless and ultimately worthless distractions from things that actually matter. And adults are far from being immune: it takes maturity and thought to use smartphones without abuse.

But it goes deeper than just distractions. One of the saddest sights of late, and one I have seen too many a time: a small child craving the attention of their parent immersed into his or her phone. The toddler or pre-schooler keeps nagging, but is skillfully and economically rejected from any human interaction with the bare minimum needed to break contact and re-embrace The Algorithm. (They can’t help it, the Eternal Feed is just too captivating.) Perhaps while taking a walk: phone in hand, thumb endlessly scrolling, vision narrowly focused on the screen; child clinging to the other, free hand – they make their way forward slowly, like sleepwalkers. Or “playing” on the playground: infant sits in the swing and looks up expectingly; parent mechanically nudges them at each turn, but in absentia – no talk and no eye contact, attention buried in the screen. You may spot this disease any place you can spot a parent and child together. Even from a distance, it’s such a painfully sad sight.

A whole new generation is now growing up with the visceral experience of seeing their primary caregivers devote themselves to some mythical, precious object, a shiny slab of glass, more than anything else including their own children! No wonder then: among pre-school kids, the most coveted thing to own (instead of marbles, dolls, bikes or model spaceships) is a real, functioning mobile phone, the kind that all adults (and perhaps their older siblings) possess. Fast-forward a couple years of age, and you will find a lot of these children, now teenagers, obsessed with a virtual world (with its gamified “achievements” driven by exploitative commercial interests) instead of real-life human interaction. Talking to other people (like their own parents) becomes strictly optional (everything can be said with emojis anyway). The physiological damage from the bad ergonomics of prolonged phone use – the stress experienced by their backs, necks, hands and eyes – is only a bonus.

And what happened to our ability to be alone, perhaps bored, for more than five seconds? Maybe I’m being romantic, but I would not want to rob today’s children from spending time alone, figuring out things to do, or just wandering around or staring out the window at the whirling snowflakes. And what happened to our ability to have conversations, or to read long-form articles (books even) without “checking in” online every now and then?

Something very dear is getting lost, something that was, until very recently, part of being a human. Our techno-commercial overlords have won, and we have become lesser beings in the process.

As a final thought, consider the tremendous amount of electronic waste brought by the never-ending stream of bigger and better phones, coupled with people being persuaded (or in my case, as we shall see below, forced) to upgrade their devices every so often. Every phone owner who tried to use their device for a number of years has seen the security updates dry up, in concert with the hardware showing its age (sometimes it’s a ballooning battery, other times a cracking screen, disintegrating power/volume buttons, or any other failure). Devices are very clearly not made to last. What happened to responsible product development practices? The heavy metals in a phone, and the chemical processes used to obtain them, are literally toxic.

I could go on and on, but this was meant to be a (necessary) digression, not the main article. I hope you enjoyed it, and I’m sorry if you did not, but it had to be said.

Back on track: my phone situation

For all the above reasons and more, I am extremely conscious about my phone use and have a privacy-hardened setup. For one, I have zero social media apps (easy for me as I never became addicted, having had the benefit of growing up without phones) and zero IM apps. I also avoid GMail in favour of K-9 accessing my mailbox at a trusted provider. Photos are synced to a Linux box (in my home, not in the “cloud”) via Syncthing. Jitsi Meet for end-to-end encrypted video calls with friends and family. FreeOTP+ for TOTP one-time codes. That is basically all, speaking of my essential apps (plus Mobile BankID and friends, as above). All this is run on the free and open-source Android OS (a.k.a “custom ROM”) called /e/OS, which is the most important piece of the puzzle: it is a fully open-source Android with all the Google spyware carefully removed and substituted with other services (e.g., microG) so regular apps can still work using the same APIs.

In our current state of the world, I personally view the purchase of a new mobile phone as unethical (contributing to the consumer demand for manufacturing these devices, sustaining exploitative workplaces, adding to the heaps of toxic waste and squandering of our natural resources). So I have only used second-hand phones for many years now (and before that, I used the phone my then-employer gave me without asking).

My handed-down phone for the last several years has been a well worn Moto G4. This device, now close to seven years of age, has been fully adequate for my purposes, even though the power button broke off years ago (I used a tooth-pick or a pin to poke at the micro-switch when needed) and the screen developed strong ghost imaging. But the final blow, as expected, came from the software side. The /e/OS flavour for this old phone stopped at Android 7, which meant that one of those essential apps, themselves not receiving any updates for such an old version of Android, would sooner or later refuse to work.


This is the end for the Moto G4 (click to enlarge)

Then the inevitable happened, and now I had some thinking to do about the way forward. I was determined to keep up my blissful existence entirely outside the Google (or Apple) ecosystem, but the matrix of contemporary phones on one side, /e/OS supported devices on another side, compounded by my personal preferences (in recent years phones have gotten bigger and bigger, with more and more cameras, but I don’t want to carry a goddamn brick around) proved to be trickier than I thought.

After what seemed like a lot of searching (I hate spending time on things like this when I could be hacking; shopping around for stuff is simply not my cup of tea), I settled on ordering a Google Pixel 4 from refurbed.se, a supplier of refurbished devices. My new phone was sent from Düsseldorf, Germany and arrived in Stockholm after two days with no issues.

I picked the Google Pixel 4 as it seemed to be fully supported by /e/OS, with the option to choose between the stable (based on Android 11) and development (based on Android 12) builds. Further, the Pixel 4 is one of a select set of devices also supported by the /e/OS Easy Installer, which I considered to be a sign of reliability and stability. And last but not least, the Pixel 4 as a model is only three years old, promising several more years of service, and being the flagship phone from Google, I can expect top-notch hardware quality. At the same time, it is smaller than my old phone, and still has only two cameras (plus the selfie cam), striking the optimum in terms of size and the avoidance of bloat.

Installing /e/OS on the Pixel 4

So first I had to turn on the phone and at least mimic setting it up with its factory Android, to see that it worked and gather some info up front. I also had to enable developer mode to be able to attack it with the installer. Of course, I did not associate the phone with a google account – that would defeat my goal of a trusted phone even if I later yanked Google’s OS.

I found that the device had Android 10 installed out of the box, and the hardware seemed to work as expected. I also noted that the device wanted to upgrade itself to Android 13 right away, with no choice of any version in-between. I declined.

I decided to give the /e/OS Easy Installer a try right away. To my dismay, I found out that the thing comes via snap, one of the unfortunate mistakes cast upon the world by Canonical Ltd. Begrudgingly, I installed the necessary packages on my up-to-date stable Debian and ran the snap install command, which completed without any error. Then I proceeded to run easy-installer in my terminal, but all I got was this error message:

$ easy-installer
X Error:  BadAlloc
  Request Major code 149 ()
  Request Minor code 2
  Error Serial #39
  Current Serial #40

That is… annoying. Some quick research indicates that this is due to a version mismatch between something in the snap binary and the system on which it is run. Probably related to accelerated graphics, so hardware or at least driver (kernel) dependent. Maybe if you rebuilt everything from source, it would work. Yeah, sure it would, but I had different plans to spend my evening.

To whomever piled these new-fangled binary packaging schemes on top of older ones: Go fast and break things, you morons, in your own garage! I want my binary package-based distribution stable as rock and work like a clock. This kind of epic failure is just… bullshit. I mean, if this was some random binary straight off teh Internet, I won’t be surprised by such a failure (or worse). Snap – out with this crap!

Installing for real

Okay, that basically means I need to install /e/OS the same way I installed it on the Moto G4 a couple years ago, by following the installation guide. This is fine, as long as you are not too scared of minor ambiguities (and the command line in general), but is a far cry from a consumer experience.

First of all: which version to choose? On the one hand, the guide warns us that downgrading the Android major version might even brick the device. So not upgrading the factory Android to 13 was definitely a wise decision. On the other hand, the guide admonishes that before installing /e/OS, I should first upgrade the stock OS to the matching Android major version. In my case, that would mean upgrading the stock OS to 11 or maybe 12 (for the dev build), but definitely not 13. I do not seem to have that option.

It is clear that all of these requirements cannot be satisfied. After some deliberation, I decided to go ahead installing /e/OS on top of the stock Android 10. Specifically, I chose to install the stable build so as to jump only one major version forward.

I downloaded the latest stable build and recovery image (for e-1.6) from the archive site. I found it confusing that it said “Android R (beta)”. Why beta, isn’t this supposed to be stable? And why is there a hash for the zip bundle, but not the recovery image? Eh…

Anyway. I installed adb and enabled usb debugging on the phone. I was happy to see that adb devices listed my connected phone. So far, so good.

Unlocking the phone’s bootloader and installing the /e/OS recovery image went without any surprises. I did not experience any of the hiccups (such as the “no permissions fastboot” issue) anticipated by the install guide.

Now on to installing /e/OS itself! All steps to be carried out in the recovery menu are well detailed and easy to follow. At the last step, when formatting data for real, I got some scary-looking spi errors before the last line saying Data wipe complete. But I did get that last line, so I assumed the process was a success.

Finally side-loading the zip. It went smoothly, the percentage display got incremented every other second or so. Having read the guide in advance, I was watching out for a pause at 47%. 45 … 46 … 47 … There! It stopped!

It did pause there, for a long, long time. So long, in fact, that I went to the kitchen and made myself a sandwich (it was breakfast time). I could not help myself but think “that’s it, done, I bricked it!” while eating. But when I came back, I saw the terminal prompt, preceded by a reassuring printout: Total xfer: 1.00x. Exactly as per the install guide!

On the phone screen, however, I did not see Script succeeded result was [1.000000] as promised, instead I saw Install script exited with result 0 (or something like that, I did not write it down at that moment). Still, it seemed good enough to proceed with rebooting the phone.

A few moments later, the /e/OS logo started bouncing. Phew! No brick today!

Conclusion

Setting up /e/OS from here onward was a breeze. Everything just worked and the apps I rely on were installed in short order. It all seems rather polished now, compared with my earlier experience with /e/OS. I guess jumping a couple major versions of Android and upping the hardware specs also helps.

One of the bigger changes worth mentioning is that previously I had to side-load some proprietary apps (installing them from .apk files obtained via “apk downloader” websites) that could, in principle, only be installed from the Google App Store. Now, there is something new in /e/OS called the App Lounge, which can directly access the Google Play App Store with an anonymous login. So I could just install everything (Mobile BankID, Swish, the SL app, etc.) in broad daylight, just like on a regular Android inside the walled garden, with the slight difference that I never had to sign up for a google account or accept their terms of use. That is a tremendous achievement from /e/OS and a huge step toward generally usable, privacy-respecting, sustainable, un-googled Android phones!

By the way, I did not sign up for any of the cloud accounts provided with /e/OS. If you, unlike me, miss your GMail, Google Drive, calendar and whatnot, you are free to do so. And it’s probably fine if you are more of a consumer and less of a DIY, self-hoster type of person. Heck, if you are not into ordeals like the one told above, you can order a smartphone from Murena with /e/OS readily installed (so you won’t have to void your device warranty by flashing an “untrusted” OS on it).

I also learned that Google actually provides factory images for restoring their stock operating system on the phone, and there is even a way to re-lock the bootloader. So “rooting” the Pixel is a reversible operation. Not that I want to go back now – how ironic, after all, that the only phones I can trust are the ones flashing a big fat warning when powered on?


The only phones you can trust (click to enlarge)

In case you were hesitating: this article should have made it clear that there is no real excuse, other than laziness and conformity, for staying inside the privacy-deprived walled gardens of Apple and Google. If you are in there, get out! Escaping has become easier than ever, even with the (still unfortunate) need to use some proprietary apps.