Apple "strikes back", blocking Push on unofficially unlocked iPhones

10. July 2009 12:41 by Dominik Balogh

UPDATED: Please read the official press release here. This blogpost and the press relase also apply to iPod touch users and particular iPod touch modifications, since this device also activates itself on iTunes silently when OS3.0 is installed for the first time.

As you've already figured out, NotifyMe is highly dependant on the lastest Push technology provided by Apple. Push is available only for the last three weeks publicly since iPhone OS 3.0 came out and many applications already benefit from its capabilities. There are many various usages for Push, a lot of Push based applications are yet to come.

So what's the problem? We've received hundreds of support request in the last few days since NotifyMe appeared on the App Store. Unfortunately, about 80% of them are from the users with unofficially unlocked iPhones. They've bought the application and are mostly angry, sad or hopeless and the worst part is that we can't really help them. Push simply does not work reliably or does not work at all on any unofficially unlocked device, no matter what Push application is used. We understand that these iPhones break Apple's and carriers' bussiness and there isn't really a way to fight against it. We also understand that Apple has invested a lot of money, resources and time into developing the APNS infrastructure. That's really great. In the last two years, Apple has redefined the mainstream smartphone market and clearly deserves a credit (and money) for it.

According to technical documentation, every Push application has to request the unique token from the Apple's APNS servers to identify the device it's running on. Thanks to that token, APNS servers always know which device is yours. The token can be understood as an IP address -- the server has to know where to send the notification and for which application. APNS can also change your token regularly for higher reliability, so it's critical that the application requests the token again on every start (or when enabling the Push feature) to replace the old one if new token is forced by APNS.

On any unoffically unlocked iPhone, the application requesting the token is stuck. APNS does not provide any response at all and the application can either cancel the request completely by automatic timeout or let user wait with the proggress bar forever. Either way, the user will never receive any Push message, because APNS has not provided the token. Yes, Apple can care less. It's not possible to support the unsupported. Have you modified your device? We have warned you, nothing may work correctly. How is the user even expecting something to work if he modifies his device with unofficial tools? Should we make sure all hacks will work correctly first before we release a firmware update? That's ridiculous. That's how Apple handles the situation and that's correct in our opinion. We also warn users in the application description on the App Store that unofficially modified devices are not supported.

You can call users stupid if they alter their iPhone OS, buy the application and then complain, request their money back or expect everything to work. But what the developers should do? Should we ignore 80% of users' support requests? Or can we just reply to everyone with "Sorry, Apple does not like you"? Either way, the user is not satisfied and the application gets 1 star ratings because it doesn't work. Most of the users don't really read the description and don't even try to fill a support request. It makes us really sad. Developers are replying to support requests promptly also late at night to make customers happy and what they really get is bad ratings especially in countries with iTunes Store where unlocked devices are very popular.

If APNS could at least return zeros or some internal error so the developers can warn users once more to prevent bad reviews, that would be cool. Maybe guys at Apple will realize this soon. We feel that's not going to happen though, unfortunately.