Date: Mon, 22 Oct 2012 From: Nathan Anderson To: Apple Product Feedback Subject: My Letter to Apple I am a very frustrated customer right now. I have an open ticket with AppleCare Support on this issue (#3622xxxxx), and of course everybody I have talked to has been very kind and understanding, but that alone does not get one to a solution, and I feel in some respects (despite how nice everyone has been) as though I have been talking to a brick wall of sorts. I am hoping that tradition does not carry forward via this feedback page, and that my submission here incites action on the part of somebody within Apple who actually has some kind of authority to do something for me and for others who might find themselves in a similar situation. I understand that I cannot necessarily expect a reply back from a human being, but one would be very much appreciated; I feel so far like I am not being heard, and I need to know that Apple is actually concerned about and working on my issue. I will try to keep this as short and as concise as possible, but this is going to take a little bit of explanation, so please bear with me. I have an iPhone 4 (one that still happens to be covered under AppleCare warranty in the U.S.), but that part doesn't matter so much since my research has led me to believe that I would have experienced this issue with any iPhone model from the 3GS on up. What does matter is that it is an officially unlocked iPhone 4, and that I'm using it with a prepaid service in the U.S. called Straight Talk, which is a TracFone subsidiary. I am on their "Bring Your Own Phone" (BYOP) plan: they give you a SIM card, you put it in whatever phone you want. In my case, I'm using it with my iPhone. My first complaint -- which I have no doubt can eventually be fixed, given enough time and attention to the matter on Apple's part -- is that your provisioning and activation system for iPhone is very poorly-designed. If the SIM card that one puts in the phone is from a carrier that the iPhone does not recognize (such as T-Mobile in the U.S.), the phone will present the user with a "Cellular Data Network" submenu within the Settings app that allows one to configure the APNs necessary in order to make data services work on that carrier. However, if you put in a SIM card from a carrier that it does recognize (such as, for example, AT&T), the system tries to be "smart" about things, and the phone will auto-configure itself with the appropriate settings for that carrier based on a supplied "carrier profile." It also would appear that on top of automatically configuring itself, the phone will additionally lock the user out of being able to make any changes to that configuration by hiding the "Cellular Data Network" menu, even on an unlocked iPhone (!). I gather that all of this is being done in the name of ease-of-use: if the SIM card is from a recognized carrier, it wants to bypass the need for the user to have to go in and configure a bunch of esoteric network settings, which could possibly be subject to typos and other configuration errors. Additionally, I can only guess that by locking the user out of being able to make changes to the settings that are automatically chosen, the system is trying to prevent someone from going in and accidentally changing what should already be the correct settings, thus breaking functionality. That seems all well and good on the surface, but in constructing a system like this, you (Apple) have overlooked certain situations in which a customer might have a legitimate need to edit those APN settings. One such situation is using the phone with a service like Straight Talk. Straight Talk (and its parent company TracFone) is an MVNO, or Mobile Virtual Network Operator. They do not run their own network, but instead buy services wholesale from one (or more) of the national networks and then turn around and resell those services to their own customers. In Straight Talk's case with their BYOP program, that national operator is AT&T. So when I put my Straight Talk SIM in my iPhone, the iPhone thinks it is an AT&T SIM card. And what does it do at that point? It auto-configures the APN settings for AT&T and then locks me out of making any changes to them! The problem with this is that even though Straight Talk rides the AT&T network, Straight Talk's customers are instructed to set different APNs in their phone than what would normally be used with AT&T proper, if you had a normal AT&T postpaid account; in fact, AT&T's own APNs do not work when you are using a Straight Talk SIM card, and you must change the APN settings in your phone in order to be able to use your Straight Talk service. Since I am locked out from doing so even on my "unlocked" iPhone, I can't use my Straight Talk service for anything other than voice calls and simple text/SMS messages. It would appear that Apple did not consider this use-case when they designed their activation system for iPhone. Now, fortunately, it does appear that Apple offers a limited way around this bizarre and frustrating restriction to the phone configuration: the iPhone Configuration Utility application allows one to construct a profile with a data APN override in it on their computer that can then be uploaded and applied to one's phone. This does work (even if it is extremely cumbersome to do), but it only works for changing the APN for internet access. The iPhone Configuration Utility does not allow you to change the MMS APN, which is configured separately. So even though internet connectivity can be fixed this way, picture texting is still utterly broken because it's still trying to use the AT&T MMS APN for sending and receiving picture texts, not the Straight Talk one. I think you would agree that if Apple offers unlocked phones for sale to the general public, that any reasonable person would expect that they should be able to configure and use it with any GSM service that implements things in a standards-based way. Straight Talk is not doing anything out-of-spec here; it is the phone that is making a stupid assumption about how this network ought to be configured, goes ahead and configures itself based on that incorrect assumption, and then unnecessarily locks the user out of being able to fix the incorrect assumption. Every other phone on the market allows users to go in and change APN settings if necessary! The iPhone is frustratingly "unique" in this regard. And this brings me to my second complaint, which I consider infinitely more frustrating than the first: "software downgrade rights." I recently upgraded my phone to iOS 6. Big mistake. Before my phone was upgraded, when it was still running iOS 5, I had actually managed to get Straight Talk working on my unlocked phone with 100% functionality: internet data, MMS, and all. And it was possible to do this without "jailbreaking" the phone. Some clever people had come up with a workaround to iOS's lock-the-user-out-of-making-legitimate-changes-to-APN-settings restriction that involved editing a file by hand from the iPhone's iTunes backup and then restoring that modified backup to the phone. I did this, and it worked great! I had full functionalily on my preferred provider with my officially unlocked iPhone, no jailbreak required. Then I made the mistake of upgrading to iOS 6. It would seem that Apple's iOS software engineers caught wind of the fact that this workaround was possible and must have considered it a "bug" or security vulnerability or something, because as of iOS 6, this method of getting MMS to work with Straight Talk on the iPhone no longer works. So when I updated my phone to iOS 6, my APNs were helpfully "fixed" for me by iOS and reset back to the AT&T ones that the iPhone insists they should be, and no amount of tweaking on my part can restore the correct ones. So, being utterly frustrated with this restriction in the new iOS software, I tried to do what I have to believe any other person in my position would want to do at this point: go back to the way things were, back to when everything was working and I had a usable phone. For me, this was on iOS 5. iOS 5 may not have provided me with a way to directly edit the MMS APN either, but there was a verified (if unofficial) workaround to the problem in that version of the software, and that would be enough to tide me over until Apple found the time to figure out how to supply their customers who are using Straight Talk (or other MVNOs) with a proper way to configure their unlocked phones. I owned an iPhone 3G in the past that I had no problems performing iOS downgrades on when I had the need to, so I already had some experience with the procedure. I tried to initiate a downgrade to iOS 5.1.1 on my unlocked iPhone 4, though, and was met with the following message from iTunes: "The iPhone could not be restored. This device isn't eligible for the requested build." To be honest, I was halfway expecting this as I had done a fair amount of reading up beforehand on what it takes to perform a downgrade of an iOS device these days (no doubt many people currently talking about downgrading are doing so in direct response to the Maps fiasco). It turns out that things have changed as of the iPhone 3GS, which is why I had no problems downgrading my iPhone 3G back-in-the-day but am now prevented from doing so with my iPhone 4. As the person at Apple who ends up reading this letter may or may not be aware (...and as a side note, I found AppleCare to be surprisingly clueless in this regard, so I no longer make assumptions about what certain people at Apple do or do not know about their own company and its policies), Apple not only doesn't support people who want to downgrade their iOS software (which would be one thing), but they have gone out of their way to develop technical enforcements that artificially prevent customers from downgrading their own iPhone (which is another thing entirely). During iOS installation/restore, iTunes is in contact with Apple's servers, which in turn authorize or "sign off" on every single iOS installation by responding to iTunes with electronic signatures that are generated based on several factors -- including the specific iOS version that is being installed, and the serial number of the specific iOS device it is being installed to -- and which are cryptographically signed and validated by certificates that only Apple has access to. If Apple wants to prevent people from installing a particular version of iOS on that person's own device, they can enforce this at any time by instructing their "TSS server" to stop signing restore requests for that version of the software. I can understand Apple not necessarily wanting to assist users in downgrading their software or even supporting those who undertake to do so. But to take the time to develop a system that actually keeps users from downgrading who either want to or (as I would argue in my case) need to? That's absolutely unconscionable. My hope when I first called AppleCare to open my ticket was that I would be able to get somebody on the line at Apple who would be able to sympathize with my predicament, realize that in my case a downgrade is the only way to solve my problem at the present time (at least until iOS 6.1 is released, assuming the software engineers at Apple even have my particular problem on their radar), and then "flip a switch" on their end to authorize said downgrade on my behalf for my particular phone. What I found was that not only were none of the support personnel that I spoke to aware of the fact that Apple's iOS software restore procedure is specifically engineered to prevent people from downgrading their phones, but that even if they had a clue about how this system worked, nobody over there has the power or authority to either enable the Apple TSS server to allow an iOS downgrade for my particular device, or to escalate the issue to somebody at Apple who does have that authority. Thus, I cannot get anybody over at Apple to take ownership of my problem which was caused by your error. Now, I consider myself to be a reasonable guy. I understand that to fix my first complaint about the APN settings can take some time. It's going to mean re-thinking how provisioning works, coming up with either a new implementation or a change to the current one that addresses this oversight, implementing that change, testing that change, and then deploying that change. I understand that engineering, testing, and deploying software takes time to do properly. But in the meantime, because of your absolutely unreasonable policy with regard to software downgrades, I am being left hung to dry by Apple. Your software upgrade that you encouraged me to apply to my phone broke core functionality of my phone, and I am apparently left with no recourse and no choice but to live with it for however long it takes you guys to get your act together and even decide that you are going to do something about the original problem that spawned all of this. If you allowed users to downgrade iOS when they needed to, then at least customers such as myself who encounter bugs or oversights in your software wouldn't be penalized for having upgraded. Apparently, though, Apple has no problem with making us users suffer for Apple's own mistakes: it's better in Apple's eyes to prevent people from being able to go back to a working release than to give their customers an "out" when Apple itself makes a mistake. Software is hard, and no software company is perfect. I know that Apple tries very hard to make sure that things "just work" for their users, and that all of their customers have an excellent experience. But because software is hard, and because people and companies are imperfect, mistakes will be made from time to time, even by Apple. That is inevitable. So why not allow people to downgrade the software on their devices? Back in the good old days, if a software company made a big blunder in a new release of their software, the customer had the option to "roll back" the change and go back to an earlier version that worked for them if the bugs in the new version were showstoppers and impacted the customer's workflow. If a customer decided that they couldn't live with the problems in the new version, they still had recourse: they could always go back to how things were before the upgrade. This is something that users of software take for granted! You guys have completely broken that expectation. The hubris of Apple in this regard is nothing short of astonishing, really. Even if I had not encountered a showstopper problem for me in iOS 6 that I felt provided me with more than enough justification to downgrade, what Apple is in effect telling me as a customer is that, well, you know this iPhone of mine that I bought? ...yeah, it's not really mine, apparently. Since I can't do what I want or need to do with it, I guess it's really just "on loan" to me, huh? And this is a device that has a retail value of $549! That is money out of my pocket that I paid for this. This is not a "rental" arrangement, but Apple is treating it like it is, like this phone is still Apple's property. I am being told that I'm not "allowed" to go back to an older version of the iOS, one that worked perfectly fine for me before, unlike the current version. If I had decided not to upgrade in the first place, I would have been fine, but now that I have? Tough luck. Your software upgrade just turned my $549 device into a doorstop, but Apple can't be bothered to care, apparently. This "no downgrades allowed" policy of yours is a TERRIBLE policy. It is completely unfair, and actively hurts and punishes your customers. You need to either be prepared to give your customers a way around it, or to abolish it entirely. I hope you can understand and appreciate after reading all of this why I am so upset right now. It's not because of the original problem that jumpstarted this. Like I said, people make mistakes. I'm not angry about the mistake or oversight regarding APN editing on the phone. The reason I am exasperated is because you won't allow me to go back to a version of the software that worked for me while you take the time to fix the first problem. That you actively stand in the way of me downgrading the software on my own device is absolutely, ABSOLUTELY unacceptable. Thanks for reading, and (hopefully) understanding, -- Nathan Anderson