236 comments

[ 4.9 ms ] story [ 255 ms ] thread
If message histories are your only copy of family/friends photos, you're doing it wrong.
This is a such wrong reply. The OP did not complain about his message history, he was talking about message histories of all his friends and relatives. Do you really think it could be socially acceptable to approach each of your friends and relative and tell them: "If message histories are your only copy of family/friends photos, you're doing it wrong." ?
I don't even think it is acceptable to approach each of your friends and relatives and pester them with some technical issue that shouldn't exist in the first place. The proposed fix just isn't a viable solution.
This is true, but on the flipside it's hardly Apple's fault if the only copy they have of highly important and sentimental photos is a cached messaging stream. There are countless ways to back up that data. It's like blaming Microsoft because you didn't save transferred files during a Skype session. Once they're on you're end, they're your problem. Apple's job is to send them and make sure they arrive, that's it.

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.

I wasn't even commenting regarding the stuck number, which is clearly an issue. I was arguing that this: "the vast majority of messaging I’ve done in the past 3 years are group messages with pictures of our children."

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.

(comment deleted)
>IOS

Hacker News's automatic capitalisation strikes again! I thought this was about Cisco IOS for a moment.

It probably costs like $5 to change your phone number. I think that's the best option at this point.
And it possibly costs you new business cards, and having to let everyone know that you have a new number, and changing any social profiles, etc.

...or Apple could stop making crappy software like this ;)

One of these options is under your control, one isn't.
Unfortunately Apple has zero incentive to fix this bug. Why should they care about customers they already lost?
I try and be very helpful to customers I'm losing... they might come back one day or recommend someone to me.
Well, it will at least annoy their tech savvy customers since they know that it's Apple's bug.
So when a new potential customer comes in, they don't have to worry about vendor lock in.
The fucked up thing is that is actually benefits Apple. The economic value of your subscribers it approximately the number of subscribers times the switching cost. This bug raises the switching cost and therefore makes their customers more valuable.
I know it's annoying but the best solution here just seems to change your number. Don't lose your mind over this one.

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.

Yes, asking everyone to use a new number is less work than asking people to delete all their imessage threads. Updating contact info at work and with services shifts the burden to him.
I don't get if your comment is sarcastic or not. If it is, I don't see why it would be such a huge problem. It's a quickfix and if I were him, and in a rush to fix the problem, I would do that. I'm personally changing my phone number every year and it's never been a burden.
It wasn't sarcastic I was agreeing with you. I guess other people thought I was being sarcastic too because you got downvoted and I didn't. I don't know, seems kind of obvious. I use google voice, I never have to change my number when switching phones. I don't know how that would impact imessage. I wouldn't ever use such a service baked into the phone by the phone maker.
What happens to the next person who gets that number?
if he doesn't have the same friends it's not a problem. I mean, he wrote that blog post, posted on HN and on various websites. It's getting attention. It's good. Now the guy still has to fix it so he can still contact his friends.
The problem is not server-side but on the client. So as baby said, it won't be an issue if the next person doesn't have the same people to message.
I've had the same number for 16 years. Ported it between four different networks.

(I still get recreuiters calling who have clearly only read a CV of mine from 10 years ago.)

It's never a good idea to rely on one number, or one email address, etc... The day you lose this you lose all your connections.
While one might lose their email losing a phone number is way way harder.

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.

A last ditch fix would be to get a new phone number and port your old problem phone number to a VoIP service with an Android app
Wouldn't it work to lend an iPhone, turn it on with the SIM holding the number and then switch off iMessages there? Wouldn't this invalidate the cached account in other iPhones?
No this does not work. Group MMS from iohones are still dropped (as the article clearly describes).
I don't see how the group MMS show that this wouldn't work - the question is whether cached accounts get purged through this client action, both on server and peers.
Changing your number should not be the solution to this problem. I recently switched from iOS to Android and have been experiencing the same issues. The OP's title says it best, "IOS holding my phone number hostage." Changing my number would require an incredible amount of inconvenience. Apple needs to address this immediately.
The same thing happened to my Mom when she switched to Android this past Christmas. The solution in that case was to get her to connect her old iPhone to the Internet via Wi-Fi, and then disable iMessages.

I assume that you would need to disable iMessages on all your iDevices in order to remedy the problem.

