GrapheneOS' rewritten Messages app is released

8 hours ago (github.com)

Everytime I read GrapheneOS news I search for news related to Fairephone. It's such a shame that there's still no official plan for Fairephone to work on requirements for GrapheneOS. The combination of those 2 would be fantastic. It would also open a big new market (I assume) for Fairephone so not sure why there seems no clear sign in that direction at all (to my knowledge).

How about some screenshots?

  • I constantly see those projects that would benefit from a screenshot in a readme, but for some reason the thought about adding one doesn't even come to the authors' mind, even though it's pretty obvious. I'd really like to know what's going on.

    • I think the reason is that you can get quite much of a tunnel vision while developing. Everyone involved already knows what they're building and how it looks, so it's very easy to overlook it.

      Case in point, I recently wrote a CLI to show which of your AWS infra is not captured in terraform, and you can either print the result as a json to consume by a machine or generate a dashboard with some charts. It took me an embarrassing while to realise that I should have included a damned screenshot in the README, in fact I think I only realised when I wanted to show it to my brother.

      2 replies →

    • I think in many cases the authors value functionality much more then esthetics.

      Which is a bummer because it is a complete different point of view from the more typical user experience

      4 replies →

    • "A picture is worth a thousand words"

      It's like we've had this ancient knowledge passed down for generations but people constantly just ignore it.

  • I was looking for the same thing. Fine! Maybe it’s in the Readme.md. Nothing! Well, ok then

One feature I just found out about after trying it is that you can text email addresses.

Unfortunately I think that feature is shutting down.

https://www.verizon.com/support/vtext-vzwpix-shutdown/

I'm still waiting until RCS is supported before I actually use it.

  • It's probably for the best. As recently as 2016 (and probably more recently; that's just the last time I tested this), they weren't even validating SPF records on their email-to-SMS gateway. You could spoof the "From" address to any email address you fancied and your messages would go through, appearing to be from that sender. Back in high school, my childish self had a field day showing off my phone's SMS inbox filled up with spam Viagra ads that were "sent by" Hillary Clinton's "hacked" email server.

    It's not as funny in hindsight, given the unexpected results of that election, but at the time, it felt like top-tier humor.

Does anyone know if this is something that we can install now, or if it will show up in the next OS release?

  • You can go to the GOS App Store, choose the Messaging app, click 3 dots at the top and choose the Alpha release channel to get it now

  • They mentioned you can use the Alpha from their app installer.

    • Good to know! For others: You open their app store, go into messaging, hamburger menu, select release channel, and choose alpha.

  • It's in the alpha channel. Go in to the 'App Store' app, go to Messaging, 3 dot menu and change release channel.

I wish they prioritised the call app. It is beyond appalling. You can't even determine when a call happened, beyond the generic low fidelity "[time] ago". It also almost feels like tapping anything makes me accidentally call people. Abhorrent UI/UX to be completely honest.

  • This is completely false. Tap the call, tap "call details" and its there. Took be 2 second to disprove. This is lazy to the point of being seemingly malicious commentary.

    • I agree with parent. When I tap the icon/picture on the history it should pull up the contact not call. I also find the need to click into a submenu for context bad UI.

      Your comment is unnecessarily inflammatory.

    • I'm just reading from the barrier here, and not knowing what it even looks like, but reading your description I can immediately agree that it is a bad design.

      There's only a handful of critical details in a call history, and absolutely no reason for any UI to implement them as secondary or tertiary details: Whether it was in- or outbound. To/from what contact. The date and time.

      2 taps for some other extra info such as call length, or further contact details, would be OK I guess, but for first-level info as these, it's 100% bad design.

      I mean come on, design-wise this was already a "Done" thing in the golden Nokia days! https://the-gadgeteer.com/2009/03/02/a-week-with-the-nokia-n...

      [*] Ctrl+F to find the image below "miss a call".

      2 replies →

  • I'm using LineageOS so I have the AOSP Phone app. If Graphene uses the same, then you can actually determine the exact time of call, but you need to jump through a couple of hoops: Go to "Call History" from the three dots then click on the call of interest. You'll see a button called "Call Details". Then you can see the exact time.

    • Can confirm the same works on Graphene. Also works directly from the "Recents" list.

  • Good news! GrapheneOS has ported Messaging to kotlin, jetpack compose, and material you. The same is planned for the Contacts app, Dialer app, and more. Dont quote me but it seems Contacts and Dialer are up next after Messaging.

    Also, GrapheneOS has very recently released automatic call recording for the Dialer.

