MOBILE

Windows Phone 7 : Packaging, Publishing, and Managing Applications

1/23/2011 11:41:12 AM

1. Windows Phone Application Publishing Lifecycle

When you develop a Windows Phone application you distribute to Windows Phone Marketplace through the Windows Phone developer portal. Figure 1 shows you the overview interaction of the developer to the developer portal to the Windows Phone Marketplace to the consumers.

Figure 1. Windows Phone application publishing lifecycle

First (1) you must register as a developer with the Windows Phone portal and there will be $99 fee that you would need to pay. Your identity will be verified and you will be issued a certificate that the Windows Marketplace will use to sign your application. In addition, your bank account will be verified so that your earning can be deposited there. Next (2), if you haven't already done so, you'll need to download the SDK tools you need to develop in Visual Studio. After you've created your application (3) you will submit it to the portal for validation and certification (4) so Microsoft can assure the application abides by the Windows Phone Marketplace rules. Once your application becomes eligible, it will be signed using the certificate you received during registration (5), and then published to the Windows Phone Marketplace (6).

Once the application is published, users will be able to buy, download and install it from the Widows Phone Marketplace portal. There, users can also rate it and comment on its virtues and flaws, providing you with feedback that you can use to improve it. The Marketplace will provide you with downloads and sales information as well.

In the followings sections you will be learning great deal about the certification requirements and the process that will guide you through so that your application can pass through and be submitted to the Windows Phone Marketplace.

2. Windows Phone Application Certification Requirements

In the battle of smartphones between (iPhone, Android and Windows Phone), the applications available on each smartphone will play critical role to winning the consumers to use the phone. Windows Phone Marketplace puts in place the rules and process to ensure that the published applications are high in quality. You can download Windows Phone 7 application certification requirements from http://go.microsoft.com/?linkid=9730558. The following list describes the idea behind the rules and the process imposed on publishing the application to Windows Phone Marketplace:

  1. Applications are reliable – You will be dealing with the consumers who will be picky and any hint of the instability in the application will cause the consumers not only talk bad about the application but the brand behind the phone. So Microsoft will enforce the best practices for creating reliable application.

  2. Applications make efficient use of resources – Your application must make efficient use of the pone resources and make sure does not have any adverse effect on performance. For example the battery life can be drained quickly if you continue to use the location service or the accelerometer because you forgot to turn it off after to use in the application and the user is continuing to use your application not aware that location service and accelerometer is still running.

  3. Application does interfere with the phone functionality – The user must be notified before modifying any phone settings or preferences.

  4. Applications are free of malicious software – The application must be safe to install and use.

In following sections, the summary of main points will be presented so that you can be aware of the content of the certification documents. Remember that the following sections describing the certification requirements are based on version 1.3 and Microsoft could modify and release newer version. So check back with the developer portal http://developer.windowsphone.com.

2.1. Application Policies

This section will cover policies that will help protect the Windows Phone Marketplace and the consumers using the Windows Phone application bought from the marketplace.

2.1.1. Windows Phone application binary (XAP file)

You must compile your application in release mode from Visual Studio and it will produce a file with a .xap file extension. A ZAP file is nothing more than a ZIP file with a different extension name. In in fact, if you change the extension name of your XAP file from .xap to .zip, you will be able to extract its file content. You should be aware of following facts.

For installation over the air, the XAP file must be no larger than 20 MB.

  1. Must disclose additional data package to be downloaded if greater than 50 MB and notify the user that there might be additional charges depending on how the data package is downloaded.

  2. Maximum size of a XAP is 400 MB and a XAP greater than 20 MB can only be installed through Zune, or over Wi-Fi.

2.1.2. What your application must not do

This section will summarize what your application cannot do that is described in the Application Policies section.

Cannot sell, link or promote mobile voice plans.

  1. Cannot distribute, link or direct the users to alternate marketplace.

  2. Your application cannot taint the security or functionality of Windows Phone devices or Windows Phone Marketplace.

2.1.3. What your application must do

This section will summarize what your application must do.

  1. Your application must be functional.

  2. Your trial application (if submitted as trial) must reasonably include the feature subsets of the fully functional application.

  3. If your application includes / displays advertising, the advertising must abide by http://advertising.microsoft.com/creative-specs.

  4. If your application enables chat, instant messaging, or person to person communication and allows the user to create account the user must be verified of at least 13 years old.

  5. If your application sells music, the application must include Windows Phone music Marketplace (if available). If the content of the music is purchased elsewhere the application must include its own playback media play.

2.1.4. Location Service

