I Hate Phones
They can be quite convenient if you are willing to put up with all the surveillance and ads and arbitrary restrictions to user freedom and that inconsiderate shithead sitting next to you on the bus scrolling through loud TikToks or talking on speakerphone.
In this post I'll be bitching some more about why phones generally suck and you shouldn't use one most of the times, so keep on reading if that's something that interests you.
Note: this is mostly aimed towards smartphones, but many things also apply to the dumb ones.
UPDATE 2025-07-13: Just came across this video by Luke Smith on the same subject. Totally agree. Go watch it.
Surveillance Gold Mine
Most phones ship spyware out of the box. And most users go out of their way to install some more spyware on top. Phones are just the perfect surveillance gold mine: with all the cameras and microphones and sensors and the fact that most people voluntarily carry them around everywhere, always powered on and connected to the internet, their potential for data collection is far beyond what you would get from your traditional desktop spyware.
Even if you are smart enough not to install random spyware into your phone, it's likely that everyone around you is not, and is unknowingly snitching on you with their pocket surveillance devices.
Also if your device gets pwned through some zero-day exploit, despite your best efforts to keep it secured, the cyber bad guys who don't wear suits will also get to enjoy all the juicy data your phone can provide.
Too Much Abstraction
That thing in your pocket is actually a computer. But likely has an OS that tries to pretend otherwise, by abstracting away a bunch of stuff. Pictures? Oh yeah, those are stored in the gallery app. Absolute paths? File systems? You're talking nonsense, hackerman! This is a phone!
There might be valid reasons for this to some extent: You don't usually have a keyboard hooked up to a phone, just like you don't usually have a touchscreen on your desktop computer. It has to take some shortcuts to be convenient to use. However it ends up getting in the way of advanced users. The concept of "program" is abstracted away by these "mobile apps", with mandatory complexity to look and behave consistently. It's nice to have a consistent user experience, but if the best tool for the job looks ugly and out of place, then so be it.
Not only is this annoying for people who want to do computer stuff, it also
gives a false sense of security. After all, what harm could this random app
that I don't really need possibly do? Look how cute its shiny little icon looks
sitting on my home screen. Most people are to some degree aware of the dangers
of installing random software on computers, but phones? The trusted ad app
store says all the cool kids are using this app, so I must have it.
This makes people more willing to install random apps on a phone than they would be on a desktop computer. And don't get me started on the dumb low effort mobile games whose sole purpose is rewarding you with fake points for microtransactions or voluntarily watching ads, aside from the ones they were gonna shove down your throat anyway.
To summarize, the main point here is that mobile apps are viewed as something entirely different from desktop computer programs for artificial reasons, resulting in harm to the freedom of users and developers.
Fake Restrictions
Certain platforms restrict functionalities for made up reasons. Wanna play music from YouTube in the background (don't do that, own your audio files)? That'll be $13.99/month, fuck you. Wanna view certain message formats on Instagram? Sorry buddy, the web version won't do, you'll need the app for that!
Then there are all those mobile apps that serve as the only authorized way to access some online service. Most of the times that is either stupid or evil. Your dumb mobile app could very well be a web app. But you just can't fit enough spyware in a web app, can you? If you are going to milk your users for data, might as well force them into more spyware-friendly platforms.
Take WhatsApp for example. It has valid reasons to require a native app, such as the alleged end-to-end encryption. But the only way to use it is to have that one spyware app running on your spyware device. Signal is far from perfect, but at least there are non-official ways to use it without ever installing the mobile app, such as signal-cli. And that's the beauty of FOSS.
Not Much Choice
So far a lot of what I said was about shitty software running on phones, and not about phones themselves being shitty. So you could just use non-shitty software, right? If we're talking about the operating system, sure, as long as you are able to replace it without bricking the phone. But of course the better alternatives won't magically support the shitty mobile apps you might need, because the term "mobile app" usually just means "Android/iOS app", and has nothing to do with the hardware it runs on. Compatibility layers and emulation defeat the purpose and are overly complex solutions for a fabricated problem.
That being said, let's take a look at the 2 only options that non-hackers use. I'll leave real mobile Linux for the upcoming PinePhone article. UPDATE 2025-03-29: Here it is.
iOS
This heading is only here for completeness. Nothing to say here other than just don't use Apple's proprietary trash.
Android
A lot of what I said so far was with Android in mind, so I won't be repeating it. Here are some other things that piss me off about this compromised OS:
No Root Access
You should avoid running things as root for security reasons. That was never a phone specific concept, and should not have had the phone specific solution of taking away the ability to do so. You need root access if you want to own your device. If you think it's okay to take freedom away from users for their own safety, you might as well put on a straitjacket and go live in a padded cell to protect yourself from the dangers of paper cuts and shark attacks.
Can't Remove Stock Spyware
The vast majority of Android phones you can buy ship with a lot of proprietary spyware sprinkled on top, that cannot be uninstalled by regular users. Some of the built in spyware trash only provides the option to uninstall updates, i.e. downgrade the spyware. Some can also be "disabled", which is like uninstalling it except it's still there. I can't think of any good (as opposed to evil) reason for this, considering that uninstalling these apps would not break the system in any way if you weren't using them. But you could just use the open-source part of Android without all the shit smeared on top, right?
Kinda Open-Source-ish But Not Really
Most people just use stock spyware. Maybe you can get some freedom with Android if you jump through enough hoops. But let me tell you the story of when I tried building a simple "hello world" app for Android using FOSS only. Spoiler: I gave up.
I was trying to install the Android SDK, which is supposedly open-source, when I was asked to accept a EULA. Something was very clearly wrong. So apparently the official binary distribution is nonfree. Very well, let's build it from source. After all I'm a Gentoo user, that's what I do. The problem is there don't seem to be any good instructions on how to do so: you either run a script that ends up pulling the proprietary binary sources from somewhere else, or you use Google's git-based repo management thingy that pulls from a bunch of repos and then you supposedly get to build the thing. Well that sounds sketchy as hell! It's almost like they don't want you using the free version (who would've guessed?). Screw this, I'm outta here!
After writing the previous paragraph I went and gave it another shot to make sure I wasn't being unfair. So I installed the git wrapper thingy and tried to clone the sources as instructed here. Result: after 20 minutes and 7% progress, it had fetched 17 GB. Also it logged a bunch of errors to the console about not being able to fetch some repos. I remind you I only wanted to build a "hello world". For reference, the LibreWolf browser's unpacked sources take up 4.4 GB and my kernel directory (including compiled objects) takes up only 2.5 GB. It turns out it was fetching the whole Android sources, not just the SDK, but I couldn't find any docs on how to fetch only the SDK components (assuming it doesn't actually require the whole thing), and if the instructions are not in the file called "howto_build_SDK.txt", then I don't know where else they would be.
I'd love to be proven wrong on this one, so if you know of an officially documented way to get a free SDK that doesn't try to roofie you into using the nonfree release every step of the way, and can be built/installed completely offline after getting the sources, then please let me know.
You Don't Own Your Phone Number
This starts the "phones themselves being shitty" section.
It is ridiculous that so many services use phone numbers for verifications and SMS-based 2FA. Securing your number from SIM-swapping attacks is outside of your control. All you can do is hope your carrier does not fuck it up.
Pinging Cell Towers
Your phone does this all the time regardless of how "smart" it is marketed as. Whoever controls the towers can track your location.
Conclusion
I've been writing this post for over 3 weeks now, let's wrap it up, we've all got better stuff to do.
Phones are everywhere and society expects you to carry one. That's harmful for freedom and privacy, since it's impossible to have a phone that does not milk you for your data and at the same time meets society's expectations of being able to run all the fancy exclusive "mobile apps" made for Android/iOS. So the main problem is this proprietary "mobile app" trend.
It's nice that there are projects aiming to bring user freedom to mobile platforms, and I don't see much of a problem with using them responsibly, but phones will always be crippled pocket computers, either because there is too much abstraction in order to fit the form factor, or because there isn't. And like with desktop computers, there is a time to use them, and there is a time to touch grass. So get off that damn phone!