Did you try putting your SIM card back into your iPhone, then going to Settings > Messages and turning off iMessage over there? Make sure you have an internet connection too so it can "broadcast" your new status to Apple HQ. This is what I do when I'm abroad and don't want to dataroam. It's possible you already tried that and it won't make a difference - I don't use group messaging a lot.
"Let me recap: I no longer have iPhone"
This would also work if a friend lent him their phone.

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.

Yeah, all that OP has to do is go into the settings on the iPhone and either unlink the phone number or disable iMessage entirely and it'll go back to normal. It just required some forethought other than simply wiping the phone. I don't understand what the issue is; the feature is there so that you can be iMessaged if your phone happens to be turned off for a few days.

If the phone number was de-linked immediately what would the use in that be? It expires after 10 days, anyway.

Nope. I still have the iPhone. Everything is unlinked, deactivated, reset, etc in every way possible.
In that case, you seem to have run into a separate bug. This is what worked for me when I switched back to Android. How long have you been waiting?
I had the same issue when switching to a Nexus 5.

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.

Also make sure to tell them "Send as SMS" is enabled on their iMessage settings. This will automatically try to re-send it as a text without manual intervention.
My wife just switched from an iPhone to a Note 3 and this concerned me, but I was surprised her cell number is not listed with her apple id.
I'm having what I think is the same problem just from getting my broken iPhone 5 replaced with a new one. Same deal with tech support - very nice, but not able to solve the problem. Sounds like a bug in iOS that could seriously stand fixing.
(comment deleted)
This article claims resetting your apple ID password will disassociate the imessage phone number: http://support.apple.com/kb/HT5538
Yup. Tried resetting everything possible. So did Apple support. And they escalated to engineers who also said they have no more records of my number server-side.

But there's no way to clear the client side caches.

So it's clearly a bug or intentional misfeature by Apple.
That sucks, if it is the case. It only takes a second or two for a newly added number to switch from green to blue (I'm sure it's some kind of HTTP number lookup request to an *.apple.com web service), so why couldn't they re-request that every time - or at least keep the caches down to like 15-30 minutes...
Do iOS apps not have a clear data/clear cache system level option like android does?

If not, what do you do to wipe an app's data?

It does. Since it's cached on every device of the people that has sent messages to him, each one of them will either

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.

I believe you're missing ac29's point. Android allows applications to distinguish between cached data and "regular/permanent" data. It also allows users to clear them separately.

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...

It works -- Also, make sure if you have an iPad or you're using your Apple ID with Messages on Mac OS X that you sign out of everything beforehand. Last resort is changing your password but it works.
I had a similar issue this weekend. Once I changed my Apple ID password I started to receive SMS messages from people with iOS devices. I had to re-authorize all Apple services on my other devices and machines.
I'm experiencing the same problem, I've tried:

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.

Same here. Incredibly frustrating.

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.

Yup, I unregistered my devices too. Will double check and follow that link's instructions.
From Apple's perspective, it sounds like quite a handy bug. Since I've been an iPhone user for 5 years, this bug makes me locked in to the iOS environment.

Given that they have established a market-distorting barrier to exit, they should be ordered by a court to fix this issue.

That's odd. I made the same switch, but when I turned off iMessage on my old phone, texts from contacts with iPhones are sent correctly to my new android device.
I'm currently having to deal with this too. The best solution that I found was switching my number and keeping the iPhone, jailbreaking it, and installing BiteSMS with forwarding.

It's kinda a pain and of course I have to pay to keep the iPhone around.

Just think, if you hadn't used a proprietary messaging solution as your default contact method, you'd be able to easily control how you receive the messages. Maybe stuff like this happening is a good thing as it drills home the point the 'crazy free software lunatics' have been going on about for some time. Having this kind of thing happen to someone makes the stuff FSF+co says a bit more relevant and ultimately helps everyone.
> Maybe stuff like this happening is a good thing as it drills home the point

Ugh, thinking like this just may well be the biggest problem in our industry.

Stop being user-hostile.

I don't know that RyanZAG is so much being user-hostile as reminding us that there are facts of non-free systems that are going translate to user-hostile for at least some subset of users.

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.

I came here to say exactly this. Source: I work in the guts of some of the biggest telecom networks on the planet.

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.

It's almost absurd the lack of fanfare surrounding AT&Ts proposed phase out of the PSTN in favor of IP networks.

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.