Following requirements will deal with the location service (GPS).

  1. Location must be obtained using Microsoft Location Service API.

  2. Cannot override, ignore and circumvent Microsoft toast or prompts related to the Location Service API .

  3. Cannot override a user's choice to disable location services on the phone.

  4. Must have enable and disable option of the Location Service used in the application.

  5. If the location data is published other service or other person. Must fully disclose how the Location Service information will be used, permission to use the location information obtained, user has the option to opt in and out, and there must be visual indicator whenever the information is transmitted. Also must provide privacy policy statement regarding the location service information usage.

  6. Security must be in place to protect the location data obtained.

2.1.5. Push Notification Service (PNS)

Following section summarizes the policies relating to the push notification.

Must provide opt in and out option to use the service.

  1. Cannot excessively use PNS that can cause a burden to Microsoft network or Windows Phone device.

  2. PNS cannot be used to send mission critical that could affect life or death.

2.2. Content Policies

Your application must conform to the content restriction of the Windows Phone Marketplace. If the application you developed already has the ratings from ESRB, PEGI and USK, you need to submit the certificate of the ratings. Keep mindful of licensed materials, logo, name and trademarks. The content must not be illegal or suggest harms. Any hate related contents are not allowed. Any promotion of sales and illegal under local law of alcohol, tobacco, weapons and drugs are not allowed. Any x-rated contents are not allowed. Any realistic violence content will not be allowed. Any excessive use of the profanity will not be allowed.

Keep in mind that this section is highly subjective and Microsoft will have final saying at the end. Best suggestion would be to take practical approach and ask yourself if your application will be safe to be used and viewed by the minor.

2.3. Application Submission Validation Requirements

In order to package and submit an application for certification, you must make sure that following requirements are met.

2.3.1. Packaging Requirements

When you are getting ready to create a XAP, it is best to use Visual Studio and to compile the binaries in Release Mode, which will produce the XAP file and take care of the many requirements identified in the certification document. Below requirements are things you should make sure to look into because they are easy to overlook them.

XAP file cannot be greater 400 MB.

  1. Application icon must be 62 × 62 of PNG file type.

  2. Application tile image must be 173 × 173 of png file type.

  3. Must have the application title.

2.3.2. Code Requirements

There will be coding requirements that your application will be subjected to. Following list described those requirements

Application must use documented APIs only found at http://msdn.microsoft.com/en-us/library/ff626516(VS.92).aspx.

  1. PInvoker and COM interoperability is not allowed.

  2. Application must be compiled in release mode.

  3. Windows Phone assemblies cannot be redistributed.

  4. When using a method from System.Windows.Controls APIs in Microsoft.Xna.Framework.Game or Microsoft.Xna.Framework.Graphics cannot be called.

2.3.3. Phone Feature Use Disclosure

