Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Defining Windows Phone App's Requirements

0.00/5 (No votes)
25 Apr 2013 1  
Defining Windows Phone app's requirements

Posted on April 17, 2013 at http://blogs.windows.com/windows_phone/b/wpdev/archive/2013/04/17/defining-your-app-s-requirements-for-a-great-customer-experience.aspx.

Requirements

Every Windows Phone app developer wants to create an app with satisfaction, you need to consider many issues for a successful app. In addition to an elegant interface, user-friendly layout, even some small changes are the things we need to consider. This article on Windows Phone developer blog shows you how to set up requirements of your app. That seems irrelevant, but it is a problem.

Capabilities and Requirements

Windows Phone uses the app manifest file to identify the software capabilities, hardware required, and memory each app requires to run correctly:

Software capabilities: indicate that an app accesses the phone identity, camera, maps, media libraries, networking, Near-Field Communication (NFC), push notifications, sensors, wallet, web browser, and other software capabilities. Windows Phone grants access to these capabilities, and customers are informed before purchasing the app which capabilities are used.

Hardware requirements: indicate phone features that the app must have to function correctly. The operating system uses the list to prevent apps from being installed on phones that don’t meet these requirements.

Functional capabilities: indicate that your app is requesting more memory at run time, if it is available.

Your app must enable the relevant capabilities and hardware requirements

Make sure your app is not marking capabilities and requirements that it doesn’t need. Users see your app’s capabilities and requirements when they install the app, and may decide not to move forward with installation if they see that your app uses capabilities that they don’t want to enable, or that are not related to the purpose of the app.

In a scenario in which your app can provide value even when some hardware is absent, use API checks to first detect the presence of the hardware, and then to inform users if some features are disabled because of missing hardware.

The following steps explain how you can modify support for different Windows Phone capabilities in your app.

Open your project in Visual Studio, go to the Solution Explorer, and then in the Properties folder, open WMAppManifest.xml. Then, add or remove the capabilities as illustrated here:

Add Hardware and Functional Capabilities to the Manifest File

If the hardware or functional capabilities you need are not listed in Visual Studio, you must manually edit the manifest file. To do this, first understand all the capabilities available, and then edit the manifest file in a text editor, such as Notepad, or directly in the code. Right-click the file in Solution Explorer, click Open With, and then edit through Notepad or ‘view code’. You turn these on by adding the correct flag:

Requirement Short description
ID_REQ_MEMORY_90 App requires at least 90 MB of RAM
ID_REQ_MEMORY_300 App requires at least 180 MB of RAM
ID_REQ_FRONTCAMERA App requires the front-facing camera
ID_REQ_REARCAMERA App requires the rear camera
ID_REQ_NFC App requires a phone with NFC chip
ID_REQ_MAGNETOMETER App requires a compass
ID_REQ_GYROSCOPE App requires gyroscope to measure rotational velocity

Here’s an example of the manifest flag that shows the software, hardware, and functional capabilities:

Capabilities Required When Using the Microsoft Ad Control

If your app uses the Microsoft Ad Control, be sure to enable the following capabilities:

Windows Phone 7 Silverlight Windows Phone 7 XNA Windows Phone 8 project
ID_CAP_IDENTITY_USER ID_CAP_IDENTITY_USER ID_CAP_IDENTITY_USER
ID_CAP_MEDIALIB ID_CAP_NETWORKING ID_CAP_MEDIALIB_PHOTO
ID_CAP_NETWORKING ID_CAP_PHONEDIALER ID_CAP_NETWORKING
ID_CAP_PHONEDIALER   ID_CAP_PHONEDIALER
ID_CAP_WEBBROWSERCOMPONENT   ID_CAP_WEBBROWSERCOMPONENT

Additional Considerations

In some scenarios, capabilities are added automatically. Here are some examples:

During debugging, when running the app in the Windows Phone Emulator, the Network Capability is set to ‘on’ by default. You should always test your app on a phone instead of on the emulator if your app uses any of the Windows Phone Software or Hardware capabilities, to ensure you are getting correct test results.

For Windows Phone 8 projects, it is your responsibility to ensure all the correct Software capabilities are identified and added to the manifest file.

For Windows Phone 7 projects, the submission process looks for software API calls and, if found, will add the Software capabilities to ensure that the app has the correct permissions to run.

Third-party libraries could make calls to some APIs, for example, to network or sensor APIs.

Having a variety of phones with different price points creates opportunities to reach out to more users. Take the time to set the correct information and get your app ready to be successful on a variety of Windows Phone devices.

How Capabilities are Displayed to Windows Phone Users

The following table shows examples of how capabilities appear to consumers in the web Store and on the phone:

How capabilities are shown in app details page of an app on the Windows Phone web Store.

How capabilities are shown in the app details page of an app on Windows Phone:

Using the Store Test Kit (for Windows Phone 7 Projects)

If your app targets Windows Phone 7.1, you can use the Store Test Kit to verify the capabilities that are being detected, to confirm they align with what you are expecting. The Windows Phone 8.0 SDK includes the Store Test Kit, and the Windows Phone 7 SDK requires you to install a stand-alone tool to run these tests.

Take the following steps to run the Store Test Kit for Windows Phone 7 project:

INSTALL AND START THE TEST KIT. Install and run the Store Test Kit. In the latest version of the SDK, you can open the Store Test Kit directly from within your project: on the Project menu, click Open Store Test Kit.

RUN THE AUTOMATED TESTS. The Store Test Kit can detect and add software capabilities based on API calls for Windows Phone OS 7.x managed projects (not on native projects or Windows Phone OS 8.0 managed projects). Note: You probably will need to update the test cases the first time you run the Test Kit, because we update them frequently. You can do this easily from the blue alert bar you might see across the bottom of the Test Kit window.

Use the Automated Tests tool to identify the capabilities that your app is using. Verify that these are the capabilities your app actually requires.

Windows Phone users appreciate having visibility into my app requirements, so that they can make an informed choice about downloading and purchasing the app. In the end, the user gets an app that performs well on their phone, and you get a better review for your apps. Everyone wins.

Post url: http://www.wpgamer.info/2013/04/defining-windows-phone-apps-requirements.html

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here