Porting to Windows 8 from iOS - Part 3

After a few more days tinkering around with my astronomy app, the time finally had come to submit it to the Windows App Store and see what would happen. Software is never finished, but I was keen to see what kind of issues I would be encountering on the store, so I wanted to submit sooner rather than later. Truth be told, I was a little nervous about this part, and I was wondering how difficult the process was going to be compared with other app stores. What kind of hidden "gotchas" I would discover?

I'm happy to report that my experience with the Microsoft Windows App Store so far has been very favorable.

The first step was to visit the Windows App Store dashboard, and fill in all the details regarding the app. This is hardly the most exciting part of the app authoring process, but it's vitally important. It's also when you discover your awesome name has already been taken by another app and so isn't available, so be prepared to be inventive and/or flexible. You can actually "reserve" a name as long as you write the app and submit it within a year. So if you have a particular name in mind, you should do this sooner rather than later.


As you can see, there are no real surprises here. After working through the process and getting ready to upload the app packages, it was a very pleasant surprise to see Visual Studio offer to pull down all the details from the web and set the various parameters within my project solution auto-magically - all done by selecting Associated App With the Store..  from the Store menu. All I had to do then was build a version of the app specifically to upload to the store. A wizard guided me through this part (my app needed two packages be created, one for ARM and one for X86, because I was using a C++ library. If your app is pure Visual BASIC, C# or JavaScript you only need one package), and then offered to run the Store Certification Kit utility.

Now, the Store Certification Kit is cool, and seems to do a very good job at sniffing out issues. In fact, take a few moments as it actually runs the app a few times to make sure it works. The kit report caught several minor things I needed to change. I'd say it's a good idea to run the kit a few times as you work - although note that you will get some false positives until you are actually build a ready-to-submit version.

With the app's packages built, I simply dragged them from my local folder into the submission page and hit Submit. The magical process was begun!

In fact, the entire certification process is nicely explained on the dashboard, with the various stages of the review process broken out along with time estimates. I like this. I like it a lot.






The first few steps happened very quickly, and the more in-depth non-automated content review stage was actually completed overnight.

And my app..






Initially I was wondering why I had broken requirement 1.2, and what exactly requirement 1.2 was. Did I read the requirements in advance? Um.. Sure. Reading the email I was sent by the certification team, I was afraid I was soon to be entering a bureaucratic nightmare of Brazil-esque proportions. But then I opened the report the certification team had attached to the mail. This report written by an actual human being, and they had highlighted the issue with an actual screenshot! This was very cool.

(Note, the certification team aren't aware I'm a Microsoft person to the best of my knowledge, so I have no reason to think your experience will be any different).

It turns out that during the initial design of the app (haha, yes, I designed it before I started coding - definitely, I'm a real programmer not some kind of brogrammer hacker) I had added a Help button, thinking I would get around to adding some Help. However, there really was no need to add Help (it's not that complicated an app) so I didn't bother. But I forgot to remove the button. Whoops.

The certification crew had spotted there was a button which didn't do anything, and they let me know. Which is fair enough. I commented out the offending lines of HTML and resubmitted new packages (which automatically had their version numbers updated for me).

Now we'll see what happens next. I'll let you know if it actually makes it into the Store, or if I have forgotten anything else.

Update: it was approved, and it's available right now. That didn't take long! :-)


p.s. I know about the typo in the description, but it seems that I can't change that until I update the release - double-check your description text is the lesson.

What's Next?

In the past few days, I was lucky enough to go on a Windows 8 App Development training course. I learnt a lot about writing apps in this new world, and I had a bit of a shock seeing XAML being used to do some things I had assumed were impossible. This has caused me to think about using XAML over my prefered JavaScript/HTML approach, and so my next project is to write a simple game using XAML. Let's see how that goes, shall we?