John Gruber on Beeper’s Last Hoorah

Roger Stringer
December 30, 2023
5 min read

John Gruber:

What I had been seeing during the week before Christmas is that Beeper Mini half-worked: messages from Beeper Mini on Android would go through to Messages on an Apple device, but from any Apple device, you could get one message through to an Android device running Beeper, but only one. After that, messages sent from an iMessage user on an Apple device to a user running Beeper Mini would silently fail. I’m guessing that behind the scenes, after that initial message from an actual Apple device to a Beeper client would go through, Apple would determine that the Beeper device was illegitimate and blacklist the device ID.

Regardless of details, half-working interop for a messaging service might as well be not working at all.

So Beeper effectively threw in the towel. Or maybe better put, half threw in the towel on their half-working app:

Each time that Beeper Mini goes “down” or is made to be unreliable due to interference by Apple, Beeper’s credibility takes a hit. It’s unsustainable. As much as we want to fight for what we believe is a fantastic product that really should exist, the truth is that we can’t win a cat-and-mouse game with the largest company on earth.

With our latest software release, we believe we’ve created something that Apple can tolerate existing. We do not have any current plans to respond if this solution is knocked offline.

Their current “solution” requires Beeper Mini users to either (a) own — or, I swear, rent — an old iPhone (6, 6S, 7, 8, or X), jailbreak that phone, install Beeper’s software on the old jailbroken iPhone, and then leave that old jailbroken phone powered on and connected to Wi-Fi continuously; (b) have Beeper Cloud — their desktop app — installed and running on a Mac; or (c) run a command-line tool to, on a weekly basis, regenerate a new iMessage registration code. Only with a jailbroken iPhone can you register your Android device’s phone number as an iMessage ID; if you’re using or borrowing a Mac to generate a registration key, Beeper Mini will only work using an Apple ID account, with an email address as your ID. Beeper’s own explanation for this rigmarole:

Here’s the backstory. When you sign in to iMessage on Beeper, we need to send identification information called “registration data” from a real Mac computer. We have, up until now, used our own fleet of Mac servers to provide this. Unfortunately, this has proven to be an easy target for Apple because thousands of Beeper users were using the same registration data.

Beeper Cloud (Mac version) and old iPhones can now generate unique registration data just for you. This 1:1 mapping of registration data to individual user, in our testing, makes the connection very reliable. If you use Beeper Mini, you can use your Mac registration data with it as well, and Beeper Mini will start to work again. Beeper needs to periodically regenerate this data even after you’ve connected, roughly once per week or month, so the Mac needs to be switched on regularly.

These hoops will relegate Beeper Mini to relative obscurity, even if Apple takes no further action to counter it.

Do these steps Beeper Mini now requires users to take really make using the app seem worthwhile just to have iMessage on an Android device? They took advantage of a loophole to work in the first place which Apple patched and as they manage to find another loophole to use, Apple patches those, finally their final method is to have users use an old jailbroken iPhone?

When will they say enough is enough?

Do you like my content?

Sponsor Me On Github