Well, here I sit with a second Microsoft app store certification rejection. I'm trying to get a critical fix for my Digital Blasphemy browser app published but Microsoft keeps shooting me down. They have a policy, apparently implemented since the last time I submitted a new version of the app, that requires use of their subscription API if you're going to provide access to a means of signing up for a membership or subscription. A link to a "join now" page on an external website isn't acceptable any more. I have two major problems with this policy.
First, lets say I created an online service that I want to charge people for. I've implemented or purchased a mechanism to provide the ability to purchase a membership to my service, perhaps on an automatically recurring basis, perhaps not. I put in the time to build this service, I've provided the funding for hosting the service, I'm the one who has assumed all of the financial risks associated with the endeavor. Now let's say I decide to provide access to this service via a Windows 10 Store app that I'll charge a nominal fee for. Microsoft gets a portion of that nominal fee, deservedly so. After all, they're the ones providing the storage and bandwidth for distributing the app, they're the ones providing the payment mechanism, and they're providing a service by certifying the app. But they also believe that they deserve a portion of the membership fees that I'm charging, just because my app points its users toward getting that membership. They've provided nothing and assumed no risks but believe they deserve payment anyway. Here's a clue: they don't.
Second, lets say I'm a member of a service that has some really cool content (*cough* Digital Blasphemy *cough*). The owner of that service isn't interested in developing a Windows 10 Store app for that service but is more than happy to let me, as an enthusiastic member of his service, develop one. In order to provide a good user experience, I should include a link to whatever mechanism exists to allow new users to join that service, right? According to Microsoft, WRONG! They demand that I use their API and give them a piece of someone else's money. In this case they're already getting a portion of the proceeds from each sale of the app (just like in the first case). But in this case, I don't have any stake in the membership process, the risk, or the proceeds. I literally cannot give Microsoft a piece of that action because it's not mine to give.
So I removed the direct links to the Digital Blasphemy membership subscription page ( https://secure.digitalblasphemy.com/signup.shtml if you're interested) and replaced it with a link to a page on this site explaining the situation and giving instructions on joining. Submitted the updated app and got rejected again. Now I'm awaiting a response to a fairly nasty email I sent explaining the situation for a second time -- I was more pleasant after the first rejection than this one -- and demanding to know how to resolve this issue. My guess is that they're going to require that I remove any mention of how to get a membership that'll let them use the app they just bought to its fullest.
Now here's the thing. I don't object to having access to a standardized in-app purchase API, whether it's for one-time purchases or recurring ones. I actually think it's a good idea because it provides a consistent experience across apps. However, to require using it and not to provide any means of getting an exemption from the rule isn't OK because there are plenty of instances where using that API just isn't practical or possible. There needs to be a way to point users to a non-MS purchase process in those cases because to do otherwise does a disservice to our users. Of course I'm not entirely sure Microsoft cares about users of those apps because they're not the ones who will take the heat over the poor user experience -- the developers will in the form of poor reviews.
C'mon Microsoft, do better. Be better.