Only a few weeks ago I let the cat out of the bag that I was building a Polymorphic Podcast Streaming App for Windows Phone 7. I couldn’t believe how quickly the Application came together, with a POC put together in only 2 hours.
This is a fairly simple application built in Silverlight with VS2010 and Expression Blend and a touch of XNA. A good friend of mine Barranger Ridler [@4MKMobile], blogged a great write up on how to use the XNA Framework to Stream Audio on Windows Phone 7 which definitely sped up the development process.
After an extensive wait, I finally made it through the GeoTrust Audit and got on the whitelist to upload my application to the Market Place for Testing. I’d have to say, for only skimming over the Application Certification Requirements [Hey, I was *really* busy] the first application certification test went very well with only 2 fails.
4.6 Application Screenshots
For each application, you must provide at least one or up to a maximum of eight screenshots. The users see this screenshot in the details page of the catalogue before they make a purchase. The screenshot should be a direct capture of the phone screen or emulator. Graphically-enhanced screenshots are not allowed. The following table lists the size and file type requirements for application screenshots.
Yeah, this one was my fault, I left the emulator borders on the screen shots. Oops!
6.5 Applications that Play Music
When the user is already playing music on the phone when the application is launched, the application must not pause, resume, or stop the active music in the phone MediaQueue by calling the Microsoft.Xna.Framework.Media.MediaPlayer class.
The application needs to prompt the user for consent to adjust the volume or stop the music that is currently playing in the Zune queue.
This is the reason why it is important to read the documentation [carefully]. This actually was a very simple fix, as the phone uses the XNA Framework for the on board Zune Support. All I had to do was wrap the “Play”, “Pause” and “Stop” buttons with a helper method to ensure nothing was playing before performing the requested action.
About the Fails
The Test team is actually really nice about how your application fails. They provide the Steps to reproduce their testing along with a descriptive message as to why your application failed.
I hope they keep this trend up as it definitely helped pin-point the problems with your application so you can fix it up and resubmit it quickly.