Does it do RCS?

  • No. RCS is still quite hard to actually implement. There's an open issue for it but the effort is mildly herculean.

    AFAIUI though GOS does intend on providing an RCS impl eventually even if it takes years to do.

    • I'm really hoping they're doing this to pave the way for an RCS implementation. If it can be done, GOS is in the best position to make it happen, and without RCS, chatting with normies is both extremely inconvenient (large group chats straight up do not work) and categorically insecure. If I could convince all my friends and family to use Signal I would, but they just think I'm on about some weird Edward Snowden shit, and they just write me off as crazy. "Why would I checks notes download software to solve a problem when I could use the one that came with my phone?"

      5 replies →

    • RCS is really the only thing I truly am annoyed by with rooted devices. If GrapheneOS can build something open that works we should be able to rip it apart and get it to work without passing play integrity.

    • particularly if you want to support all of the message-body features, of which there are MANY. it's very business-comms oriented.

      I broadly expect third-party RCS apps to drop that though, like how essentially none support all of MMS. did you know MMS supports slideshows (I built support for this once)? 3d objects (mimetype model/gltf+json)? "timed text" (mimetype text/mp4)?

    • also I think RCS is way to insecure for Graphene OS - they have no way of making sure the communication is actually 100% secure.

      In my experience, Graphene OS doesn't make compromises.

      3 replies →

Where I live, an sms app is not very important. It's almost exclusively used for two factor authentication messages. Everyone uses WhatsApp, signal, telegram etc, even businesses and services.

So having a bare bones aosp messaging app was never an issue for me. Having said that, I find fossify messages pretty good.

Will try out the new GOS app too.

Would have been cool to have encrypted SMS messages like the SMSecure app while we wait for RCS

That was really fast, they only announced it like a day or two ago IIRC? Also: no screenshots of the redesigned interface?!

  • If you look at the history they have been working on this for a few months. The announcement probably was tied to this public release being cut for testing.

Now, can we please get the long-awaited full system backup feature? We pay you for a reason!

(sarcasm obvious, but indeed full system backup is sorely missing. Seedvault is crap, not an option)

The biggest issue I have with the degoogled Androids is no RCS chats out of the box. At least for me, it stinks these days to not have it, and you're forced to do sneaky things to get it.

  • GrapheneOS wants to eventually support RCS in the default chat app. It may take a lot of time for it to work without google components/google services but it is the eventual plan.

With a seemingly insurmountable workload - maintain an actually secure OS fork - for a small team, I wonder how GrapheneOS prioritizes things like messaging apps? I'm not saying it's wrong at all; I am just interested in the thinking inside a project like that.

I can imagine many reasons to devote resources to it:

* A platform is only as good as its apps. If they want to grow GOS in the general public, it requires a good SMS/MMS messaging app.

* LLM tools greatly reduce development costs, especially for well-known functions like text messaging.

* Without secure messaging (as far as SMS/MMS can be secure), the platform security is greatly reduced.

* GOS got a big donation, or has a volunteer that wants to do messaging ...

