Finishing your Windows Phone 8 application isn’t the end of your Windows Phone journey. You’ve now got to get it into everyone’s hot little hands – by submitting it to the Store. Having developed for the Windows Phone platform now for a number of years, I can attest that just uploading your XAP file isn’t the only thing required to make this happen. Similar to my post on “Must have tools for Windows Phone” I'll try and fill you in on a few things I wish I'd known before I submitted.
Last weekend I was lucky enough to have been asked to spend the weekend acting as a mentor for Microsoft’s #AppFest Windows Phone and Windows 8 hack weekend. As developers came closer to finishing the first version of their apps, many started asking the same thing:
What do I need to know next?
So below I’ll fill you in on things you need to get ready, maybe do ahead of time and generally start running through your head before you push your XAP file to Microsoft.
The first thing I’d do right now, is register for the Store.
It seems obvious, but doing this ahead of time will help you understand any further requirements, and give you a feel of what's to come. It’ll also help you prepare your US tax status if you want to charge cold hard cash for your app. Microsoft doesn't need a US ITIN if you’re outside the US anymore but you still need to submit tax info. If you’re wanting to submit under a business name that doesn’t yet exist, you’ll need to get this information on the way as well.
You can check out the “getting paid” page on MSDN for more info. They say if you’re a US citizen you’ll need to provide either:
Social Security Number (SSN): 9 numbers in the format of 123-45-6789
Employer Identification Number (EIN): 9 numbers in the format of 12-3456789
Also, it’s worth noting that only the following countries’ bank accounts are supported to receive payouts. If you’re outside this list, you might want to rethink your monetisation strategy – maybe ads instead?
Review the UX guidelines
There are a few UX guidelines Microsoft has prepared for the Store that your app must adhere to before it’ll get approved. Knowing these ahead of time could save you some serious time and frustration.
The guide: http://tinyurl.com/wpstoreguidelines
What this means in “human terms”:
- Backstack navigation - the back button must exit your application when it first loads. Elsewhere, it must always go to the last visible page. If you’re redirecting to a “login” page or settings page on first load, remember to remove it from the backstack.
- You must allow users to turn off location services – if you use location information on load, throw a message box asking for permission before doing so.
- Always ask users for permission before turning on toast notifications. Don’t simply set the default to “on” and think having a settings page to turn them off is enough.
- If your app plays audio, it must be able to play non-step for more than 6 hours. Use the Visual Studio Store Performance Tools to verify the battery usage.
- Make sure you test you app using the 720p emulator to optimise the viewing experience for everyone.
You need to have a support page on the web for your app and a valid email address or about section in your app. Microsoft test this web page during app testing and will fail your app if the page, the version number and “a way to contact you” isn’t listed. I know first hand because my app InTheKnow failed once because of this.
- You must list your app’s version somewhere in your app. Think about an “About” page.
- You must list a way to get in contact with you. Again an “About” page will fix this.
Start thinking about how to describe your app in the Store. Keep it simple and to the point. Metro guru Shane Morris talked about defining your app’s “best app statement” at #appfest, and this summarises it well.
"my app is the best app for..."
Make sure to mention things that set your app apart or are Windows Phone specific advantages.
Take a surf of the Store and start having a think about what category you think your app sits in – observe how similar apps are priced, and whether they support “Trial Mode”.
Your App’s Art
Start towards this by ensuring you have a decent loading screen and icon.
If you’re looking for inspiration check out: http://thenounproject.com. They have a metro style icon for everything.
Take some interesting screen shots of your app within the emulator. Make it look “real” - have a think about the sample data you enter in your app before taking screen shots to make them more appealing. A ToDo app looks just like every other ToDo app unless the screen shots show content that is interesting.
Also, remember to take extra screenshots for 720p and 400x800 screens.
Run The Store Test Kit
From Windows Phone 7.1 onwards Microsoft has included a great little store test kit full with automated tests to run against your app before you submit it. A large number of these tests are the same as those used by the Store testers when reviewing your app. To run these tests, simply right click your Windows Phone 8 project and select "Open Store Test Kit". Don’t proceed with submitting your app without running this tool.
Consider also using the manual profiling tools included to ensure your app doesn't "do evil".
XAP File Submission
Before you hit submit, make sure the XAP file you submit is a RELEASE build. Sounds simple, but it’s pretty critical.
Also consider obfuscating your app using Dotfuscator Community Edition. At the end of the day, your XAP is a zip file of your binaries. The security of your codebase on the Windows Phone platform has been known to not be airtight (I blogged about this last year) and while I haven’t looked at the situation on the Windows Phone 8 platform yet, you can never be too safe. So do what you can and at least make it harder to extract your source code if anyone gets a hold of your XAP.
Let 'er rip.
Once you’ve run through the above, you should be ready.
After submitting apps for myself and friends, I know the excitement that builds as you press play on something you’ve been working hard on for days/weeks/months – good luck!