Testing, Publishing, and Monetizing Your Application

October 21, 2011

When you finish implementing your application, there are some things you will need to do to ensure that your application will be accepted into the Windows Phone Marketplace.

You Will Learn

  • What image you will need for the Windows Phone Marketplace.
  • Ways to test your application and optimize performance.
  • About the certification requirements.
  • Ideas for monetizing your application.
  • How to start the submission process.

Applies To

  • Silverlight for Windows Phone OS 7.1


Marketplace Images

To publish your application in the Windows Phone Marketplace, you will need several images. These images are important because they represent the first impression of your application so you should spend some time making sure that they look good. You can find royalty free artwork on the Internet or you can have artwork created by a designer. You will need the following images for your application page in the marketplace.


Do not use transparent PNG image files for the following images.


Size (pixels)

File Type

Small mobile application tile icon

99 x 99


Large mobile application tile icon (optional)

173 x 173


Large PC application tile icon

200 x 200


Panorama background (optional)

1000 x 800


Application screenshots (at least 1, up to 8)

480 x 800


For more information about images, see Application Artwork. For information about how to create screenshots using the Windows Phone emulator, see How to: Create Screenshots for Windows Phone Marketplace.

Testing Your Application

You will want to test your application at several points during development and in particular before you submit it to the marketplace. You can test your application using the emulator. However, before you publish your application, you should test it on an actual Windows Phone device.

Gg680260.note(en-us,PandP.11).gifCertification Requirement:
Your application should run on all Windows Phone hardware. For details, see section 5.1 in the Technical Certification Requirements.

To test your application on a Windows Phone device

  1. Make sure you have an active App Hub membership and that your phone is unlocked. For more information, see How to: Use the Developer Registration Tool for Windows Phone.

  2. Make sure that you have a device connected to your computer, and the Zune software is installed and running on the computer.

  3. In Visual Studio, select the target device.


  4. Press F5 to start debugging or choose Start Debugging from the Debug menu.

Testing Tips

The following are some the items that you should test.

  • Navigate through all the main user scenarios and note any issues. You should use the Back button and Application Bar as a user would.
  • Check the state of the application after entering information, pressing the Start or Search button, and then pressing the Back button.
  • Ensure that UI elements respond immediately to touch.
  • Ensure that touch targets are an appropriate size.
  • Switch to the opposite theme (light or dark) and inspect each page and image to make sure they display in a readable way.
  • Change the accent color to verify that you are using system colors consistently.
  • Test the behavior for portrait and landscape orientations.
  • Make sure you can access controls and navigate if the on-screen keyboard is displayed. Users may not know how to dismiss the keyboard to tap a Save or Submit button. In some cases, you may have to move a button to the Application Bar.
  • Since the text labels for Application Bar button have a limited number of characters, make sure that the text is not clipped.
  • Review the Design Guidelines to ensure that you following all of the recommendations.
  • Confirm that your application works with only the intended capabilities enabled. For more information, see How to: Use the Windows Phone Capability Detection Tool.

You can also use the Windows Phone Marketplace Test Kit to automate some testing. For more information, see the Windows Phone Marketplace Test Kit.


The emulator supports a 24-bit color palette. Windows Phone devices support a 16-bit color palette. This means that some images may appear to be low quality on the device. For example, gradients may display with banding. Be sure to view your images on an actual device. If necessary, adjust the color depth of the images.

Testing for Unexpected States

The phone might be used in different situations or have different user settings. You need to think about these different states and test how your application behaves. For example, the following are some potential unexpected states.

Unexpected State

Possible Solutions

While running your application, the user answers a phone call.

The phone goes into an idle state or displays a lock screen.

The user does not have network access.

Loading data takes a long time or times out.

  • Display a progress bar or other visual feedback.
  • Perform loading operations asynchronously.

Location Services is turned off or location data is unavailable.

An exception is thrown.

  • Handle the appropriate exceptions for the features that you are using. For example, you should catch IsolatedStorageException when working with isolated storage.
  • Do not swallow exceptions because they can mask issues later.

The battery power is low.

Music is playing when your application is launched.

  • Ensure that your application does not pause, resume, or stop the music. An application may only interrupt currently playing music on the phone in order to play a non-interactive full motion video, or a non-interactive audio segment. For more information, see the Certification Requirements.

Pressing the Back button on the main page of the application does not exit the application.

  • If your application starts with a login or a splash screen that is implemented on its own page, display those items in a Popup instead of a page.