But idk what I'm talking about. What is their approach?

  • Well they're going to be shipping GOS on Motorola and I think some other devices, so basic things like the messaging app need to actually have some polish to them. I really like GrapheneOS overall as-is, but the messaging app felt like baby's first texting app. Not necessarily their fault since it's pretty much straight out of AOSP if I understand correctly. But any time I've installed GrapheneOS, the messaging app is one of two things I must replace every time (the other being the downright bad AOSP keyboard).

    If they fix(ed) their messaging app and their keyboard, then they've really eliminated a lot of potential complaints if a less tech-savvy crowd ends up buying future Motorolas.

  • GrapheneOS has made a big push to hire a bunch of experienced, talented app devs, and they have been slowly chipping away at Messaging for a few months. They now have the resources to take on the AOSP apps and resume with the GrapheneOS apps. The rest of the AOSP apps are also planned to be overhauled.

    They also plan to eventually support RCS in the Messaging app.

    • > GrapheneOS has made a big push to hire a bunch of experienced, talented app devs

      That's great. How can a FOSS project afford that? Where does GOS money come from? Did Daniel win the lottery?

  • A bunch of the AOSP apps feel like you have to rewrite them for modern standards now and then you can basically have them in maintenance mode for years. The AOSP messaging app has also lasted for 15+ (?) years and has basically had no maintenance from Google for many years.

    Modernizing these apps seems very high-impact. These are the very first things a new user sees and after the initial modernization, they should be relatively cheap to maintain.

    • > Messaging, high impact.

      Messaging can be replaced with one of the hundreds decent messaging apps.

      Unlike the backup app which is utterly unusable, untrustworthy and frankly crap. And CANNOT be replaced by anything else.

      As it stands it's impossible to have reliable backups in GOS.

  • I you look at the commits of the new Messages app it's mostly made by 2 people whose Github profiles show them as employees of GrapheneOS and who are mostly committing to different system apps. So I assume they have a separate team of devs whose job it is to make the system apps.

    IIRC when they started first announced their replacement for the AOSP camera they said they hired a developer specifically for it.

I had a scary bug on an older version where for months the contact names didnt match the actual senders/recipients. I have received SMS from my WISP under the same contact as Github MFA codes but also send mssages to relatives that never where received...

Seeing "Material 3/Material You" is a negative point for me, not a positive. It's almost comical just how atrocious the UI is. Yes let's make all phones 20% huge-er and all whitespace 40% wider, said no sane person ever.

Looks prettier but a shame an obvious regression happened for one of my primary use-cases: copying one-time codes. Long pressing on a link selects the entire SMS instead of bringing up a menu for the link. [0]

Makes me wonder about all the testing now

And the issue worded/tagged as a feature instead of a regression. Are the devs aware the feature existed before?

later:

It's doubly disappointing because just 4 days ago the project wrote [1], on using AI for the new Messaging app:

"it's also helping us raise our standards for our own work by pointing it at that to get extremely pedantic criticism catching many things we would miss...We've hired multiple experienced app developers who have spent months working on modernizing the Messaging app and carefully reviewing it"

[0] https://news.ycombinator.com/item?id=49592770

  • You're using software from an alpha channel.

    People sometimes.

    • Alpha lowers the expected level of polish and stability - it doesn't make every regression equally acceptable. It is a reasonable criticism even when released to the alpha channel.

      Further, I believe it's reasonable for users' expectations to be influenced by what the project itself communicates about the development process.

      > People sometimes.

      I have experienced many (relatively minor but some annoying) bugs in GrapheneOS the past few years, without complaint to the developers. And have submitted bug reports and logs. I'm "in the trenches", not just slinging mud from the outside. If I were in a better financial situation right now, I would be donating too.

      1 reply →

  • It's doubly disappointing because just 4 days ago the project wrote [1], on using AI for the new Messaging app:

    Why? Using an LLM as an additional reviewer seems like a good use of LLMs? Personally I have found LLMs very useful for that and they catch issues that other experienced programmers do not always find. It’s not like they are vibecoding a messages app.

    • My comment makes it pretty clear what the disappointment is:

      > shame an obvious regression happened for one of my primary use-cases: copying one-time codes

      Then the "later" is that even with frontier AI review tools, it was still missed

      I am not alleging vibe coding - that's a strawman.

Wake me up when I don't need to ship hundreds of dollars to Google to use this OS.

  • It's maybe $250 for someone's old phone.

    Other than that -- next year. And this is other companies' choice, not GrapheneOS team, to fix on releasing grossly insecure hardware or NOT releasing patches and fixes.

  • Go down to literally any 2nd hand phone store and buy a refurb. None of your money will go to Google and you'll have your phone at a fraction of the new price.