Hacker News new | ask | show | jobs
by annzabelle 7 days ago
My understanding was that you have to install google messages to get RCS to work and on google's end it gets finicky about device ids. I read a couple blogs where people found RCS to be really unstable on GrapheneOS even with a couple workarounds.

If I'm going to have to install a bunch of google products onto my phone anyways, I don't buy the benefits as much.

I also had a recent experience being shaken down by a border guard entering Australia, and if he'd asked to go through my phone, explaining that I'm running a weird privacy focused OS he's never seen before seems like it would be a great way to increase my chances of spending a night in airport jail and being put on the next flight to North America. I don't really have anything to hide and appearing like I have things to hide could seriously inconvenience my life. Barring a tourist from entering a country has a very low bar of evidence.

Edit: Also the backup restoration is a bit more of a mess for me right now for the same reason I need the dual sim feature. I've got an American esim that's difficult to reactivate without being in America.

4 comments

> I don't really have anything to hide

While I understand your position, I cannot help myself from posting this response with the hope that more people will consider their own "I have nothing to hide" positions. See https://moxie.org/2013/06/12/we-should-all-have-something-to...

edit: Linking to original HN discussion about this article - https://news.ycombinator.com/item?id=5869394

Great links.

Yeah, it's not really a global "I have nothing to hide from any government whatsoever" but more of a "I don't have chat logs about overstaying or smuggling," which is what they're likely to implicitly assume if they've hit the point of searching your phone and you've got some special phone they can't search.

In my home country I would take a principled stance and hire a lawyer, but in the particular case of border crossings to a country you're not a citizen of, seeming like you have something to hide can easily lead to them denying you entry.

Basically all of Graphene's RCS issues have been fixed[0]. Additionally, your stance seems somewhat unusual - GrapheneOS isn't only meant to be used by people that have "something to hide". As for explaining it to border guard - it's just Android - if you're unlocking your phone for them anyway, they definitely shouldn't care about what flavor of Android you're running, whether it's LineageOS, ColorOS, GrapheneOS, etc.

Of course, there might be more nuance to your situation than I am privy to, but almost everyone travels, and I'd heavily hope that being stopped at the border isn't the reason keeping them away from Graphene.

[0] stickied comment on https://www.reddit.com/r/GrapheneOS/comments/1pceh1t/am_i_th...

GrapheneOS is one of the most widely used alternatives to Google Mobile Services Android along with LineageOS. It already has nearly as many users as the official LineageOS releases do and will have more soon. It's not a niche OS only used by people targeted by governments as is often claimed and it's also not at all only for technical people. It's more aimed at people who aren't technical power users than those who are.
There is little difference these days between the government spying on you and your own device spying on you. The difference is one only cares if you do something wrong, the other one will steal pilfer and sell your data despite already purchasing a product.
RCS is fully functional on GrapheneOS. Google Messages is the only implementation of RCS available for Android in practice. RCS is a proprietary Google messaging system in practice. Google hosts a huge portion of the infrastructure and gatekeeps access to it. It would be possible to make an alternative RCS client for Android but it would still using Google infrastructure since carriers are using it.

> If I'm going to have to install a bunch of google products onto my phone anyways, I don't buy the benefits as much.

GrapheneOS is not about specifically avoiding Google apps and services. You've said you want to use Google's RCS messaging system, which would not take away from the benefits of using GrapheneOS.

> a weird privacy focused OS

GrapheneOS is a widely used open source project. It's well known and there's nothing unusual about using it. The hypothetical situation you're describing is not something which has ever been known to happen.

> Also the backup restoration is a bit more of a mess for me right now

GrapheneOS has better backup/restore support than the stock OS. It doesn't have privileged Google Play integration for using Google's very limited app backup/restore or their more capable device transfer feature. GrapheneOS has an equivalent to the device transfer feature which can be used for both encrypted local and cloud backups.

> dual sim feature

GrapheneOS fully supports cross-SIM calling and it's one of the features it adds the option to force enable for carriers not otherwise supporting it alongside 5G, VoLTE, Vo5G and VoWiFi

RCS is unstable on iOS, too,

for the same reasons SMS has always been unstable.

It’s the nature of the protocol, unfortunately.

