Don’t Scare WP7 App Users—Use Windows Phone Capability Detection Tool
If you’ve installed an app on a mobile device, you’ve probably had to approve the application’s use of the devices capabilities, like the GPS or SMS. The longer the list of capabilities, and the less relevant to the app they seem, the more reluctant I am to use the application. If I see a calorie counter that wants me to approve voice communications, I’m moving on to a different app.
When you create a Windows Phone 7 application, Visual Studio creates an Application Manifest File.aspx), which basically says your app will use all known capabilities of the phone. I’m not sure why this is done at creation, rather than at build when the actual capabilities can be determined, especially because part of the AppHub approval process involves your app not using capabilities it doesn’t need.
As a partial remedy, there is the Windows Phone Capability Detection Tool. Basically, once your app is compiled, you run this tool against the binaries to detect its capabilities. You get some output, and then have to manually edit the manifest file. Then, you have to recompile and deploy your application.
Obviously, the long term hope is that this process can be improved so the detection and manifest update can be automatically performed as part of the build, and there won’t be a need for a second recompile. But this is a tolerable start.