RCS embraces the flaws of GSM, and Apple using it would be a step backwards. 2022.08.23.

I hope Apple never adopts RCS

If you've only read a little bit about RCS, or even if you took a couple minutes and read Android's site about #GettheMessage, it might seem like a great thing: the standard that has finally come to kill the green bubble. However, while that site is great at listing all the problems we have without RCS, it doesn't really mention the problems we would have with RCS. Here are some things that iMessage does right, and RCS doesn't.

Philosophy

When I think about RCS's philosophy, the first thing that comes to mind is the lack of it. It wasn't designed for use by a human, it was a checklist of features, tacked together. It reeks of "oh, this chat app can do this, let's just plop it on top of the pile of ideas!" It lacks cohesiveness.

Adoption

When iMessage landed, all you needed to do is update your phone, sign in with your Apple ID, and boom: you could use it instantly. Since RCS relies on IMS, and needs to be supported and enabled on a per-carrier basis, adoption of new features could take years. RCS isn't even supported on every major carrier yet.

Security

iMessage uses end-to-end encryption, and Apple has, on multiple occasions, refused to add a backdoor to its systems. RCS not only lacks support for end-to-end encryption by default (although Google has extended the specification to add some support for it), it is also a service of carriers, and is therefore subject to lawful interception with a court order.

Prerequisites

To use iMessage, all you need is an Apple ID, which you can create for free. To use RCS, you need to have a phone number, which means that you need to have an account with a carrier. You also need to have a phone to use RCS: you can't use it on a tablet alone without LTE.

I hope Apple adopts something else

While iMessage is quite superior to RCS, it is still flawed. It's major flaw is that it's an obtuse, closed system. Which, to be fair, could very much be said about RCS also, which is supposed to be open. For example, here's what you get when you search for the Matrix protocol: Google search for "matrix protocol". The first result points to Matrix.org, the official site for Matrix, and one of the hotlinks is the Matrix Specification. Super easy to find. The document is not shown, but it is super easy to understand as well.

Here's what happens if you Google "RCS protocol": Google search for "RCS protocol". First result is a blog post explaining what RCS is, second is a Wikipedia article about RCS. Specs are nowhere to be found.

RCS failing SEO is probably fine: you can't judge how good a protocol is by how easy it is to Google for its specification. However, not once during the research for this article have I been able to find a comprehensive RCS specification. The best thing I've been able to find is the RCC.07-v11.0.pdf, but it is quite silly that this PDF needs 389 pages to describe a protocol that only has about twice the functionality (if not less) as Matrix for the end user, which has a spec just 8 pages long.

Anyways, back to the point: iMessage is a closed and obtuse system. Sure, having a closed and obtuse system is great when you want to build a closed and obtuse ecosystem, but it also limits the reach and capability of your services. You're not only giving Android users an f-you when defaulting back to SMS: you're also giving the same f-you to your own users. Plus, you're ridding your platform of third-party integrations that'd bring more use to it, like chatbots, and custom clients for power-users.

I know that Apple and Google probably won't end up using an off-the-shelf solution like Matrix. (Even though federation would definitely be useful in this scenario as well. Just saying.) However, we know that their engineers are capable of collaboration (see Matter). So, instead of Google trying (and failing) to force a new-yet-obsolete technology down Apple's throat, I hope they try and make something better, together. (And hopefully without the GSMA involved this time. Shoo.)