Maybe I should've specified: I have seen many anecdotes of RCS being substantially more unreliable on GrapheneOS than it is on stock Android.
So the issue with RCS is that google just this last year made the move from their internal implementation of E2EE for RCS to the standard implementation based on MLS (now that the standard impl is actually viable).

They did this quietly in the background and most people didn't notice but in doing so they released new system/OS level services and started relying on those. And notably they did this rollout staggered such that only some people got it and some didn't which made everything way more confusing.

GrapheneOS has a bunch of security hardening to restrict crosstalk between apps and services and the assumptions GOS made and the assumptions Google made about how services and apps should be allowed to interact were disjoint. That mismatch in assumptions broke things for a while. And the lack of clear communication from Google about this change combined with various anti-spam/rate limiting issues (Gmessages kept trying to register not expecting to fail and kept slamming the servers which looked like spam and triggered exponential backoff retries) compounded together to render RCS broken for a few weeks during that migration.

Notably this was also broken for basically every other non-google/non-samsung android provider for a while as well due to how poorly the migration was communicated by google.

Then not long after that was resolved graphene changed how they handled their sandboxing to make it less brittle to google changes and since then there's not been much in the way of issues.

The only issue with RCS since then has been a brief break in RCS (~1-2 days) about a month ago due to what was essentially an update to Google's services putting the graphene sandbox briefly out of sync. This was fixed almost immediately on the alpha release channel and just took ~48 hours to move through the alpha->beta->stable pipeline.

From this point on now that RCS is more or less all "standard" stuff now you shouldn't see any major breakages. The only situation where you might see one would be when android inevitably opens up RCS outside of the google services walled garden but even then you should be able to continue relying on the google services version until the non-google version is stable.

> So the issue with RCS is that google just this last year made the move from their internal implementation of E2EE for RCS to the standard implementation based on MLS (now that the standard impl is actually viable).

> They did this quietly in the background and most people didn't notice but in doing so they released new system/OS level services and started relying on those. And notably they did this rollout staggered such that only some people got it and some didn't which made everything way more confusing.

> From this point on now that RCS is more or less all "standard" stuff now you shouldn't see any major breakages. The only situation where you might see one would be when android inevitably opens up RCS outside of the google services walled garden but even then you should be able to continue relying on the google services version until the non-google version is stable.

Is there anywhere public that there are writeups or roadmaps about this? I'm particularly curious about whether there will ever be an API for third-party clients.

What's left in terms of meaningful technical barriers, that would prevent this all from being baked into Android instead of requiring Play Services?

Tbh I have no idea. I kept up with it on the GrapheneOS discord and I think GOS put out bluesky/mastodon posts about it at one point.

> What's left in terms of meaningful technical barriers, that would prevent this all from being baked into Android instead of requiring Play Services?

Well now I think the last major barrier is cleared (which was E2EE being nonstandard). Currently the on-device infra is very google-oriented but there is support for non-google-jibe RCS but it still requires google, etc to explicitly opt-in apps to get access to the APIs on device.

A big part of this IMHO is google refusing to give up their moat but they may finally get it into AOSP at some point.

If they don't at this point I think the only way it'll happen is if the EU forces their hand (which they hopefully will do).

> What's left in terms of meaningful technical barriers, that would prevent this all from being baked into Android instead of requiring Play Services?

The short version: no open source RCS libraries exist.

The implementation in AOSP is out of date/dead.

AOSP fully supports everything needed for RCS. AOSP doesn't provide any actively developed messaging app so an app with RCS support needs to come from elsewhere. AOSP never provided an RCS messaging app. AOSP only provides a sample SMS/MMS app for testing purposes which is intended to be replaced. GrapheneOS is well into the process of replacing it including replacing nearly the whole user interface in our development branch followed by improving the under the hood code. It's not an RCS app and never was but we plan to eventually make our own RCS implementation instead of only providing fully functional compatibility with Google Messages.
RCS is fully functional on GrapheneOS. It works as well as it does on the stock Pixel OS.
Finish the play: unreliable in what way, on which side (send, receive)?
RCS is fully functional on GrapheneOS. It works as well as it does on the stock Pixel OS.
RCS is fully functional on GrapheneOS. It works as well as it does on the stock Pixel OS.