A couple of weeks ago, I was in the airport, about to get in the security line. My wife wanted to text me my digital ticket, which is a very normal task that should not have presented any difficulty. She tried. It didn’t work. We both had internet connections on our phones. I checked my phone, which informed me that I was unable to receive or send text messages. This is not something that normal people would ever encounter. For the next four days, when I was across the country for a wedding, I could not send or receive text messages. Anyone who tried to text me would have been texting into the void, a void I created out of curiosity and masochism. This is all because I put iMessage on my Android phone.
iMessage is an infuriating tech scourge, a messaging protocol created by Apple that is intended to work exclusively on Apple devices. Because it is the default messaging system on iPhones, texts and, especially, group texts are automatically initiated in iMessage. There is not really anything important that iMessage does that competing services like WhatsApp don’t do, but with iPhones being the most popular phone in many friend groups, including mine, group chats are often inadvertently iMessage chats.
Including an Android user in an iMessage group chat acts like a time-travel bomb, rendering the entire chat through the much older and more limited SMS texting system. SMS has character limits; links don’t unfurl; images and videos are severely downgraded in quality; forget about “liking” individual messages. Sometimes the Android user just won’t get the texts at all, or will only get some of them, or messages will be repeated or broken in some weird way. There’s also some class-warfare stuff with blue bubbles versus green bubbles; mostly that’s because the green bubbles — which signify a downgrade to SMS — mean the text thread is now a relic of flip-phone-era tech. The first SMS was sent in 1992; the protocol has barely changed since then.
I have bounced back and forth between iOS and Android for years, for no particular reason other than boredom. I currently use a Google Pixel 3A, because it is a very nice phone that cost $400. I like my Pixel 3A. I like that it’s playfully designed with a contrasting neon power button. I like the notification system, which Apple has never really figured out. I like that it charges over USB-C, that it has a headphone jack, and that the camera is exceptionally good. Phones are pretty boring these days; this one is both extremely competent and relatively inexpensive.
But despite all of that, when my last phone died, I considered going with an iPhone that I didn’t like as much as the Pixel 3A simply because I did not want to be left out of or be responsible for technologically stunting conversations with my friends. The way that I got around this concern is ridiculous, and stupid, and barely works. I really love it.
iMessage works by sending messages or images or whatever to a centralized Apple server over an internet connection. Apple then delivers those messages to the Apple products you have that can receive iMessages — iPhones, iPads, and Mac computers. A few years ago, developers began screwing around with adding a second intermediary. The software I use is called AirMessage, and it’s polished enough to be worth trying, for a particular kind of person, maybe.
To get AirMessage running, you have to install its server program on a Mac computer that is always running and always connected to the internet. If someone texts you via iMessage, the server takes that message received on your Mac and forwards it along to the AirMessage app on your Android phone. You text back, and your message goes from your Android phone to the AirMessage server on your always-on Mac, the server forwards it to your Mac’s iMessage app (called, for some reason, Messages), which then sends the message out to whoever you wanted to send it to in the first place.
Installing AirMessage is discouraging in about 12 different ways. There is not a single piece of tech in your house that wants you to use AirMessage. You have to go into your router’s settings and set up port forwarding to allow your Android phone to talk directly to your computer. This is not standardized between routers; you will be delving into the AirMessage forums to figure out how to do it.
You have to install another piece of software on your computer called a dynamic DNS provider to ensure that your computer’s IP address doesn’t change. Most IP addresses do change, because there are a finite number of possible IP addresses, so your router assigns your computer an IP address when you go online and then assigns that address to someone else when you go offline. This is a fine system except if you are a psychopath who wants to use iMessage on your Pixel 3A. If the IP address on your Mac changes, the whole system goes down and you don’t get any texts. Setting up this part of AirMessage probably took me three solid hours of trial and error and emails with the creator of AirMessage, who was surprisingly prompt and courteous in his responses.
You also have to give AirMessage unfettered access to your Mac in order to work. Letting a program access a user’s messages is considered such an egregious privacy violation that your Mac will make you repeatedly confirm that you want to do this. To give AirMessage access to your messages, you basically have to give AirMessage carte blanche access to your entire computer. This is, to be clear, a terrible idea. Obviously, I did it anyway.
Also, this entire system only works if you are an Android user who happens to have a Mac computer that you can leave on 24 hours a day, forever.
The whole thing is so duct-taped together that it falls apart fairly frequently, as it did in the airport a few weeks ago. My cleaning service once accidentally unplugged the router while I was on vacation. I did not get any texts until I got home and restarted everything. Sometimes it’ll break for no clear reason; shifting between your home Wi-Fi network and your LTE connection will occasionally prove too much for the system to handle. If your computer automatically restarts to install an update? Your text messages won’t work.
With normal iMessage, if there’s some issue with your internet connection, iMessages will automatically be downgraded to SMS texts and delivered that way. This is not the case with AirMessage, because those texts are still being delivered to Apple’s centralized server. If your AirMessage server is down, texts from friends will end up in a void; Apple thinks everything is fine, because it delivered the text to the associated Apple device, but your AirMessage server can’t forward it to your phone. The text will thus end up spinning slowly in another dimension, officially delivered but inaccessible and unknown to you. You will not see this text; you will not even know it has been sent, unless you can restart your whole system or access some actual Apple product registered to you.
There is, by default, a two-second delay in sending AirMessages, so rapid-fire chats suffer from rhythm issues. Google Maps links, like a pin to a location, do not work. They are sent as a downloadable but mysterious, unreadable file of a format I’ve never seen before. Whenever a friend tells me where they are, my phone shrugs.
But overall, my AirMessage setup works probably 95 percent of the time. The AirMessage app functions basically like WhatsApp or any other messaging app. I can see Animojis and web links unfurl; I can see hearts and thumbs-up reactions (though I can’t contribute them); I can send high-quality images and videos. I appear blue to my friends. In theory, nobody would know I’m using an Android phone. (In practice, I talk about this stupid hack all the time, so everybody knows.)
AirMessage is, objectively speaking, not a good solution to the Android-iOS communication gap. But I like it both because it does work, technically, and because it is a truly deranged hack that requires constant fiddling and results often in frustration. It is fun, and funny, to me. I thought it was interesting and amusing that my phone had suddenly broken in an airport. (My wife was not as amused.) I don’t know how to work on old cars, but I imagine the feeling is sort of similar. You could just buy a new Honda. It would work all the time, and you wouldn’t have to think about it. But where’s the fun in that?
This all might end up being moot, pretty soon. Google is, at long last, forcing through a successor to SMS that will hopefully be adopted by cell-phone carriers. It’s called Rich Communication Services, or RCS, and it’ll send messages over the internet rather than through a cell connection. That means RCS messages are able to contain high-quality images and videos, include bonuses like hearts and thumbs-ups, and convey when your pal is typing. Theoretically, the replacement of SMS with RCS would mean that iPhone-Android chats wouldn’t suffer the same downgrade in quality, though it’s unclear what kinds of iMessage features would actually work in an iMessage-RCS chat.
The bottleneck for RCS is the carriers, like Verizon and AT&T; there are some software updates that the carriers will have to handle to get RCS working universally, and they’re being kind of slow about it. Google is working with them to institute RCS as the default messaging protocol, and there are already ways to get RCS on an Android phone.
It’s possible that once RCS is the standard (the timetable is unclear), my texts and group chats with iPhone-owning friends will be functional enough that I won’t need to bother with AirMessage. This would be objectively a better outcome than relying on a weird hack for my most basic communication needs. I would probably just go with the easier option. Probably.