I have just completed my first submission to the Windows Phone Marketplace and I thought I’d share my thoughts on the process.
If you are interested in more details of the process, you can go here and read Microsoft’s excellent walk through.
The Marketplace Test Kit
First off though, I have to say that the submission process doesn’t actually start on the web, but rather inside of Visual Studio. Once you have your code up and running and think it’s finished, you can run the Marketplace Test Kit (MTK) to see if there are any glaring errors in your app that will get it rejected out of hand.
The MTK is divided in to four sections:
- Application Details
- Automated Tests
- Monitored Tests
- Manual Tests
The application details are pretty straight forward and make sure you have all the graphics and screen shoots you are going to need during the web-based submission process. The screen shots are the hardest part here as you have to use the Windows Phone Device Emulator and take screen shots from Windows and then crop them down to just the image from the phone.
The automated tests are pretty straight forward, they validate the XAP package, check to make sure you have the required capabilities listed in you app manifest as well as the above graphics etc.
The monitored tests are where it get’s interesting, there are four of them:
- Launch time
- Peak memory consumption
- Application closure
- Use of Back Button
Part of the submission guidelines include that no application should take more than 5 seconds to display something to the user, this doesn’t seem like a big deal until you realize that if are using a Panorama control with lots of data bound controls it may take longer than you think to display something.
My application ran in to this issue and I spend a couple of hours moving code from the control loads to the end of the application load so the panorama control wouldn’t block the page load. On my first run at the launch time was 8.4 seconds, I eventually reduced it to 3.6 seconds. However I now know why many Windows Phone app seem to stutter when they load up their controls.
In my initial design, the startup screen stayed up until the panorama control was all ready and it would smoothly scroll on to the screen. The new design, shows the startup screen much less but now as the panorama control loads it starts to scroll on to the screen and then “freezes” while the rest of the controls are loaded. I think I prefer the longer startup screen than the freeze, but an app won’t get in to the Marketplace that way so c’est la vie.
Everything else in the automated test when without issue.
The final category of manual tests is really just a list of scenario’s Microsoft thinks you should make sure work. Many of them are not valid for a given application type but some are helpful. Like the “Applicable Application Tile Images”, which gets you to pin the app to the start screen etc. For me it reminded me that my icons were out of date and needed to be updated, I might not have remembered without this test listed.
I did one last round of testing and deploying my app before I moved on to the actual submission process.
I won’t go over how to create a developers account, it’s easy enough and Microsoft provides a nice walk through for you as well.
Once you get logged in to create.msdn.com with your Windows Phone developer account you can go to your Dashboard->Windows Phone page and right in the top left is the “submit a new app” button looking all pretty like .
There are 5 pages to go through:
Page 1: Upload!
The first page is straight forward enough, I did find it interesting that they do allow for “Requires technical exception”, I presume this is for apps that have unique requirements (like external accounts, etc) or perhaps don’t even follow the submission requirements.
Submitting my XAP file was fast, it was only 162k.
Page 2: Describe!
This is another straight forward page, just your application’s description and categorization.
There is a “short” description field here and boy do they mean short, 25 characters only. It was optional so I left it blank.
This page also includes your application images including screen shots. These all have to be in PNG format.
Page 3: Price!
Ah, now we’re at the meat of the process, you have two options, free (the default) or some cost above 99 cents. As this is the first version of Live Titles I’m submitting I selected free, I’ll be submitting a second copy of the app as a 99 cent job after I make sure everything looks good with the first submission.
The other part of this page allows you to select the regions you want your application to be distributed to, in my case it was worldwide.
Page 4: Test!
I didn’t have any test notes for Microsoft, the app is pretty straight forward after all. However I did select to manually publish the app after certification, that way I can submit the second 99 cent copy, get it certified and then publish them both at the same time.
Page 5: Submit!
Not even a page really, just the confirmation your app has been submitted.
Now it’s just the waiting game to see if it get approved or not. That will be another post, hopefully soon .