App List FAQ
App List has been available on the App Store for more than two weeks now, and has accumulated close to 6000 downloads across 70 countries. The reaction was overwhelmingly positive; it holds an average App Store rating of 4.9 (out of 5). I am quite surprised about the success and I am very happy that users find it so useful.
I have also received many questions via Email, Twitter and App Store reviews. I would like to address the five most frequent of those questions in this post.
App List 1.1 is currently “In Review” at Apple, and has unfortunately been in this state since May 28 (almost 13 days at the time of writing). Usually, apps stay “In Review” for a few hours at most, but for some reason it takes exceptionally long this time. I have already contacted App Review and asked what the holdup is, but all they told me is that they “need more time”. Since I am unsure what the result of that review will be I have currently stopped putting more work into the app. The list of potential and upcoming features is long (see question #3 of this FAQ), but until I can be somewhat certain that App List has a future on the App Store, I am not spending more of my time on it.
That being said, the app is still available on the App Store and there is a chance that the review time is just oddly twisted due to Coronavirus, the upcoming WWDC or the current political climate in the US. Assuming a good outcome, here are the most frequent questions and answers to them.
1. Can you add support for language X?
Short answer: Probably not.
Long answer: I can only really add support for languages I am reasonably able to speak myself. This means English, German (which will be added with version 1.1 that is currently “In Review”) and - by extension through my wife - Swedish. All other languages are pretty much out of the question. The reason is simple. Getting translations for the strings in the app is not much of a problem. But by adding another language, you also need to support that language. If I, say, add a Chinese localization, I will receive a lot more support requests in Chinese, all of which I am not able to answer. App List is a free app, a hobby project. I do not have the resources to support millions of potential customers whom I do not understand.
This is by far the most asked question. When I answer it, I keep getting the reply “your app will be so much more successful in country X if you support language Y”. I am sure it will, but this also opens up the support problem, and does not solve the “free app - no money” problem.
2. Why offer this for free? Where is the catch?
There is no catch. App List is free, period. There is a tip jar1 which you can use to buy me a coffee if you like the app, but that is all. None of the current functionality requires payment. There are also no ads in it, and I do not track my users so there is nothing to sell to anyone.
But why am I doing it like that? Given the feature set App List certainly deserves a hefty price tag. It is tremendously useful, especially if you need to monitor apps for a living (journalists or project managers come to mind). So given that, and given the large amount of work that went into making it, I should probably take $10 to up to $50 for it. But here is the problem: this is just a hobby project. I made this because I wanted it for myself, and there was no app that offered the features I needed. If I start selling this for a “premium” price, I also need to offer “premium” support. I simply do not have time for this. If I offer it for less than the “premium” amount, I still need to make sure that it works as advertised. Since the source data for App List is coming directly from Apple (iTunes Search API and the App Store itself) it may stop working from one day to another, without me being able to much about it. With a free app, this responsibility is lifted from me. It does not cost you anything, and I do not guarantee anything. It is as simple as that.
3. Can you add feature X?
I always welcome feature requests. If you have an idea for a feature, an improvement request, or a bug report, please do not hesitate to send those to me. There are however a couple of feature requests I get all the time, so I want to comment on those quickly.
Searching for an app directly in App List
This is tricky, because the iTunes Search API only supports 10 requests per minute. Searching and browsing for apps will quickly exceed that limit. It is also highly questionable if Apple will allow this, because it would prevent people from seeing the search ads in the App Store app. So there is currently no plan to add this feature.
Listing In-App purchases, subscriptions and getting price change notifications for them
This is high on my to-do list and should be possible. No ETA though, sorry.
A version for macOS and tvOS
I am currently working on the macOS version. It will likely be a Catalyst app, which means it requires macOS Catalina. A tvOS version is planned, but I have not checked its technical feasibility yet.
This is already implemented and will be released with a version after the 1.1 that is currently “In Review”. Whenever that is.
Price history for each app
This is a clever feature that would be nice to have, but unfortunately it is technically unfeasible. Apple does not provide historic pricing data, so I would have to rely on third party data providers…who, guess what, charge money for their service. Another possibility would be to start tracking price changes on my own server, but that would mean tracking all apps all the time, which is impossible with the APIs Apple provides.
4. Will you support iOS 12?
Unfortunately the answer is no. It does not make much sense for me to retroactively add support for iOS 12. There is currently a 80/15 split between iOS 13 and iOS 12. I am trying to minimize support costs, and adding a deprecated operating system would increase support costs. I would have to rewrite the app to use iOS 12 compatible APIs, I would have to test on iOS 12 and keep testing every release on it. There is no way I can do that with my free app. Sorry, folks.
5. Why are background updates required for price notifications?
App List utilizes background APIs (to be precise I am using the BackgroundTasks API introduced with iOS 13) to regularly refresh the apps on your list. If an app has a price change, it posts a local notification (which looks and behaves just like a remote push notification) to inform you about the price change. The advantage is that this all happens on the device and there is no need for a separate server component. The disadvantage is that the way background modes work on iOS, the less an app is used by the user, the less frequent it will be called in the background. So if you use App List very little, the price notifications can become quite unreliable, making you use it even less, etc. Even worse, if you manually kill the app, it is never called in the background, and therefore you will never get a price notification!
The only way to solve this problem is by moving the checking for price changes away from the device and to a server. The server would periodically check apps selected for price update notifications, and post a remote push notification if there is a change. The push notification will always be delivered, independent from how much you use the app or if it is asleep in the background. I am not doing this though, because the server would cause additional costs, and the more people use App List, the more resources the server would require.
These are the answers to the five most common questions. If you have additional questions, do not hesitate to contact me! Use the support button you find on the App List about screen, or just write me an Email.
As an aside, these tips are not making me rich. During the first two weeks I had about $30 worth of tips. Apple takes a cut of 30%, and after I pay taxes on it there is barely anything left. I do not want to give the impression that I am doing this for the money though. This is fine. I never intended App List to even regain the costs of development, but I also do not want people to think that these tips are going to finance my next car. ↩