FOSS ROMS and the Terrible, Horrible, No Good, Very Bad State of Native Messaging on Android
Mon 28 October 2024
Now that I've piqued your curiosity with an reference to a children's book I've never actually read (because I'm an alien, apparently), let me pause the narrative train by carefully defining some terms:
- FOSS: Free and Open Source Software
- ROMs [sic]: Custom builds of the Android mobile operating system from the AOSP (Android Open Source Project) source code, which are (erroneously) referred to by many as ROMs
- Native Messaging: Messaging that is native to the phone/network itself, i.e., SMS, MMS, and (ehhh) RCS. In other words, anything but a purely internet-based messaging system like Signal.
- SMS & MMS: The way that cell phones currently send messages and data like images and video to each other
- RCS: Rich Communication Services, a ham-fisted attempt to replace SMS & MMS with something more modern and capable
- iMessage: A proprietary and completely bollocks internet messaging protocol created by Apple, masquerading as a text messaging standard so Tim Cook can have more superyachts
My History with Android (and iOS, too, shhh!)
I've used both Android and iOS going back to fall 2010. So far, I've spent over eight years on three different iPhones and nearly six years on four different Android phones. After starting out with iOS, I initially switched to Android in mid-2017 because android phones were astonishingly cheaper, but my experience with my first two Android phones was not that great. My $65 BLU R1 HD became unbearably slow after just a few months, and my Nokia 6.1 became slow enough to be quite bothersome within a year.
2019 was the year I started learning a lot more about privacy, and the more I learned about Google, the less I liked them. I decided that the best way to get away from Google's spying on my phone would be to go back to iOS, so I commandeered a hand-me-down iPhone 7 Plus.
I really liked being back in the "blue bubble" zone, and getting Apple-exclusive features like Facetime (along with a handful of nostalgic iOS-only apps that I missed, like The Iconfactory's BitCam). But the dearth of FOSS apps on the App Store, Apple's silly restrictions (18 years of iOS, and still no true/raw Bluetooth stack!) and their petty, mercenary nature started to wear quite thin, as did Apple's reputation of being privacy-respecting. Their true colors shone through in due time.
So, when the speaker/sound board on my iPhone 7+ failed in December 2020, I jumped back on the Android bandwagon, getting a Pixel device: the Pixel 4a 5G. This was a much more premium device than my throwaway Blu R1 HD or the very compromised Nokia 6.1.
But even on a semi-flagship Google phone, the stock Android OS started to feel a bit slow after a little less than a year. I had intended to check out privacy-respecting Android builds all along (still being very wary of Google's spying), so I finally bit the bullet:
In fall 2021, I switched the stock Android OS on my Pixel 4A 5G to the privacy-focused CalyxOS, which like many custom Android builds is based on the aforementioned AOSP. I expected to lose a lot of features, and while it's not a compromise-free experience, for the most part, I went on using my phone just like before, enjoying almost all of the same apps that I used on stock Android.
The Current Shipwreck
Most issues I've had with using a privacy-focused Android build can be mitigated or worked around. The one thing that there is no workaround for (and may never be) is the lack of RCS "rich" messaging services for AOSP and derivatives.
This was not such a big deal when it was just Google's incredibly dorky and convoluted answer to Apple's irredeemably underhanded iMessage "service." But now that Apple has been forced by the E.U. to play somewhat on the same field as others and implement RCS, any mobile operating system that doesn't have RCS is looking kinda backwards. There's nothing quite like getting an important message from a client says, "This video shows where the problem is!" and it's a circa-2004 3GP-format video at 144p and looks like it was compressed by running it through an Infinite Improbability Drive.
Yes! We have no bananas — I mean, there is no RCS implementation for AOSP, and there may never be. Google has not updated the stock messaging app in AOSP in a very long time, and they have not added any RCS functionality. There was a "TestRCSApp" released to AOSP a couple years back, but I never could find any evidence that this was a usable basis for an RCS implementation for AOSP, nor indeed if anyone has volunteered to attempt to make it so. In addition to this, any time I go searching online for information about RCS itself, all I can seem to find is conflicting and vitriolic debates about whether or not it is even an open specification.
You see, in The Good Old Days, Google released almost the entirety of Android as Open Source Software under the Android Open Source Project. This slowly changed with all new google apps being released as proprietary VultureWare, and only be basest basest basest base of the OS being released to the AOSP nowadays. It would appear that some time around 2010, all of the glorious nerds at Google were surgically neutered by Eric Schmidt and his army of Undead VPs of Late-Stage Capitalistic Despair, and as it is now, the company is about as magnanimous as a tapeworm. Almost all new Android features are released as super-locked-down proprietary apps, and AOSP has been left to dangle, without so much as a working calendar app at this point (fortunately, there are a couple good ones on F-Droid).
And if all of that train-wreckage wasn't enough, Google is blocking anyone from using their proprietary messaging app on open Android builds, so even if one were to trust them with their messaging, you still wouldn't be able to get RCS on anything but a proprietary-and-absolutely-spying-on-your-spleen Official Corporate Overlord Android Builds.
In Part II of this series, I will go over the currently extant Native Messaging options for FOSS Android, and no, they're not great 😵💫
Category: Tech Tagged: Computing Ethics FOSS (Free and Open Source Software) Non-religious post Polemic Productivity