Um. I'm not the one who made iMessage - you need to look at the guys making locked down messaging systems for the user-hostile actions causing problems like these and no doubt much more in the future. If I could help these people out and give them a script to run to fix their problem I would - but of course I can't, because everything is locked down by others who are putting their own vendor lock-in above user satisfaction. And I agree that it is the biggest problem in our industry.
You're focusing on lock-in at the client level. And while I agree that's a problem, it's not the biggest problem. Not by a long-shot.
It is the biggest problem, it's just hard to see. Let's assume iMessage was OSS and freely uninstallable/re-installable on iOS devices. This would mean that an iMessage fork could be created that was able to talk to additional services and not only Apple ones. This would be done quickly as iOS users would want to use iMessage to talk to Android users also. The iMessage client itself would be duplicated for Android quickly as well if it was OSS.

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.

Thinking about it further, I don't even think it's appropriate to call this "lock-in".

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.

Sufficiently advanced incompetence is distinguishable from malice.

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"... )

Does it change much to focus on the original intention of the engineers?

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.

You don't do a good job of envangelising for open source and open standards by making posts like the 2 in this thread.
(comment deleted)
I disagree, I think he made excellent points, and I fail to see why you think there is a problem with his comments.
So, what's an open-source alternative to iMessage that lots of people use?
The reason iMessage works well is because it's integrated tightly into the OS. So for an open-source alternative to be competitive, it would have to run on... an open mobile OS, which would in turn require open hardware.
Heh? Have you tried solutions like Whatsapp, GroupMe, or Viber? They all work absolutely fine on both big mobile OSes, regardless of hardware.

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.

WhatsApp does not work on tablets. Its stupid auth system requires a device with a phone number.
Fine, but Viber does, right? There are open source, secure messaging systems on the way too. My point was that you do not need open hardware to have a relatively open messaging system. Just look at IRC as an example. It might be somewhat dead now, but it certainly runs on everything now.
Other than that, I find WhatsApp to be amazingly solid as both a one on one and group messaging app. Its why I ditched Hangouts completely.

Note: Hangouts is an abomination.

Neither of these are open source...
> it would have to run on... an open mobile OS, which would in turn require open hardware.

I'm not 100% clear on this: why can't there be an open mobile OS that runs on (bootrom-exploited) iOS devices?

I should've added *for best/cleanest experience.

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).

Curious: has this even been tried? I would assume Apple SoC's require binary drivers, so even though they are similar to Android phones on a hardware level it might be difficult or impossible to even get an Android port to boot.

Hell, it can be difficult to get an unsupported version of Android to work without major bugs on an Android phone.

It was tried a few years back: http://www.idroidproject.org

They had to rewrite the drivers, of course.

Important to point out: the authors of iDroid stopped, but not due to any technical obstacle; it was mainly because iDroid was a hobbyist project and their lives intervened. Someone else could pick up the effort today, if they wanted.
However even if someone picked the project up again it wouldn't run on any modern devices, since the last iPhone to have an untethered bootrom exploit was the 3GS.
> So, what's an open-source alternative to iMessage

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.

[0] http://xmpp.org/xmpp-software/clients/

XMPP is only a kind of alternative for nerdy users:

http://op-co.de/blog/posts/mobile_xmpp_in_2014/

Depends on what you want to do. I admit I didn't know what iMessage was capable of, but the basic features (text, images) are also possible with XMPP. The more complicated ones is a mixture of "the ISPs don't allow that" (I'm thinking accepting inbound connections), "the user needs 3rd party support" (I'm thinking about needing a proxy server for transfers, which most people don't have, but Apple can conveniently proxy transfer through its own servers) and "just do it".

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...

Email? Really, now that everyone has email on their phones, why bother with SMS or these SMS-like systems? Email is more reliable, more flexible, and seems to be just as fast in practice.
Except there is no email app that I know of that presents conversations in way that is as easily readable as line, messenger, etc. I wouldn't want that either as the current presentation is perfect for large amounts of information that I get in my other emails.
The smallest email in my inbox right now has 913 bytes of headers and 132 bytes of content. Between the various hops, including through a spam filter, it took 13 seconds just to land on my server. It was then an additional 0 to 300 seconds before each of my devices knew it existed, because push remains black magic when dealing with clients and servers from different authors/companies.

This is not comparable to the normal performance of SMS or iMessages.

The problem is that the people sending the messages can't control how they are sent.

The software I'm using can't solve that problem.