Optimizing Performance

If your application is sluggish or hangs, people won’t use it. There are several things that you can do to optimize the performance of your application. The following are some tips for optimizing performance. For more information, see Performance Considerations in Applications for Windows Phone and Windows Phone Performance Analysis.

Performance Issue

Possible Solutions

Application startup is slow.

  • Use a splash screen to increase perceived performance.
  • Break the application into smaller assemblies.
  • Minimize the code that runs at startup and potentially defer operations until they are needed. For more information, see Restoring Your Application After Deactivation.

Image display is slow.

  • If you don’t need transparency, choose the JPG file format instead of the PNG file format.
  • Try to limit the size of your images.
  • Move image decoding to background threads instead of blocking the UI thread.

UI is unresponsive.

  • Avoid blocking the UI thread.

Resuming a deactivated application is slow.

  • Use state dictionaries to restore state. Avoid restoring state from isolated storage or the web.

The application runs out of memory.

  • If you are using resource-intensive controls (such as Bing maps or video) or if you are performing heavy image processing, call the DeviceExtendedProperties.GetValue method to monitor memory usage.

The ProgressBar control is affecting the performance of your application.

Scrolling in a ListBox is slow or stutters.

Certification Requirements

The Application Certification Requirements for Windows Phone provide the policies and technical requirements that a Windows Phone application or game must meet to pass certification and to be eligible for listing in Windows Phone Marketplace. You should review the certification requirements in detail before you submit your application. For the complete and most up-to-date certification requirements, you should visit the following link.

Application Certification Requirements for Windows Phone

You can also use the Windows Phone Marketplace Test Kit to check for common certification issues. For more information, see the Windows Phone Marketplace Test Kit.

Making Money with Your Windows Phone Application

Before you submit your application, decide if you’d like to monetize your application. There are several ways to generate money from your application.

For more ideas on monetizing your application, see

Submitting Your Application to the Windows Phone Marketplace

When you finish implementing and testing your application, you will want to submit it to the Windows Phone Marketplace so that users can install and use it, and possibly even pay you for it. There are numerous resources on using the marketplace, so this section simply summarizes the key steps and provides a quick guide to the other resources.

For complete details on all requirements and options, including best practices for marketing your application after you submit it, see the App Hub Application Submission Walkthrough.

To submit your application to the marketplace, follow these steps:

  1. Ensure that you have a valid, active App Hub membership.
  2. Ensure that you have a final, release build of your application package (the .xap file).
  3. Ensure that you have all supporting material prepared, including:
    • The application artwork described previously in this topic.
    • A category and subcategory selection. For more information, see the category lists in the FAQ.
    • Your application price and whether you are offering a free trial. Your application can be free or you can charge anywhere from $0.99 to $499.99. For detailed information, see the pricing FAQ.
    • Various metadata about your application including unique name, display title, version number, detailed description, keywords, website and copyright URLs, and support email address.
  4. Begin the submission process, where you will enter the information described above.

You do not need to complete the submission process all at once; as soon as you begin, the information is stored in your account. Should you choose to leave and return later, you can pick up where you left off by navigating to your app list and then clicking the Edit details link for any application with a status of "Submission in progress." You can also select the application to see detailed information and additional action options, such as deleting the application.

After you submit your application, it will be tested for conformance to the certification requirements. If it fails the test, you will be emailed a report of the issues discovered so that you can fix the problems and resubmit. If it passes the test, it will be published automatically if you chose that option in the last step of the submission process. Otherwise, you can publish it from your app list at any time.

You can track the downloads on your reports page, but see the reporting FAQ for detailed information. If you charge for your application, you will receive monthly payouts as long as you have met a $200 payout threshold. For more information, see the payout FAQ.


Free applications will typically have a larger number of downloads, but keep in mind that all upgrades are free as described in Updating Applications in Windows Phone Marketplace. If you want to charge for improvements, consider creating a trial version, as described in Creating Trial Applications for Windows Phone. However, one drawback of this approach is that trial applications are not categorized as "free," which means they typically get fewer downloads. An alternative approach is to submit both free and paid versions of your application, and provide a link from the free one to the paid one. For more information, see How to: Link to Windows Phone Marketplace Content. You can also simply delete any application at any time and submit a new version, although in this case, your download and other statistics will be reset.

For detailed information about all aspects of application submission, certification testing, hosting, marketing, updating, payment processing, and reporting, see the following resources:

Previous Topic | Home