Around the middle of August, after spending an unusually high amount of money at a local convention, I made an extremely wise decision to check Amazon for some reason.
It was Amazon Prime day.
As far as phones go, the only real contenders were a Pixel 7a or the Pixel 8. The Pixel 7a was very low at $400, but I ended up going for the Pixel 8 instead. For just $200 more, I’d have a phone that was officially supported for a decent while longer, so why not? The Pixel 8 Pro was also on sale, but it was still way too expensive to buy upfront.
Then, just around a month later, Google dropped the Pixel 9 phones. It is what it is.
Some general thoughts
Those were a couple of unfortunate, unlucky, or maybe unwise decisions on my part, but I’ve wanted to run a Graphene OS phone for quite some time. It has a great reputation for security and privacy, and provides the user with a trustworthy environment for open-source software. As a rule of thumb, I generally only run open-source software, with few exceptions. As such, I’ve also made a best-effort attempt at running a de-googled Graphene OS. While there’s no chance that any privacy advocate is going to run the Pixel’s stock ROM, the transition to Graphene OS wasn’t completely seamless.
Note: As I have pretty much exclusively used hand-me-down iPhones, many gripes are written with Apple as my frame of reference. The target audience is people considering Graphene OS or are curious about the transition.
Installation process
The installation was exceedingly simple. I plugged my Pixel into my laptop, and followed the instructions on their website. It’s probably easy enough that your mother could do it.
The default Graphene OS installation is extremely barebones. They claim it is to reduce attack surface, which I think is a good idea, but it also immediately demonstrated how unfamiliar I was with non-Apple devices. I was like a fish out of water here. Eventually, I installed F-Droid, but I didn’t expect to have to install things like a weather or notes app. Thankfully, Free alternatives are plentiful for those, but it probably isn’t so easy that your mother could do it.
Same thing for having to install RHVoice and your own personal assistant.
Camera
It’s fine. Graphene OS ships with a minimal camera app, and you can install Google Camera for some not-yet-implemented features (like exporting RAW images). They claim these features are on their to-do list.
What does bug me is how even on the lowest compression settings, you still need perfect conditions to take a picture without noticable compression artifacting. I just wanna take nice pictures of my cats :(
Battery life
The battery felt noticably weaker on the Pixel, where battery seems to drain while I sleep. That’s probably because to receive notifications for anything, the app has to run a service for itself in the background, unless you run your own notification solution.
To reiterate, though, my frame of reference was an Apple device where I constantly ran low-power mode. My Pixel is still able to last from morning to night, assuming I’m going from 100 to 0, though it still feels like I’m disincentivized to run low-power mode considering how notifications work. As a consequence, I’m a bit more mindful of better battery practices and battery usage.
Software ecosystem
After a bit of time in the open-source ecosystem for mobile apps, I’m far more appreciative of the desktop landscape. Alternatives are almost gratuitous on the desktop (that’s the idea behind “meme forks”). No matter what your opinion is on the usability of proprietary software alternatives (GIMP to Photoshop, Linux to Windows, Tuxpaint), it is fair to argue that they excel at different things and may appeal to others’ use cases. For example, my setup isn’t replicable on Windows. Not only did I compile it myself, but why would I use so much minimal command-line software on Windows? There’s also the fact that Linux is unrivalled when it comes to data collection, of course.
That aside, mobile open-source alternatives are lacking in a couple areas, either being completely non-competitive feature-wise or the existence of it as a whole. Graphene OS has made excellent progress being compatible with complex proprietary software like banking apps, Android Auto, and Google Wallet (as some examples), but I would’ve stayed on an iPhone if I wanted to use proprietary software.
I have some gripes with these specifically:
Personal assistant
To be frank, this was one also one of the places where I had Apple whiplash. Apparently it’s weird to like your phone’s little assistant among privacy-conscious individuals, but it was an unparalleled convenience to, say, call someone while driving, without needing to even touch your phone. The ecosystem here is a bit lacking: it seems like Dicio is the most actively maintained solution here, but it is basically not competitive. As of the time of writing, asking it to perform one of its built-in tasks requires that you rigidly follow their template sentences, and comes with a rather limited feature set. To my knowledge, Dicio allows developers to build third-party app integrations, but I haven’t seen quite literally anything from others.
Judging from their git repository, it seems the sentence rigidity is something they want to work on. It also seems like inter-communication between apps is a highly desired feature among users.
Googles iron grasp
For most people, it’s kind of inevitable that you’ll end up installing something that requires Play Services. That isn’t too bad; so far, I haven’t had any hiccups with Graphene’s Google Play implementation. There’s also official, first-party documentation on Graphene’s website for potentially troublesome apps (the aforementioned banks and whatevers).
The biggest annoyance to me is push notifications. If you want to do the whole de-googled route, you need your own solution for push notifications, which is either:
- let any app you want notifications for run a service, always (terrible idea)
Do you hate having battery life? This option was made for you.
- Google’s proprietary solution
- a self-hosted UnifiedPush distributor
UnifiedPush would be a perfect solution, it’s just not that popular. Very few apps offer support for it. Not even Signal, oddly. On the other hand, though, you can use it to notify you of anything, like server upkeep, for example. If you’re feeling energetic, it probably isn’t impossible to write your own notifications for certain apps, but this is probably unrealistic.
You’d probably get better mileage out of trying to convince your favorite FOSS app maintainers to add support to it.
“So, do you recommend it?”
The Graphene experience can be as convenient or inconvenient as you want. Use Google’s push notifications. Use their “find your phone” service. Use all the proprietary software you want. It’s up to you!
I think different solutions can accomplish different things. You’re familiar with this idea if you’ve paid attention to some Linux vs. Windows debates. Despite me raving about the annoyances and whiplash, they are just those things. It’s a product of every smartphone distributor entrenching users in their own invasive ecosystem, giving users conveniences that they “didn’t know they needed” or unknowingly end up reliant on, which I thought I was above falling for. Whiplash is something you end up getting over.
Going forward, I’ll probably continue with Graphene. Probably.