The Next Brick to Decorate Your Wall: iOS 3.x Devices

Well, it might be safe to say that Apple’s own engineers stopped testing their Apple apps with 3.x iOS devices, and have created bugs that make these apps unusable. This is to be somewhat expected, Apple has a track record of not-so-great backwards compatibility (on the Mac), but what we also expected was to not get these broken updates forced to us. It’s one thing to stop updating the firmware of older iOS models, and another thing breaking them.

I own both a 1st Generation iPod Touch and iPhone, both running the latest available for them 3.1.2 firmware. A few weeks ago I noticed that the “Remote” app had an update on the App Store, so I naturally updated it (there was no reason to think that this was not a good idea, since the update was marked as available for my model). Unfortunately, that version had stopped working properly. There were major bugs all over the place, from widgets not working, commands not carrying through, etc. It was like the app fell from “stable” status to “alpha” after that update. But what I also noticed was that my other, 2nd Generation iPod Touch, running firmware 4.x, was working fine with the app.

I publicly nagged about it on a related Gizmodo story, so a helpful Apple support person who happened to read my comment, emailed me and offered assistance. After filing a bug report with Apple’s bug system, and explaining the situation to him too, the eventual deal (after about 17 emails of back and forth) was to send 3 engineers at my house to debug the problem — since I live close to Apple’s headquarters. After two postpones on Apple’s part, these engineers never arrived, but I was promised that the engineers are looking at the problem. So far, after about 2 months, no new update was issued for “Remote” on the App Store.

But you know, these things happen. Bugs happen, and fixing them takes time. I would have never publicly write the above paragraph (especially since that support employee genuinely tried to help), if a second event hadn’t happen in the last few days, that revealed to me what the root of the problem probably was.

So, as you might have read online, the App Store got an update a week or so ago. If an app was an update of an already installed app, its update button will be showing as “Update”, instead of “Install”. So far, so good. A useful feature.

The problem is that the engineers who wrote that piece of new javascript there (since the App Store is based on WebKit), seemingly never tested it with 3.1.x firmware. That piece of js there reproducibly does not work with devices that still run iOS 3.1.2, and can’t upgrade to iOS 4.x. When you click the “Update” button, the “Install” button appears, and when you click the “Install” button, the “Update” button comes back up. No update ever takes place. The discussion forums are FULL of complaints about this (several threads about the same problem)! All iOS devices running 3.1.x firmware can not update their apps anymore! And this includes newer models that their users decided to not upgrade their firmware for some personal reason.

There are some workarounds, for example the “Update all” (in the main update screen) button still works. But this is not convenient, since after seeing the new bugs of the “Remote” app has on my 1st Gen iPod Touch, I don’t want to force an update of that app on my 1st Gen iPhone too. The other workaround is to delete completely an app that’s pending update, and re-install it from scratch. Hardly elegant.

All this shows to me that Apple does not take a good care on users who still use older models, models that still work without a problem otherwise. Look, I’m not asking here to support them by releasing new app or firmware versions for them. If anything, I’m asking for NO updates for these models! I’m asking to not break existing functionality. The App Store update got forced on us, without its engineers properly testing with the 3.1.2 firmware, and without ourselves being able to go to a previous version! Apple should have had some sort of mechanism to not suggest/push/force updates of apps that either are not compatible, or were merely never tested with 3.1.x.

Make no mistake, this is not a mere case of obsolescence. When Macs stopped getting support for new OSX versions for example, they still worked for years to come, and new apps or software updates simply didn’t install/showed on them! But this is a different case! This is a case of FORCEFUL BREAKAGE (as in the case of the remote App Store update), or apps showing as compatible, leading users to update and break them (as in the case of “Remote” app)!

Right now, users like me are just sitting with devices resembling semi-bricks. If developers, and especially the Apple engineers, don’t get more careful about how they mark compatible their apps, our devices will get more and more app problems as time goes by. As I said in the beginning, it’s one thing to stop updating the firmware or apps of older models, and another thing breaking official apps by forcing updates that are not compatible.


  1. 2011-02-17 1:00 am
  2. 2011-02-17 1:05 am
    • 2011-02-17 1:12 am
      • 2011-02-17 10:46 am
        • 2011-02-17 10:59 am
    • 2011-02-17 1:16 am
    • 2011-02-17 1:51 am
      • 2011-02-17 2:00 am
      • 2011-02-17 2:08 am
        • 2011-02-17 7:04 am
          • 2011-02-17 3:51 pm
      • 2011-02-17 2:11 am
        • 2011-02-17 6:52 am
          • 2011-02-17 7:10 am
          • 2011-02-17 9:10 am
          • 2011-02-17 9:24 am
          • 2011-02-17 10:00 am
          • 2011-02-17 10:16 am
          • 2011-02-18 3:05 am
          • 2011-02-17 11:02 am
          • 2011-02-18 3:08 am
          • 2011-02-18 4:05 am
          • 2011-02-17 2:24 pm
          • 2011-02-17 12:45 pm
          • 2011-02-18 3:29 pm
      • 2011-02-17 3:34 am
        • 2011-02-17 3:48 am
          • 2011-02-18 12:27 pm
        • 2011-02-17 7:07 am
      • 2011-02-17 4:12 am
        • 2011-02-17 7:08 am
      • 2011-02-17 9:08 am
        • 2011-02-17 9:17 am
      • 2011-02-17 12:31 pm
      • 2011-02-17 1:36 pm
        • 2011-02-17 2:19 pm
          • 2011-02-17 2:54 pm
          • 2011-02-17 2:56 pm
          • 2011-02-17 6:23 pm
        • 2011-02-17 2:30 pm
          • 2011-02-18 9:43 am
          • 2011-02-18 1:16 pm
      • 2011-02-17 4:10 pm
  3. 2011-02-17 2:14 am
    • 2011-02-17 4:29 am
      • 2011-02-17 5:52 am
      • 2011-02-18 1:47 pm
  4. 2011-02-17 2:36 am
  5. 2011-02-17 3:08 am
  6. 2011-02-17 4:01 am
    • 2011-02-17 4:23 am
  7. 2011-02-17 6:34 am
    • 2011-02-17 6:36 am
      • 2011-02-17 6:41 am
        • 2011-02-17 6:50 am
    • 2011-02-17 6:49 am
  8. 2011-02-17 9:02 am
  9. 2011-02-17 9:28 am
    • 2011-02-17 10:06 am
  10. 2011-02-17 9:30 am
    • 2011-02-17 10:08 am
    • 2011-02-17 2:42 pm
  11. 2011-02-17 1:38 pm
  12. 2011-02-17 4:06 pm
  13. 2011-02-17 6:07 pm
  14. 2011-02-17 10:56 pm
  15. 2011-02-17 11:16 pm
    • 2011-02-18 6:50 pm
  16. 2011-02-18 3:22 am
    • 2011-02-18 4:07 am
      • 2011-02-18 6:48 am
  17. 2011-02-18 12:26 pm
  18. 2011-02-18 12:34 pm
  19. 2011-02-21 1:51 pm