Application Certification Requirements for Windows Phone 7
In response to the incredibly successful iPhone App Store, Microsoft will be offering its own version for Windows Phone 7 called the Marketplace. And like the App Store, Microsoft will be certifying applications before they are posted. According to John O'Donnell of Microsoft, many applications are failing for some very simple reasons.
At only 27 pages, the Windows Phone 7 Application Certification Requirements is a pretty quick read. But many of the requirements are not spelled out in as much detail as one would hope. For example, rule 4.5 states that:
For each application, you must submit one icon to represent your application in the Windows Phone Marketplace catalog. This icon must match closely the icon provided in the XAP package. Users see this icon when browsing the application catalog on the phone before making a purchase.
What’s not said is that your icon really does have to be unique. You can’t just grab any old generic icon from the default set or a free icon website, it has to be something that really represents your product.
Other rules are a bit clearer, but are still being ignored to the detriment of the application developer. Under Windows Phone 7, users have a lot more control than they do under Windows. If you want an application to use push notification, called “Toast Notification” in the docs, the program must ask the user for permission. Likewise, applications need permission from the user to run while the screen is locked. Applications that flaunt these rules are automatically rejected by Microsoft.
A curious test case numerous applications are failing is 5.2.4. This requires that the back button exits the application if on the first screen. For other pages/dialogs, it should go back one page or close the dialog. Apparently some applications are ignoring the second part and just exiting the application no matter when the back button is pressed.
Some other rules make one question the sanity of mobile app developers. For example, rule 5.2.5 states that no application can use more than 90 MB of RAM unless the phone has more than 256 MB available. Even on desktop machines, an end-user application that takes more than 90 MB of RAM is looked at with suspicion.