I wanted to share a small project I've been tinkering with called Operator, which is a…
I wanted to share a small project I've been tinkering with called Operator, which is a messaging app for dumbphones and transition devices; the Android ones with a D-pad, two soft keys and T9, like the TTfone TT990 I use as a daily driver. It puts WhatsApp, Signal, Telegram, Messenger, Instagram, Discord and other messaging apps all into one list, with notifications that arrive in seconds, and it doesn't need any Google services at all (not even microG).
It works by signing in to your Beeper account as a Matrix client. Beeper's bridges gather your chats into an encrypted Matrix account; Operator is the dumbphone window into it. There are other apps, like FluffyChat and SchildiChat that also do this - the difference here is really in the design, and how you can operate it primarily with a D-pad and T9. It's also very small and light, barely touches the battery, and has real-time UnifiedPush notifications.
I've only really tested it on my TT990 and one other device (also TTfone), and it's working really nicely. But before going to the effort of putting it all into GitHub and F-droid, I thought I'd see if anyone else was interested in an app like this. If so, let me know and I'll open source the whole thing into GitHub.
What it does
Every chat in one list, with avatars, unread counts, pinned chats, and a header. Driven entirely by the D-pad, keypad and the two soft keys.
Reply, edit, delete for everyone, reply-quote, copy, and a 15-emoji reaction grid. Delivery and read marks on your own messages, colour-coded so you can tell at a glance. Again, no typing or touchscreen needed - all in context menus accessed using the phone's buttons.
Photos on demand. Nothing downloads until you actually want it, so it's respectful of limited storage, and then it's cached as a thumbnail. Send images from the gallery or camera. Files can be opened in another app or saved to Downloads.
Mentions done properly. Highlighted names, an "@ you" tag, "mute except mentions", a badge in the list, and a member picker when you type @ in a group.
Links are listed in a message's context menu and open in the browser only when you choose.
Turn to preview: tilt the phone sideways on the chat list and it previews the highlighted chat without sending a read receipt. Good way to preview a message without anyone knowing you've read it yet. You can see this in the attached landscape-ish screenshot. (I like this feature, particularly)
Notifications without Google. A tiny ntfy relay carries a content-free "something arrived" signal; then the phone fetches the message itself over the encrypted connection. UnifiedPush is supported if you'd rather use your own distributor. Measured at roughly two minutes of CPU per hour in the background and no held wakelocks.
Encrypted end to end by Matrix, and encrypted again at rest on the phone (SQLCipher, key in the hardware keystore). No analytics, no crash reporting, no other servers, no tracking. I'll make it fully open source, GPL-3.0, so anyone can read every line of it.
Themes (the Operator theme, Slate, Switchboard, a phosphor-green Matrix), light and dark, three text sizes, and a high contrast theme for anyone who finds small screens hard.
Works with plain Matrix too. Sign in to any Matrix server instead of Beeper, start chats by Matrix ID, same app.
Light enough for dumbphones. Android Views, no Compose, a 16 MB install, built and tested on the TT990, and also on a dumbphone with 2 GB of RAM at 240×320, and it's smooth on both.
What it isn't
It needs a Beeper account with your networks connected (done on a computer, once. This is all done entirely external to Operator). So it's particularly useful for dumbphone owners who use Beeper, I suppose. No calls, no voice-note recording yet, no groups creation yet. It's a beta from one person in their spare time.
If this is something you'd use, say so and I'll look at getting a beta out. Happy to answer anything about how it works!
Poll
- I'm interested!
- Not for me