Yeah, other peoples' misfortunes are totally "a good thing" if they help illustrate the motivations for one's own political agenda.
When's ones "political agenda" is to protect people from paying money to walk into the traps they are complaining about...
If other peoples' misfortunes are influential in keeping others from making bad decisions that have an effect on us all, then yes.

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.

SMS is also a proprietary solution, as far as I know. If you don't think so, check the costs of integrating with SMS...
Still, the telco industry is regulated. It's a difference.
Apple is regulated.
SMS is interoperable between every phone and phone company on the planet.
not in Japan
Used to be like that, but they fixed it a while ago. Though sending messages across carriers is rather expensive.
Try switching companies and see how well it works. I have no idea what the actual porting process involves, but then neither did the 2 big telecoms I was dealing with. I had weeks of carrying 2 phones. One received calls, the other SMS. And the telecoms sat there blaming each other. Vodafone and Telecom. New Zealand.
Sounds like carriers there are incompetent then.

When I (UK) switched in the late 2000s, it took about an hour.

I've gone through number ports in the US three times (seven if you count each number separately) without a single problem. Each was completed within several hours, and dual service time was somewhere between minimal and non-existent (suddenly the old phone stopped and the new phone started). This is in line with what I've heard from friends and relatives, too.

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.

It breaks surprisingly commonly. You've moved 3-7 times in a few years. I move different customers numbers at many times a month. Around 20% of the time we have issues with fail to fast busy for 8 to 12 hours where no system on the telco side takes a call.

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.

(comment deleted)
> Just think, if you hadn't used a proprietary messaging solution as your default contact method, you'd be able to easily control how you receive the messages.

Apparently blaming the victim is totally okay as long as the victim was using a brand you don't like.

You've failed to understand on two levels. One, this is not a question of competing brands. That's a question of technology and not liberty, which is the point of the comment you replied to; if OP choose free software, it doesn't matter which "brand" he chose, there are a number of free application that do the same job.

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.

> They are simply saying they hope this mild inconvenience If you read the post, you would know this is not a "mild inconvenience" for him. If you truly believe that, then I would contend you haven't experienced what it's like to lose a significant amount of personal data.

> 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?

>One, this is not a question of competing brands. That's a question of technology and not liberty, which is the point of the comment you replied to; if OP choose free software, it doesn't matter which "brand" he chose, there are a number of free application that do the same job.

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.

If it was an open protocol, he would have access to apps that implement it on his phone. And even if that weren't the case, he would have the ability to write an implementation.

The difference here is that a sufficiently competent person cannot reliably replicate the experience.

The problem at this point is with the other friends and family who make use of this software. Great, he writes a new implementation of this protocol that prevents _his_ client from improperly caching routing information. This still doesn't fix the problem of the software on other peoples' phones.
>Just think, if you hadn't used a proprietary messaging solution as your default contact method, you'd be able to easily control how you receive the messages.

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.

imessage is subtle - it happens by default and is easy to get lumped with. really its a shame that apple do that...
Is the free software alternative you talk about hypothetical or do you have any concrete piece of software to refer to, preferably one that would interoperate with OP's peer group of 99% iOS users?
The whole problem is that no one tries to use iMessage, the texts just get automatically converted and sent over that system when you are both on apple devices. I was a huge apple fan when they were the underdog, but they are getting a little too big now. iO$ is still the best target operating system for developers, I just wish I didn't like apple's products so much.
(comment deleted)
Solution wise, even if iOS devs created a fix to purge the cache older than X weeks and to recechk it would still require all your friends to install the update before it takes affect, so I don't even see a fully fixed and timely solution to this.
Changing your Apple Id Password works like a charm too. It will log you out of your iMessage services. I did this when I switched to Galaxy Note 3.
I too switched to Android after Apple released iOS7 and have been having similar issues. The only solution I've found so far that still doesn't fix 100% of the problems is by asking friends and relatives to log out of iMessage, restart their phone then log back in.
This has been happening for over 2 years now. I've met multiple people in real life (including total non-techies) that have run into this. It's more common than you'd think. Basically anyone moving from an iPhone to Android (or any other phone I assume) will have this problem.

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.

That's incredibly presumptuous of you to claim Apple is doing this purposely. It seems pretty obvious to me that it's a non-trivial fix for Apple, and that there's simply no good incentive for them to prioritize fixing this over the myriad other things their engineers could be spending their time on.
Isn't the first part of your comment kind of contradictory to the second part?
> there's simply no good incentive for them to prioritize fixing this

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.