When the user purchases the application from the Windows Phone Marketplace the marketplace will display what phone features the application will be using. This is done through by submission of the application manifest file for Windows Phone (http://msdn.microsoft.com/en-us/library/ff769509(VS.92).aspx). The phone features added to application manifest is typically added and removed automatically by Visual Studio so this is not something you would normally be concerned with. But you must be aware to make sure during your packaging process to check to make sure the features listed in the application manifest are something that you are using in your application and correctly represented.

2.3.4. Language Validation

Supported languages are English, French, Italian, German and Spanish. Depends on where you are submitting your application you must properly localize your application for at least one of the supported languages.

2.3.5. Images for Windows Phone Marketplace

Your application must be submitted with the images and screenshots that will be displayed to the user in the Windows Phone Marketplace. Microsoft recommends that you use 262 DPI.

Required small mobile application tile 99 × 99 (PNG) and large mobile application tile 173 × 173 (PNG).

  1. Required large PC application tile 200 × 200 (PNG).

  2. Optional background art 1000 × 800 (PNG).

  3. Required screenshot 400 × 800 (PNG).

2.4. Application Certification Requirements

Once the application is submitted for the certification process it will be tested against series of certification requirements. Following sections will summarize those requirements.

2.4.1. Application Reliability

This section will deal with certification requirements that deal with application reliability.

Application must run on all Windows Phone 7 devices.

  1. Application must handle all raised exception and must not crash the application unexpectedly.

  2. Application must not hang and become unresponsive to the user input. If the application is processing time consuming process the visual element must provide progress bar with ability to cancel the progress.

2.4.2. Performance and Resource Management

This section will describe requirements that deal with performance and resource management issue of the application.

Application must launch first screen within 5 seconds after the application is launched. 5 second rule also applies even after the application is closed or deactivated and then restarted.

  1. Application must respond to the user input in 20 seconds after launch. 20 second rule also applies even after the application is closed or deactivated and then restarted.

  2. When Windows Phone Back button is pressed from first screen will exit the application. If the Back button is pressed from other then the first screen it must return to the previous page. In games if the Back button is pressed it should pause the game with context menu displayed and if the Back button is pressed again it will exit the pause.

  3. Application cannot use more than 90MB of RAM. If the device has more than 256 MB the application can use more than 90 MB.

2.4.3. Phone Functionality

The application cannot prevent the use of phone's functionalities or hang when making a call, answering incoming call, ending a call, sending and receiving SMS or MMS messages.

2.4.4. Security

The application must not contain any virus and malware. Application must implement type-safe code as described in unsafe code and pointers (http://msdn.microsoft.com/en-us/library/t2yzs44b(v=VS.80).aspx). And finally the application must not run security critical code as described in security changes in the .Net Framework 4 (http://msdn.microsoft.com/en-us/library/dd233103(v=VS.100).aspx).

2.4.5. Technical Support Information

The application must include the application name, version, and technical support information.


Other  
  •  Mobile Application Security : Windows Mobile Security - Development and Security Testing (part 3)
  •  Mobile Application Security : Windows Mobile Security - Development and Security Testing (part 2)
  •  Mobile Application Security : Windows Mobile Security - Development and Security Testing (part 1)
  •  Programming the Mobile Web : Mobile Rich Internet Applications (part 2) - JavaScript Mobile UI Patterns
  •  Programming the Mobile Web : Mobile Rich Internet Applications (part 1) - JavaScript UI Libraries
  •  Windows Mobile Security - Kernel Architecture
  •  Windows Mobile Security - Introduction to the Platform
  •  iPhone Programming : Table-View-Based Applications - Building a Model
  •  Mobile Application Security : The Apple iPhone - Push Notifications, Copy/Paste, and Other IPC
  •  Mobile Application Security : The Apple iPhone - Networking
  •  Windows Phone 7 Development : Handling Device Exceptions
  •  Registering a Windows Phone Device for Debugging
  •  Programming the Mobile Web : WebKit CSS Extensions (part 5) - Transformations
  •  Programming the Mobile Web : WebKit CSS Extensions (part 4) - Animations
  •  Programming the Mobile Web : WebKit CSS Extensions (part 3) - Transitions
  •  Programming the Mobile Web : WebKit CSS Extensions (part 2) - Reflection Effects & Masked Images
  •  Programming the Mobile Web : WebKit CSS Extensions (part 1) - WebKit Functions & Gradients
  •  Windows Phone 7 Development : Debugging Application Exceptions (part 2) - Debugging a Web Service Exception
  •  Windows Phone 7 Development : Debugging Application Exceptions (part 1) - Debugging Page Load Exceptions
  •  Programming the Mobile Web : JavaScript Libraries
  •  
    Video
    Top 10
    SharePoint 2010 : Searching Through the API - The Search API
    SharePoint 2010 : Searching Through the API - Understanding the Query Expression Parsing Order
    Windows 7 : Designing a Client Hardware Platform (part 2) - Boot from VHD
    Windows 7 : Designing a Client Hardware Platform (part 1)
    Windows 7 : Designing and Managing a Licensing Strategy (part 1) - Volume Licensing Activation Methods
    GoPro Hero3 Black Edition Review - Bring The Quality Of Action Cameras To A Next Level (Part 2)
    GoPro Hero3 Black Edition Review - Bring The Quality Of Action Cameras To A Next Level (Part 1)
    How To Create A Lively Video Clip
    HDD, SSD and Hybrid Hard Drive Competition
    How To Transfer Data From SSD To HDD
    Most View
    Windows Server 2008 : Synchronizing Directory Information with Forefront Identity Manager (FIM)
    Algorithms for Compiler Design: PREDICTIVE PARSING ERROR RECOVERY
    AMD A6-3500 - Llano integrated-graphics processors
    Windows 7 : Developing Migration Files, Using USMT in Microsoft Deployment Toolkit
    How to Buy…A TV TUNER (Part 2)
    iPhone 5: A New Angle (Part 1)
    Nikon J2 With Metal Case And Cheaper Price Than J1
    SEH Computerteknik myUTN-150 - USB Deviceserver
    The Connected BlackBerry : Connection Paths (part 1) - Wireless Application Protocol Connection, Direct TCP Internet Connection, BlackBerry Internet Service Connection
    Windows Vista Security Guide
    Company Profiles: Twitter
    The Future Of Apple: Chip Off The Block (Part 8)
    20 Ice Cream Sandwich Secret Revealed! (Part 2)
    Communicate Between Two Machines on the Same Network (WCF)
    Designing a Windows Server 2008 R2 Active Directory : Understanding the Federated Forests Design Model
    Windows Phone 8 Operating System Review – Part1
    iPhone 3D Programming : Drawing an FPS Counter (part 2) - Rendering the FPS Text
    Nokia 808 Pureview - Best For Convergists
    Hands-On with the iPad Mini (Part 1)
    100 Windows Speed-Up Tips (Part 5) - Save space by dumping crash data