Now that the bile is out of my system with the Microsoft App Submission process, I thought I’d follow up with something that (I hope) is actually helpful. I’ve dug through the Microsoft Windows Phone 7 Application Certification Requirements and would like to present to you a quick checklist for anyone who is creating Windows Phone 7 Applications.
I’m going to skip over the obvious stuff in the formal checklist (don’t crash, don’t make the phone insecure, don’t create custom marketplaces, don’t violate copyright, if you’re making a game, look at the content restrictions, if you say you support French you should actually support French, etc). This checklist is to try to give an idea of policies that may not be obvious to all.
First things first: You need a “settings” page and your settings page needs an “about” section. Period. If you don’t have one, consider your application to be incomplete. Lots of the stuff that are required will be hard to integrate into your app without a “settings” and an “about” page (or a “settings” page with an “about” section).
Download [download id=”4″]
All Apps
- Has the following unique icons that you use for the submission process: Phone tile, app list, large PC app, and at least one screenshot. You also need unique app icons for the title icon (Background.png), list icon (ApplicationIcon.png), and the initial splash screen image (SplashScreenImage.jpg) Download icon template package with the appropriate file properties.
- Performance
- First screen must render within 5 seconds of opening the app.
- User input must be available within 20 seconds of opening the app.
- Memory – Don’t eat the phone (use less than 90MB of memory)
- Settings/About page – you should have one
- Show the user the full application name
- Show the user the application version number
- Give the user a technical support contact e-mail, phone or website.
- Back Button
- If you have a context menu, dialog or pop-up, the back button should close it
- Games – back button should either pause the game or go back (but be consistent)
- When you’re on the launch screen, the back button should exit the app
- Your applications should look good in dark and light themes
- Note: this doesn’t mean that you have to use the theme colors. Basically, just test your application once in the dark theme and once in the light theme. Can you see everything OK? Then you’re fine.
GPS Apps
- Only use the Microsoft Location Service
- Allow user to enable/disable GPS within the app
- You need a privacy policy telling the user what you’re doing with the GPS data
- Do you plan on giving the GPS data to anyone?
- Describe what data is being used or shared.
- Get the user’s express permission to share the data
- Even if the user gives permission, let them take it back (put a permission checkbox in the app settings page)
Apps that share User Data
- Tell the user what data you’re sharing (contacts, photos, phone number, SMS data, browsing data)
- Get the user’s express permission to share their data
- Even if the user gives permission, let them take it back (put a permission checkbox in the app settings page)
Apps using Media (Sound/Music/Video)
- If you let the user download music through your app (ie. not through the Marketplace), you have to provide the playback yourself.
- Don’t change the volume without user input
- If you’re playing audio while the screen is locked, don’t do anything else.
- If the user is listening to music, don’t interrupt their music
- If you need to interrupt the user’s music with media (example: you’re playing a short “welcome” video) continue the music when your media is done.
- Do you integrate with the Music+Video hub?
- You must update the Music+Video history
- You must update “New” if you add new stuff through your app
- You must use valid data in the tiles you add (info or pictures of the artist, album, playlist, etc)
- If you put ads in the hubs, a black van will show up at your house. Your vision will go dark. They will never find your body.
Apps that integrate with the Pictures app
- You need an Extras.xml file at the root of the application.
- Tell the user when you’re saving a photo
- Can your app launch from the pictures? It should launch with the current photo already there.
- Are you sharing (uploading) any photos from the Pictures app?
- You must tell the user when the photo is uploaded.
- Your app must be able to launch on its own and through the Pictures app.
- You must tell the user when the photo is uploaded.
Apps that use Push Notifications
- You must ask user permission before you do Push notifications.
- Once you get user permission, you must have an option in the setting where they can turn it off.
Apps that Use Peer-to-Peer Communication (chat, instant messaging, P2P)
- If the user sets up their account through your app, you must ask the user if they are 13 or older.