Fixing it is the right thing to do. They're seriously screwing with people's communications otherwise. If you're saying that they're avoiding the right thing because it's too hard and there's no incentive, then to me that is essentially saying that they are doing it on purpose.
Based on the "2 years" anecdote above, maybe it's something they could have got around to while completely revamping iOS. There are about few primary moving parts and OP indicates it's a known issue that can be resolved on clients. Too bad Apple has no control over that client OS, right?

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.

Apparently it doesn't have much priority on their list considering the problem has been around for two years. If you think about how fast the mobile landscape has changed, this is no excuse for Apple
2 years? 2 years is nothing. There are thousands upon thousands of open bug repots on Apple products older than 2 years.
Bugs are often sorted according to priority. It's clear that Apple doesn't care enough to prioritize this problem.
this would be straightforward to fix in a patch. they are clearly not prioritising it if its a known issue for several years now...
That's incredibly presumptuous of you to claim Apple is doing this purposely. It seems pretty obvious to me that it's a non-trivial fix for Apple,

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.

Just change phone number... lol
Exact. Same. Issue. All their solutions do not work. I've reset Apple ID and wiped all my old iOS devices. Roughly 90% of my friends cannot text me anymore.

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.

You can do better than that. User marks iMessage account as 'inactive'. Next time someone tries to send to his address via iMessage, ping their client with an "invalidate-cache-and-send-as-SMS" status code, and it's done. Everything is handled transparently to the sending user.

No matter what, it would require some sort of update.

Yup, have been hit by this, but not as bad as I use both platforms. Glad you wrote about it though.
Preventative step: set your outbound iMessage "caller id" to your email address instead of your phone number. Do this now, before you're bitten by the bug. (Apple's degraded QA as of late on iOS means you'll also have to change it back on ALL your devices on the account any time you add or remove any devices or numbers to iMessage or FaceTime on that Apple ID, too.)

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.

Yes, this is a good idea.

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.

A data-only plan still has a carrier-provided phone number, and it will still default to that phone number when sending iMessages, happily ignorant of the fact that it can't call or text or MMS.
You're talking about invisible implementation details.

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.

No, I'm not - it will default to using that as the outbound ID even on a data-only plan, because iOS doesn't know it's a data-only plan.

The fact that you must go and manually change it to your email address for outbound iMessages is the part that's invisible.

My iOS knows because it runs on an data-only device (iPad mini with cellular).
Do you suppose that might be because your iOS knows it's not on a phone?
What is a "phone"? Is it a device with a rotary dial? Or is a device capable of making voice/video calls. A cellular iPad mini, IMO, is simply a mobile iOS device with a 7.9" screen. It can make/receive calls similarly to the 4" screen iOS device (think FaceTime audio, Skype, VoIP, etc.).
This has nothing to do with the phone carrier.

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.)

>No identifier is going to be free as in speech - that would defeat the purpose.

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.

I'm pretty sure it's quite possible and easy to create an email address, be it from gmail or another email provider.

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.

That would mean that others will see incoming iMessages from your email address rather than phone number from that point forward, and anyone who doesn't have your email address in their address book will not know who it's from.

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]

This is true. Though getting an iMessage from john.doe@gmail.com who isn't in your contacts isn't as uninformative as getting an iMessage from +1-234-567-8900.
If you're iMessaging them, they either know that 1-234-567-8900 is John Doe, or chances are good that the content of the message is "Hey, this is John Doe, got a new number."
Hey, this is John Doe, iMessaging you from his email.
Touché. Though I suspect it might be prudent to further explain that that means they need to add your email address to your contact, as their mind will be blown at that point.
...just like they do when the receive a text for the first time.
(comment deleted)
Disabling an Apple ID would also disable its use in the online Apple Store and the OS X App Store, though. Seems that you might as well just disable iMessage. It's not like it provides that much added value over text messages.
Text messages cost money. iMessages don't.
Depends on your particular plan (unlimited text vs. sufficient data), access to Wi-Fi, and how frequently your friends send images or media over iMessage. I have a friend who turned of iMessage to reduce data usage.
This would work except you lose the ability to fall back to a text message. The way that iMessage is set up, if someone sends and iMessage to your phone and it doesn't get delivered for some reason, say you don't have data coverage where you are, then the Messages app will try to send a text message instead. If you have the same scenario where you are messaging an email address, there is no such fall back.
Changing my iTunes password worked for me.