TL;DR
- Users who have rooted their phone, have their bootloader unlocked or are using some custom ROMs report that their RCS messages are not being sent, even though RCS shows them as connected.
- The Google Messages app does not show any error messages when blocking RCS messages of these users and does not send the messages out as SMS or MMS either.
- Google famously campaigned for Apple to include RCS messaging in iMessage but is now blocking it for certain Android users.
It’s apparently the Google Messages app, not Android itself. Good to know.
it’s the only OEM-independent, RCS-compatible app for now, so it’s not like you can work around it by installing another client.
It suggests that apps without this problem can be developed, which means more paths to a workaround than if we had to modify the operating system.
Sure but specifically with RCS, Google has to allow devs to use it in their apps. And they won’t.
How is Google going to stop them?
Forbidding an app from the Play Store is unlikely to stop these users, who already use rooted devices and custom ROMs. They’ll just get an app from their ROM provider, F-Droid, or elsewhere.
Does RCS depend on Google services integrated with the mobile network operator? If Google tried to use that position to forbid alternative apps, it would seem likely to run afoul of the Digital Markets Act.
I don’t know a lot about RCS specifically, though. Is there another issue I haven’t considered?
Using RCS requires low level access to phone’s modem. You won’t get it on Android. Google is bypassing it’s own restriction by using proxy servers while having the deal with phone operators.
Interesting, can regular people do the same, e.g. through Twilio or similar? That is, can VOIP hosts who can handle SMS also handle RCS?
Edit: aha, for Twilio at least, yes they do: https://www.twilio.com/en-us/blog/omnichannel-messaging-rcs
Why do you say that? Custom ROMs already get low level access to the same hardware that official ROMs get. Is there some reason to think it would be different in this case?
This basically means adding the feature ourselfs and making our own build, not something we can name Android to give low level access to RCS in modem. This is feature we will just add.
Also on the side note, while in theory possible it will be a pain. We can’t just reinstall one package like modemmanger on typical Linux system, we must make a whole new builds for every device and apply patches again on every major Android update. While modem manufacturers do not even share documentation for them, just share a proprietary Android driver that should be in OEM system. So adding such feature means big reverse engeeniring, big effort for automatic patch and build system, all to support in my opinion already outdated and useless protocol which because it is already obsolete with standard XMPP or Matrix based apps.
Having built Android from source for several different devices, I’m accustomed to dealing with blobs and configs that enable access to each device’s hardware, including the modem. Custom ROMs generally just install the OEM drivers that came with the device, and let Android use them. That normally doesn’t involve reverse engineering.
I suppose it’s possible that RCS might depend on special modem features that somehow can’t be used like all the other hardware in the system, rather than just sending/receiving data over the network. (As I said, I don’t know much about RCS.) But it would be an unusual case. That’s why I’m a little skeptical. Since you haven’t given any references or supporting details, I can’t tell whether you have domain knowledge that supports your claim, or are just making assumptions.
Shrug… I guess it doesn’t matter, though, since time will tell. Cheers. :)
well, so far none of the third party SMS apps have implemented RCS support, and when asked, every developer replies that they need Google to open their standard for other clients to use, so I guess they’ve been doing a pretty good job at stopping everyone else.
Have they given a reason why the specifically not able to do it, or do they just not want to do it because it’s “unlicensed” or “out of spec” if it’s just the second option then it’s a problem of having unwilling people and not a real entry barrier.
If there’s an actual barrier to developing something like that it’s important to understand what it is.
yes, every time the reason given was Google not opening their API to the public.
Oh good i dont use that