Developing for the Windows App Store

It all started when some friends suggested I port JAWS Converter over to Windows 8. “Port the Jaws converter to a windows app and get free money. you should make that happen.“ A hundred bucks for an app that’s already done? Sounded like a good idea. I read that Windows 8 apps could be written in HTML and JavaScript. I’m no stranger to C# but a straight port of the website seemed like no work at all. Could it be that simple?

Indeed it was simple, brilliantly simple. Once I upgraded to Visual Studio for Windows 8, it took less than an hour to import and tweak the project for metro. I was done! JAWS Converter was on my home screen. Submission to the store was equally simple. By comparison, Google’s stores feel cumbersome and Apple’s a nightmare. The Windows app store is tightly integrated into Visual Studio. Packaging, signing and uploading are very straightforward. Visual Studio automatically tests your app against multiple emulators for basic startup errors. There’s even a screenshot feature built in. In less than 2 hours total, I went from empty project to “submitted for review.”

When it came to the app review process, the experience began to sour. Technically speaking, my app had no problems. However it was missing a privacy policy. I never needed one for JAWS Converter before, so I ignored it.

Your app doesn’t meet requirement 4.1. Learn more

Notes from Testers:
The app has declared access to network capabilities and no privacy statement was provided.

To their credit, the turnaround was less than 24 hours, MUCH faster than Apple’s review process. However it seemed my app needed a privacy policy. I created one and resubmitted the app.

Your app doesn’t meet requirement 4.1. Learn more

Notes from Testers:
The app has declared access to network capabilities and no privacy statement was provided in the Windows Settings Charm.

Something’s rotten here, and it took some bing-ing to find out what was going on. By default, all new Windows 8 apps have the Network Access privilege turned on. With this privilege on, apps are required to have a privacy policy, not only on a public web page but also linked from the settings charm in the app itself. The app didn’t need network access so it was easier to simply turn off the privilege in the app manifest. I recompiled and resubmitted for a third time.

Your app doesn’t meet requirement 1.1. Learn more
• The value or usefulness of the app is not clear.
• The app is only valuable or useful in a subset of the languages that it claims to support.

Your app doesn’t meet requirement 3.5. Learn more
• One or more tiles in the app don’t work with touch.
• The app doesn’t support keyboard and mouse.

Notes from Testers:
The app does not appear to fully support touch input. Touch support in this app do not appear to work to our reviewers. Please see: for some of the common interactions for keyboard, mouse and touch. This app didn’t appear to provide value or didn’t seem useful to the reviewer.

No touch support? Tell that to my 3,000+ active android users. The third review was a complete disaster, This reviewer needed to reboot their computer because the report included all kinds of unusual input and stability issues. I blame the reviewer because I received an identical report from a completely different app I submitted at the the same time. Furthermore, the issues never arose before or since. I find it more than annoying that no action was taken on the part of the reviewer to check against another system. I wonder how many other apps were rejected for this reason. Suspecting machine issues on their end I simply increased the version number, recompiled and resubmitted.

Notes from Testers:
This app didn’t appear to provide value or didn’t seem useful to the reviewer.

The fourth review was even less helpful. In this case the reviewer simply didn’t like my app. The app is completely pointless, sure, but that’s kinda the point. Knowing that my success in the app store hangs on the opinion of a Microsoft reviewer is less than enticing. I gave it one more shot, recompiled again with a new version number and submitted.

Fifth time’s a charm! After re-submitting the exact same app five times over six days, it passes review. JAWS Converter has arrived on Windows 8!

The good of the Windows app store was the simplicity of it all. JavaScript apps can be as easy as importing an existing web app into Visual Studio. This is huge for web developers who can port their existing code in just a few hours. Visual Studio Express for Windows 8 is free, so if you have a Windows 8 system there’s no additional cost. The submission process couldn’t be more straightforward. The review process was relatively quick, less than 24 hours each time. Even with all of the reviewer back-and-forth, total time was faster than the Apple stores.

The bad was, of course, the review process. I’ve heard the arguments for app reviewers and I simply haven’t seen a benefit from them. The thought that the success of my app hangs in the opinion of one person is what has kept me out of the Apple stores. Google Play has operated all this time without a review process. Turnaround is hours, not days. That can be significant if you’re generating revenue from your app. The bottom line is, Microsoft’s review process no worse than any other app review process.

So what did I do with the hundred bucks? I gave it to Apple. Seemed appropriate, one review nightmare pays for another. Expect to see some of my Android apps headed to iOS real soon.