iOS holding my phone number hostage = the worst bug I’ve ever experienced
blog.benjaminste.in
blog.benjaminste.in
Ugh, thinking like this just may well be the biggest problem in our industry.
Stop being user-hostile.
There's incentives for people who make closed systems to make the most common edges of them comfortable. There's also incentives for them to ignore other sharp edges or to even actively make other edges nearly untraversable.
Federation is a problem because none of the standards interop. The closest thing we had was XMPP which became mega-bloatware as time went by and is now just not something anyone wants to implement (and it's becoming less of an issue as most of the players move away from open-ness).
While the technical among us understand the ramifications of these decisions, the silent majority do not. I believe it was Elad Gil who said that services that eschew privacy have historically dominated their more private opponents. Users say they care about privacy but their explicit value systems (what they say versus what they do) says otherwise. The majority of consumers are happy to take iMessage and use it to the extreme and will attribute silent failures to the operators in most cases (which is not necessarily wrong).
True federated identity is the death of the phone network and there are just too many billions of dollars tied up in the world for this to come to pass. A phone number is a ridiculously arbitrary identifier for a person, and yet it works and has worked for quite some time. Logically addressed networks are finally starting to break, and that's a good thing, but the catalyst that will move us away from these systems is one that subsumes existing infrastructure while adding new features. You cannot rip and replace our communications networks (or any infrastructure for that matter) and so the only logical solution is to subsume. It's not easy, but that's how this gets fixed.
We got number portability and wireless number portability, but the carriers still act as if they own our e.164 addresses and make the transfers arbitrarily difficult. We use phone numbers of SMS, but really we use individual address books, stored in devices, or synchronized with central repositories. We use names to identify people and have to work hard to ensure that our address books are not filled up with duplicates created because we used a one-off email address, or phone number and the phone wasn't able to merge it with an existing contact automatically. We have identity providers that can only represent a small portion of our identity, real names on Facebook and Google+, but cannot resolve that back to our phone numbers or find the best way to contact us at any given time. Presence, which was the real promise of IM and XMPP (and SIMPLE if you must) is not integrated. I cannot determine before hand whether somebody is available to talk on the phone, would prefer a text message, or if I should leave a push voice message they can listen to at their leisure.
Even calling a company with a well designed IVR is still a confusing waste of time, when the device I am calling that system from is smart enough to contain any identifier or proof of identity that the called party would need, the protocols are artificially limited to phone numbers as identifiers. There is also no out of band solution to this problem, or the the problem of selecting what department I would prefer to speak with about a problem without navigating a menu that the interface on my device is not really designed to use. Think DTMF on an Android device where the screen shuts off.
As most users would prefer the Android compatible version, the forked version would likely be installed by most users as most users would want to talk to Android. This problem would then be easily fixed: someone could just submit a pull request for a fix for this issue and create a way to easily stop receiving messages through iMessage. Even better, the author would not need to stop using iMessage - he could keep using it and receiving messages on Android.
Ultimately removing the lock-in at the client level forces the problem to auto correct itself across the board by allowing users the option of migration and developers the option of improvement.
I very much doubt the Apple engineers who wrote iMessage were rubbing their hands together in maniacal glee, at the prospect of being able to prevent people from ever migrating away from iOS, if they but used the phone number in this specific way.
It sounds like it's exactly what TFA's author assumes: a bug.
Apple has certain well advertised priorities. Interoperability with non-Apple systems is not one of them.
(Not to blame Apple in particular -- non-intropability is coincidentally a common feature among the biggest player in every industry, while interopability is a key feature of challengers. But it's just a "bug"... )
If the bug ever surfaced or was ever thought of by anyone at Apple at any point in the development process of iMessage, Apple will have effectively accepted to lock the user in by not having it fixed or communicate about it in some way.
The OP must not be the first to report the problem either (he switched after iOS7, iMesssage was more almost two years old by then) ?
This might not be an issue Apple cares in any way, and that's fine for them. We should just recognize their shitty behavior, even if it's originally accidental.
I don't see the need for absolutely open hardware for an alternative messaging system. Sure, they aren't FLOSS solutions, but they are much less closed than iMessage and are cross-platform.
Note: Hangouts is an abomination.
I'm not 100% clear on this: why can't there be an open mobile OS that runs on (bootrom-exploited) iOS devices?
Sure, you can use proprietary hardware (iPhone) and try to make it run different software, but your luck getting around their protection systems may vary (and it may or may not be illegal, depending on how much you care).
Hell, it can be difficult to get an unsupported version of Android to work without major bugs on an Android phone.
They had to rewrite the drivers, of course.
[0] - https://whispersystems.org/
[1] - https://telegram.org/
XMPP is _the_ standard, with just so many[0] implementations. On mobile, a good choice is ChatSecure, or Yaxim if you're on Android.
> that lots of people use
XMPP certainly doesn't meet this criteria, it would have to be IRC... but that's yet another way of modelling your social interactions.
The problem with XMPP (or any IM protocol for that matter) is that if nobody uses it, there will be little technical progress, which means few people will use it, etc...
This is not comparable to the normal performance of SMS or iMessages.
The software I'm using can't solve that problem.
Even the 'good' behavior in this case is awful. Why would a text message fallback to MMS rather than SMS? I'm pretty sure it's because Apple wants non-iPhone users to think of their phones as broken.
When I (UK) switched in the late 2000s, it took about an hour.
I've read some porting horror stories online over the years. Yours is probably something like the 6th or 7th. I assume things do sometimes break, but it doesn't seem to be particularly frequent, considering millions of people switch carriers every year.
I will say this though, switching mobile goes rather well almost all of the time. Porting numbers on fixed telephone lines is much more apt to fail.
Apparently blaming the victim is totally okay as long as the victim was using a brand you don't like.
Two, calling this victim blaming is a bit of a stretch at best and ridiculous nonsense at worst. Yes, what happened to OP is unfortunate but it's just a moderate inconvenience. It's not like someone drove their car over him or smashed his face in with a bat (he'll get over this much easier). The person you replied to therefore is not wishing serious ill will on him. They are simply saying they hope this mild inconvenience is enough to wake him (and others) up to the necessity of free software.
> is enough to wake him (and others) up to the necessity of free software. What free software was he and everyone he's communicated with in the past 5 years supposed to be aware of?
I call BS. If OP choose free software we could AS WELL have had the same exact problem.
It's a software bug -- the client caching the remote method to use (data or standard SMS). A free program could just as well have the same issue.
What "more control" you'd have? You could issue a bug fix request, which could just as well be ignored (I've several on FOSS projets). Or you could even have it fixed, but then you'd need to convince all the users you talk to to update to the latest version until you see any improvement.
The difference here is that a sufficiently competent person cannot reliably replicate the experience.
He would also have lost other benefits, such as convenience, automatically using data instead over SMS for casual chatting, using the method he damn wanted, etc.
What having a problem like this justifies is FIXING the problem, not not using the technology in the first place or some ideas about proprietary and OSS.
Not to mention those are beside the point. Even if he DID use a proprietary messaging solution, he might very well have the same issue. It's not an issue that stems from being proprietary, it's an issue that stems from a stupid caching implementation. If some FOSS mobile chating app had the same bug, he would have been bitten by it just the same.
At this point, it's obvious Apple is ok with this. It's a giant "fuck you" to anyone moving away from them and it leaves a bad taste in your mouth knowing they do this purposely.
There's plenty of incentive for them to fix this. OP is far from the only one calling Apple customer support or going to a Genius bar over this issue. Those costs add up, unless they're also considering the incentives on the other side of the ledger.
It's not a big problem to deal with. There is no motivation to fix it. It's not that Apple is doing anything purposefully. It's that they aren't, and won't, do anything to help since they know that OP (and that ilk) are not their customers. If OP didn't want to "lose" all his friends/network, he would have just got a 5s and shut up.
Obviously it's a non-trivial fix when they engineered their system on the assumption that nobody should ever leave the iPlatform.
It might be a "stretch", but you could say designing your system in such a way that there's no clean way to leave is intentionally making it hard to leave. Or would that make you a lunatic?
Seriously though. Almost every ex-iPhone user I meet thinks SMS is broken on Android, because other iPhone-users (like wifes) no longer is able to message them. And I'm pretty sure Apple is 100% OK with that.
This way, all your contacts are iMessaging with your email address, not your phone number. It means it will keep working when you travel internationally and switch SIM cards, and it means you can disable it easily via your Apple ID should you ditch the iPhone.
But it's an extension of "stop relying so much on a non-free, proprietary 9-digit number as your id only to be at the mercy of your phone carrier".
Personally, I use a data-only plan and feel much better than when I had a carrier-provided phone number.
My iMessage/FaceTime are set to use an email as the only ID. No one else knows or uses my data-only phone number. Just like they don't know or use my IMEI number.
The fact that you must go and manually change it to your email address for outbound iMessages is the part that's invisible.
In the US phone numbers are much more open than any other means of identifying someone you want to contact.
"non-free" is a bizarre thing to say in this context. No identifier is going to be free as in speech - that would defeat the purpose. If you want to have assurance that you can keep the identifier it had better not be free as in beer either - the provider of the identifier could revoke it at any time.
Some sort of government-issued communications identifier might provide the needed benefits, but actually the phone number is the best solution to the problem that we have.
If you're relying on an email address, you're in much shakier territory. (Unless you own your own domain and email hosting solution, and unless you're a multinational corporation it's likely to be less reliable than other options.)
I would say that a public key would work well as a free as in speech identifier. It uniquely identifies an address-holder, and the full software necessary to send messages using that key can be obtained and held on one's own. The problem comes when expecting an identifier to be associated with a person, since there you need a trusted authority to relate between names and keys.
That email address will be valid and accessible as long as you have internet access. You can travel, use Wi-Fi or cellular data, and it will work.
You can create a new email address for free.
In that context, getting a phone number is much more limited and not free (you need to pay for a voice plan, etc.). And your ability to use said number from other countries (roaming) is limited and expensive.
I often exchange iMessages with people whose contact entry for me likely consists of phone number & name, and if I'm lucky, a photo.
[Edit] Just realized it also means that people who have both your iMessage-enabled email address and phone number in your contact info will be prompted on whether to send the iMessage to your phone number or email when composing a group message, and many will likely continue to select phone. Apple just needs to add the ability to disassociate your phone number with iMessage, and have clients check that status and update their local configuration when composing or sending iMessages. [/Edit]
It is fraud to fail to deliver messages to my phone when I've switched phones. It shouldn't take me calling you, it should happen automatically and in under a day.
1) Turning off iMessage on old iPhone 2) Removing phone number from my Apple account 3) Friends removing my cell # from their address books
and a few other random things. Nothing has fixed it. The only way a friend with an iOS device can SMS me is if they turn of iMessage. This is a pretty huge bug on Apple's part.
Did you unregister your device(s)? After doing this I think people's iPhones know your number isn't an iPhone anymore and after it fails to send the iMessage it sends it as a regular message. The below link helped me:
http://support.vodafone.com.au/articles/FAQ/How-to-deactivat...
I'm still having occasional problems with not getting texts but for the most part it's fixed.
Given that they have established a market-distorting barrier to exit, they should be ordered by a court to fix this issue.
iMessage is a huge mess - even if you're still using your iPhone. Back in December, when I was still on iPhone, I went in a month-long trip abroad. Since data roaming still costs a fortune, I had data switched off most of the time. I'd just connect on wifi whenever possible and occasionally switched on the data connection when I really needed to get online while on the go.
Yet, despite the fact that I was roaming and that I had my data connection switched off, most of the text messages that my iOS-using contacts sent me were sent via iMessage instead of plain SMS. Which meant that I'd only get their message when I went back online, hours and sometimes days later.
And people have their own individual and transient needs. If a text message makes it easier to say you're sorry, then there's nothing wrong with it. Particular if that's already an accepted and normal way to communicate between the parties.
The problem wasn't that he sent it by text, the problem was that the relationship was too weak to withstand N hours of no communication. It was going to break anyway.
Just another of the many apple straws that have been breaking the camel's back for me recently. The fact that it could haunt me even after I completely leave their platform is truly disturbing.
I feel that this issue needs a lot of noise. Bug or not it should be filed under non-competitive behaviour.
I texted my own number using one of their phones and asked the mystery recipient if she recognized my phone number. Apparently, it was her old number: still attached to her iMessage account. She removed it, but weeks later, I still don't receive any texts from iPhone users. Guess I'll have to check in with AT&T/Apple about it.
tl;dr: This bug can affect you even if you have never owned an iPhone.
A few years earlier almost all of them wouldn't be on iOS, but now they are often using iPhones (sometimes old handmedowns) on those disposable numbers, so if it breaks messaging when changing numbers... Then that will be a problem for many people.
What's comical about this is how easy it is to fix: have a cache that breaks weekly; upon new text message, ping Apple HQ and see if device is iOS and has iMessage installed; great, save for a week.
No matter what, it would require some sort of update.
But there's no way to clear the client side caches.
If not, what do you do to wipe an app's data?
1. Wipe out the iMessage data - which is all their message history.
or
2. Manually delete every message/thread the OP has been involved in.
That's not going to happen.
Logically, the Apple ID / phone number mapping seems like it should fall under cached data (e.g. it can be regenerated and does need to be re-checked from time to time). If the iOS Messaging app properly implemented this distinction, users (or Apple) could clear this cached mapping without touching anyone's message history. Sadly, it sounds like it hasn't been implemented that way, so...
I don't understand why Apple doesn't have a solution to this yet. It was obviously going to be a problem from the start.
The people I feel worst for are those who get a phone number that used to belong to an iPhone user. They may miss texts without any idea what is going on, and without any recourse to fix it.
https://appleid.apple.com Try going here and removing the phone number from the "Phone Numbers" section. I still have friends who try to message me and their iOS assumes I'm using iMessage. The "retry as SMS" feature is the only method that works.
THE FIX: Log in to your Apple support profile, go to the devices section, then unregister all the iOS devices associated with your account.
After following these steps, I'm not problem free. I had tried many times before to reactivate/deactivate iMessage, but never with the sim back in the device.
I then went into Settings >> Messages and turned off iMessage. All the iPhones that had previously been trying to send me messages via iMessage then started routing messages to me via text.
† From the WWDC 2010 keynote: “And we're going to take it all the way. We're going to the standards bodies, starting tomorrow, and we're going to make Facetime an open industry standard.”
Hacker News's automatic capitalisation strikes again! I thought this was about Cisco IOS for a moment.
Of course, he'd have to do a backup > wipe > setup phone with his iCloud account & SIM > change settings > wipe > restore from backup... but, honestly, this is the process I had to do and it took about 5-10 mins tops.
I had this same exact problem, and this was by far the easiest solution. Just need to have a friend willing to you let you manhandle their phone for a little while.
If the phone number was de-linked immediately what would the use in that be? It expires after 10 days, anyway.
If not... you should do so.
If you give people the radar number they can duplicate it at that same site and raise its priority.
I assume that you would need to disable iMessages on all your iDevices in order to remedy the problem.
edit : seems like people don't understand my post. If you have a voice, the good thing to do is to make a blog post and submit it to websites like HN. The guy did it, now what can he do if he needs a quick fix? If he's in rush? Change number. It's really not that terrible and I do it every year without trouble.
(I still get recreuiters calling who have clearly only read a CV of mine from 10 years ago.)
I'm not sure how it works in US but in Finland you have guaranteed transferring across operators. Guaranteed as in fines will tick if the operator from which the number is transferred away is having some 'problems'. Not surprisingly those kind of problems are almost nonexistent.
It's kinda a pain and of course I have to pay to keep the iPhone around.
That is true, but not because of photos - don't they keep backups?
I guess this is why not to use vendor lock-in software instead of a globally accepted standard for basic communication.
The solution, at least in my situation, was to call the carrier. Apple wasn't at fault.
Both T-Mobile and AT&T would fail to complete all steps required for the transfer, and therefore still showed the old device as the active one. A simple call resolved the issue.
In a couple instances, AT&T & T-Mobile would resolve the issue. Then I'd see the same behavior again weeks later. Sure enough, they had reverted to the old device on my profile. Calling them again resolved the issue.
1) GSM is neither free(both in free beer and free to distribute) nor open-source 2) The phone that you are using, no matter how 'free' the software are, the hardware are mostly proprietary and those manufacturers aren't very FSF friendly (now getting better, but still way to go) 3) Phone manufacturers tend to add proprietary drivers/apps on top of Android, which renders the whole system not 100% free software either, so by saying iOS is closed-source, it is kind of like pot calling kettle black.
When and how do you invalidate.
My own example - I have Youtube comments that were up for a few hours before I deleted them. They still appear on my G+ history :-(
To fix, her friends who previously used iMessage to reach her had to start a new SMS conversation (or turn off iMessage entirely). If her friends just continued the conversations that started via iMessage, she could not get them via SMS.
http://mergy.org/2013/12/problems-getting-group-smsmms-from-...
When did this change? I recall texting a friend a couple years back, and it automatically failed over to SMS. I remember this explicitly because I was in Mexico at the time, and it led to a few extra bucks in special charges for texting in a foreign country.
I get why they wouldnt want to, but to me this is a shady as a broken "Unsubscribe from this email" link.
I do swear that iOS by default does send SMS after 5 minutes if it can't do it over iMessage though?
Nice one Apple.
...or Apple could stop making crappy software like this ;)
is Apple the only one making this mistake?
This bug sucks and Apple's solution isn't a good one, but that rebuttal is equally weak. Use PhoneDisk, PhoneView or one of the other methods to pull a text messaging history if it's that important to you and then blow it away.
It just screams data loss to ruin your day. I was (kinda) hoping OP would see that and maybe rethink his storage plans, because otherwise he'll be posting "wahh my photos weren't backed up" soon enough.