Two years ago Today, I wrote my first morning pages. A practice I wouldn't want to live without anymore. To celebrate the anniversary, I planned to launch the iPad version of Pagi on the App Store today.
I submitted it for review on Thursday 5 days ago, to give the review team enough time to point out things I have to fix, in case I missed any of their guidelines.
On Friday morning I found my submission rejected with the following message citing guideline 4.3 Design: Spam of the App Store Review Guidelines:
We noticed that your app provides the same feature set as other apps submitted to the App Store. Specifically, this app appears to be similar to another app previously submitted under a terminated Apple Developer Program account. The next submission of this app may require a longer review time.
I can see how Pagi is similar to other apps in the App Store as it features a full screen text editor, if you dismiss its unique features designed for the morning pages use-case.
The claim that it 'appears to be similar to another app previously submitted under a terminated Apple Developer Program account' doesn't make sense to me. 'Terminated' also means that the previously submitted app is not on the App Store anymore. So even if it did appear similar, it shouldn't be a problem and, by definition, can’t be a duplicate.
I replied and explained that Pagi is not just another text editor, but specifically caters to the use-case of writing daily morning pages. I listed the following unique features:
- Disabled spell-checking for distraction-less writing of a constant stream of consciousness
- Auto-clearing of the written text on the next calendar day.
- A word count and progress bar to indicate how far the exercise is completed.
- Customization options with multiple themes and fonts.
- Focus Mode to focus on the currently written sentence or paragraph
Additionally, I told them that Pagi already has a user-base on macOS and that users asked for an iPad version. Furthermore, I asked:
- Is it possible to get more information on why you rejected this app?
- Which app in the App Store provides the same features set as Pagi?
- To which app does Pagi appear to be similar that was previously submitted under a terminated Apple Developer Program account?
To which they replied a day later:
Thank you for your reply. Just as we would not share information from your Apple Developer Program account with another developer, we do not share the details of apps submitted under other Apple Developer Program accounts.
Which is a weird excuse. They claim that my app is too similar to another App that is no longer in the App Store, but wouldn't even tell me which one. It's a reply that doesn't answer any of my questions.
During our review, we found that this app duplicates the content and functionality of other apps submitted to the App Store, which is considered a form of spam and not appropriate for the App Store.
They wouldn't get more specific than this, which is frustrating. Especially when you consider all the duplicated apps you can find in their store when searching for terms like 'flashlight' or 'fart'. While the term 'morning pages' will only show you 8 results from which only 2 are dedicated to morning pages. Both of them are inferior to Pagi's design and don't offer the same set of features. Neither of them seems maintained.
They continued with a final punch in the face, by citing the 'Develop' section of their developer website.
Apps submitted to the App Store should be unique and should not duplicate other apps. We encourage you to create a unique app to submit to the App Store. For more information about developing apps for the App Store, visit the Develop section of the Apple Developer website.
Neither of the things they told me are helpful. They don't give direction on what to change or improve to get Pagi approved. Instead, they told me to abandon the entire project and start from scratch with another app. Completely dismissing user demand and all the time it took to build this app.
As a cherry on top, they removed the version I submitted from TestFlight, which is the last nail in the coffin for Pagi on iPad. Now I have no way to distribute Pagi for iPad to my users.
It's public knowledge, that the App Store Review team is doing a horrible job at policing the quality of submitted apps. The last, more prominent example that comes to mind was the brilliant Mastodon client Ice Cubes, which also received weird and opaque reasons for its rejection. It got approved after the linked blog post on Daring Fireball was published. It shouldn’t be like this.
I feel discouraged spending more time developing apps for Apple platforms, when there is no guarantee that I can distribute my creations. It takes a lot of time to get an app into a state where it's ready for review. Besides the actual coding, Apple requires developers to work on marketing materials like screenshots, copy, and a website before submitting the app. It’s even more frustrating considering all the trash apps that they not only offer, but advertise in their store today.
I advocated for a way to side-load apps on iOS devices before this happened to me, but now that I went through this experience, the need for it became even clearer. I hope regulators around the world will start to act on opaque gatekeepers like Apple soon.
I don't understand how it happened yet, but I woke up to the app being accepted, without any further notice.
Thank you all for sharing this blog post and the words of encouragement I received during the last 24 hours. I am thankful to every single one of you.
You can find more information and a link to the App Store on Pagi's website.
The App Store Review team called me yesterday to apologize and to clarify the situation.
When they received my app, they noticed that the code as well as the app icon was used by another third-party developer, without realizing that I am the original author. They guess that this might have happened because I was developing Pagi publicly on Futureland and GitHub, so the source code and assets were publicly available before I submitted it. Fair enough, they did not tell me any information about the copycat developer, except that their developer account got terminated.
The review team initially upheld the rejection, because the information of evidence they found on their side was very obvious. The case eventually got escalated internally, and they were able to verify that I was the original author of the app and accepted my submission.
In case I have the feeling I am in a situation like this again, I should submit an appeal to App Review.
After everything that happened, I am impressed how quickly they acted after they verified that I am the original author. They called me on the same day to apologize and clarify the situation. I appreciate that.
I think it's a good thing Apple has this process of checking for duplicates to identify bad actors in the App Store. This definitely serves developers, but their communication could have been better. They should have pointed out ways to verify my authenticity instead of the vague messages they sent me. When I read those messages again now, I understand what the issue was and how I could have solved it, but 48 hours ago it didn't make any sense to me and to a lot of other developers that reached out to me.
I am happy that this is resolved and Pagi is in the App Store. By reaching out to me and explaining the whole situation, the App Store Review team was able to regain my trust.