Thursday, August 7, 2014

My Little Battle with Apple

Apple claims that each and every app that goes into the app store undergoes an extensive review process. The time for a new app or an update to go live on app store is anywhere between a week to ten days. This puts an enormous pressure on developers especially individual developers because a bug identified in production might  take the developer a few minutes to fix but atleast a week for it to make its way to the app store.


Considering the sheer volume of new apps, I assumed it would be some tool checking them. But, I realised I was wrong when my apps were rejected with the following feedback:


Hello Jayanth,

Your app Disarrange has been reviewed, but we are unable to post this version. For details, or to directly contact the App Review team, visit the Resolution Center in iTunes Connect. Do not reply to this email.

Regards,
App Review


I visited the resolution centre and found this dreaded message waiting for me



We found that your app offers In-App Purchase/s that can be restored but it does not include a "Restore" feature to allow users to restore the previously purchased In-App Purchase/s.

To restore previously purchased In-App Purchase products, it would be appropriate to provide a "Restore" button and initiate the restore process when the "Restore" button is tapped.


In simple terms, it means that if a user has purchased some levels or magazines or anything that an app has to offer and then moves on to a new device, there should be a restore button to transfer  those purchases to the new device. It seemed very reasonable but NOT for my app because all it offers is a purchase to remove ads. The user can as well press the same damn button to restore his purchase! And Two buttons for one purchase? No way! Moreover, it would not go well with my UI.



So I appealed 


I understand the need for such a feature but my app offers only one in-app purchase. Providing TWO button for ONE purchase is extravagant and will confuse the user. I am NOT going to implement this. Please suggest an alternative.


I remember reading somewhere that when Steve Jobs was customising his Gulfstream V airplane, he wanted one button to open and close the door instead of turning a lever up and down. Somehow I sensed a similarity in both these situations and optimistically waited for a reply. But unfortunately, the guy who reviewed my appeal didn’t know the titbit about Jobs and his plane, he simply copy pasted the previous reply.


I was aghast, there was no way I was going to put in two buttons. Meanwhile, two of my other apps, 2048 Blaze and 2048 Pinnacle were rejected with the same reason. Those were the critical, so I removed in-app purchases and resubmitted them. I was determined to get to the bottom of this with the not-so-critical UnstrewMe aka Disarrange aka 15 Puzzle. It was just a reincarnation of my 10th class DOS game, 8 Puzzle. I wrote it mainly to test the flexibility of my new board game library.


Finally I came up with this approach. It seemed pretty neat. 



A week later, while I was working on a very critical fix, I got a mail saying ‘UnStrewMe Metadata Rejected’. In an impulsive moment, I was almost about to smash the TV with an iPhone but on closer inspection I realised it was my fault. Under app description I put in the following text -


://TODO: fill in description later
The metadata was incomplete. This time I silently thanked apple for being so meticulous and cursed myself for being so careless.



I hastily filled in the app description and clicked on resolved hoping it would not take long now. But this simple mistake costed me a whole week, UnStrewMe rejoined from the end of the to-be-reviewed apps queue. Finally, after a week it got approved and is now live on App Store. I was really happy that my little trick worked, Apple got its restore button and I got my single button :-).

My apps on app store:


2048 Blaze




2048 Pinnacle




UnStrewMe


No comments:

Post a Comment