FRASIER v1.5 is back on the App Store!

Friends of FRASIER, rejoice: our FRAISER app is back on the App Store!

Literally nothing has changed in this version (1.5), except for some mandatory artwork improvements because of the way iOS now handles launch images and icons. All functionality and content has remained the same.

It wasn’t as easy as pressing a button of course, so let me tell you the story behind what happened and how the app made an eventual return to the App Store.

As I said before, a while ago the App Store team (or more likely an automated messaging bot) has told me that “this app hadn’t seen an update in a while”, and that I had 30 days to submit one. Just so that it wouldn’t become a stale app. I can appreciate that, I guess Apple want to make sure the developer behind an app is still alive, or someone is still there to take care of a project once a year or so. Makes sense.

However, should I not submit a new update within 30 days, the app will automatically be removed from the store. So I tried my best and sat down to see what I could do to improve. The process was a bit like taking a hammer to your head and trying to shake out some creative thoughts… surprisingly, it did’t work. I couldn’t see any improvements I could make.

The latest version of the development tools (Xcode 8.3.3 at the time of writing) supported nothing older than iOS 8, so that’s what I had to use as my deployment target. iOS 5 to iOS 7 users would still be able to download the older existing version of the app.

Code Deprecations

Changing the deployment target to something newer than what the code was designed for presents its own challenges though: plenty of API changes have occurred in three years, and some code is now deemed “deprecated” (for example, the way we used to write search queries has changed). Re-writing such code to utilise the newer approach is quite an undertaking, and it part feels like re-writing the app from scratch.

Believe me I’ve tried, not wanting to take the risk and submit an app with deprecated code. In the end it was too much to do in too little time, and I gave up trying. The 30 day deadline passed, and as a result, both FRASIER and SHERLOCK HOLMES were removed from the App Store automatically by the bot.

Slightly saddened and plenty angry for Apple’s decision to pull the plug, I closed Xcode and resigned myself to the fact that I’d probably see all my other apps undergoing the same fate as the two above, if I don’t find another way to update them.

Then it hit me: would I HAVE to take those deprecated sections of code out? Would Apple really reject my app on the grounds of deprecated code? After all, things were still working on all modern devices, and there have to be plenty of developers in my situation with apps 100x more complicated than mine.

A little research revealed that you can indeed submit apps with deprecated code to the review team. New apps should use the new APIs of course, but existing apps cannot all be expected to do so, and that over time, you’d work on replacing sections with modern API calls if and when you see fit. Now that made more sense!

Rewrite #2

So I sat down once again and made only the changes that were absolutely necessary (i.e. new artwork, new launch images, updated certificates, new iTunes Connect screenshots, etc), did a lot of testing on modern devices, and eventually, submitted an update to the App Store.

Craig Federighi had promised at WWDC 2017 that app review times have drastically been reduced, and I believe he quoted they’re now 2 hours instead of 7-10 days. I was hopeful once again to get this app back where it belonged very soon.

Submitting is never an easy process with Xcode and iTunes Connect, and something always needs to be redone. But after the usual headaches, I finally had a “waiting for review” app, eager to be looked at by the App Review Team. And two days later, they gave me an answer as to what they thought of the new FRASIER app.

Rejection (huge surprise)

It must have taken them all but 10 seconds to make this decision without even looking at my app before hitting the big red REJECT button. Or is that how they make review times so much faster? Reject 90% of whatever comes through the door?

The super fishy explanation they gave me was “Your app looks like a copycat app”. They gave some excerpt from their ever growing book of reasons why nobody should develop apps for the App Store, and that was that.

As a developer you have two choices: either respond to their allegations, with only a slim chance of them ever reading it, or launch an appeal against their decision.

Angry and disappointed, I chose the “leave a message” route, knowing full well that I had lost the battle for good at this point. I’m thinking back to a similar incident with the MONK app, which has since then stuck in App Review Limbo: I had submitted an update with new books, and the app was rejected because – out of a sudden – the logo I was using is deemed copyrighted. I sent them a link to the Wikipedia article I got the logo from, which clearly states that this is a four letter word made up of simple geometric shapes, and therefore does not qualify being a copyrighted logo”. They never responded to that, and the update has still not been released.

Either way, I left a message explaining that my app has been on the App Store virtually unchanged since 2013, and that the only reason for the update is Apple’s idiotic guidelines for needing to see an update. Now we know why Facebook submit one every week! I told them that they should give me a solid reason for the rejection rather than something fishy like they did in this case, and even gave them reasons (app is too ugly, app doesn’t do enough, approach to writing app is too old, etc).

And that changed their minds

Thinking the case was closed, I was extremely surprised, happy even, to have heard back from the team a couple of days later. Not with another message, but with a simple change in the status of my app: FRASIER is now Ready for Sale, which means, it’s on the App Store once more!

I know this was a long and boring story, but that’s what developers must go through. And every time we submit even the tiniest little update to an app, we risk the whole app being pulled from the App Store. This huge mess is usually not spoken about when we hear the touching story of the 5yr old Chinese boy with his 10 apps, or the oldest developer, who at 88 or so just released her first app. Those are the stories that make the headlines, because they show how kind and caring the App Team can be.

They can also be vicious hounds who suspect deviant content with every submission. And granted, they are doing a good job at keeping the Schlonz apps off the store (which still find a way onto the Google Play store quite regularly), so I appreciate that there has to be some kind of policing around new submissions.

But not all of us are EA or big time developers with huge budgets. The bulk of the growing number of Apple developers are dudes like me, with vague ideas and a little knowledge about coding. We don’t aspire to much, we’re not looking for the big break. All we’re asking is that little bit of respect, and perhaps having to fight less for our projects, and fear less about rejection.

The Future

While only two weeks ago I was ready to ask for a refund of my developer subscription and hang it all up, I’ve since changed my mind. Perhaps I’ll hang in there for another year.

Inspired by my recent experience, I was hard at work over the last few days to get the SHERLOCK HOLMES app back on the app store too. There’s quite a bit of new content I could add and some presentation improvements I could make, and while Hurricane Irma passed us by, I thought I’d take the opportunity for some coding.

Lucky for us, we never lost power during the storm (and even luckier for us, it did not hit Miami Beach as early forecasts had us believe).

Stay tuned for that!

Leave a Reply