Just days after announcement, the Beeper app that (briefly) allowed for native iMessage communication on Android isn’t working, and it appears that Apple already found a way to kill it.
Announced on Tuesday, Beeper Mini from Beeper is an Android app that is designed to work with Apple’s iMessage platform. The change means an Android device user can now have a conversation with an iPhone user, with the Android device’s messages appearing in blue instead of the tell-tale green speech bubble.
At the time, Beeper thought that it was going to be impossible for Apple to kill in the short term. Instead of using a relay, Beeper Mini connects to Apple’s servers directly. The communications are also encrypted end-to-end, with keys kept on the user’s device, and without Beeper needing to have access to a user’s Apple account either.
Late on Friday afternoon, the app stopped relaying messages. A large percentage of users who have been using the service are now finding that they can’t use it, and worse yet, can’t disconnect the registered number from the service.
There are conflicting reports on the nature of the problem. A Beeper representative on Reddit says that the issue is on Beeper’s end.
An early statement by the company’s CEO isn’t clear on the matter, though.
“If it’s Apple, then I think the biggest question is… if Apple truly cares about the privacy and security of their own iPhone users, why would they stop a service that enables their own users to now send encrypted messages to Android users, rather than using unsecure SMS.” Beeper CEO Eric Migicovsky told The Verge on Friday. “With their announcement of RCS support, it’s clear that Apple knows they have a gaping hole here. Beeper Mini is here today and works great. Why force iPhone users back to sending unencrypted SMS when they chat with friends on Android?”
In a later comment to TechCrunch about the culprit, he’s more clear. When directly asked if Apple had a hand in the failure, he said that “Yes, all data indicates that.”
How did Beeper Mini work?
When you first use the Beeper app on Android, it generates encryption keys. The public keys are then uploaded to Apple’s servers to authenticate your device, and the private keys are stored locally on your Android device.
These encryption keys are used when sending messages. When you send a message, they are encrypted on-device before being sent so Beeper, Apple, nor anyone else will have access to them.
Beeper Mini back end setup
One of the difficult problems Beeper needed to solve, was notifications of new messages. On an Apple device, iMessage is built into the Apple Push Notification (APN) service which runs directly within the OS.
On Android, there is no APN within the OS so to stay connected, the app must be perpetually open, which isn’t feasible. Instead, Beeper created a Beeper Push Notification (BPN) service that runs on its servers.
The BPN service is what connects to Apple’s servers and detects when a message has been sent to you and alerts you in the app. Our best guess on Friday evening is that this is what’s been blocked.
This is able to maintain privacy as Apple separates the credentials for sending and actually encrypting/decrypting the messages. It will detect an encrypted message that it is unable to read before alerting you where the message is decrypted on your device.
Ultimately, the path forward for Beeper is unclear.