- 06-29-2011, 02:33 PM #1
I cannot seem to find any documentation that covers this in detail, but I am looking to find out what all the possible app requirements are and what they allow an application to do.
I did find this KB article that seems to enumerate the possibilities:
Troubleshooting applications purchased from Marketplace on Windows Phone 7
The article mentions the below permissions/requirements, with my comments in parens:
- data connection (probably just access to the internet/wifi/intranet)
- sensors (accelerometer, compass? temperature? light?)
- location services (gps and/or tower triangulation, essentially "where is the phone")
- push notifications (straightforward, support for push messages)
- media library (WTF? An app needs access to my music list? pictures? what does this mean?)
- web browser (needs to embed an instance of the IE browser in the app? It might already have data connection, how is web browser different?)
- phone identity (phone number? IMEI? network information?)
- owner identity (what is this? You dont have to associate the phone with a live id or put personal information in, so what is this, where does it come from?
- RunsUnderLock (allows app to continue running if it is active when the phone locks, etc)
- Xbox Live (obvious)
I also found the HTC apps need the below:
- InteropServices (??)
My primary concerns are:
- media library
- phone identity
- owner identity
Specifically I dont understand why anything needs access to my media library? If this is just my music files, I can probably get over this, but if it includes pictures I have taken, this is troubling because a lot of apps require this that have nothing to do with media.
The "identity" permissions also are too ambiguous, would like to know what information the app is allowed to see and possibly transmit, etc.
Anyone have links to dev documentation or a better source? I cant seem to find anything that thoroughly documents this.
06-29-2011, 02:54 PM #2
- 626 Posts
If the app wants to display images from your media library, or save images from within the app, it needs access to the media library. Same thing with audio files as well. Sounds and Pics/Videos are all lumped into the Media Library.
Owner identity returns a unique yet random id for each Live account. So the developer does not know your true live account ID, but it can be used for tracking purposes. These tracking purposes can include login credentials, score/leaderboards, etc. As well as tracking for ADs.
The phone identity is mostly the type of phone, network carrier, hardware specs, etc. It can also be used for a unique equivalent to a hardware serial number by apps as well. For ultra tight security apps you can lock access to only specific phones with it, etc.
Most ads uses the phone ID for type of phone and network carrier, as well as the owner identity to "track" (anonymously) the ads being displayed, etc.
- 06-29-2011, 03:00 PM #3
Thanks for the info enahs555, I finally found more information. Apparently in the dev documentation, these are called "Capabilities", not permissions, access rights or requirements.
The Owner/Phone Identity now seems pretty straightforward, I dont mind a unique random identifier so they can identify "repeat" visits from the same person without having my personal identity.
I am still concerned about the media library. I can understand this permission might mean the app needs to save its own images/media to be reloaded within the app. I am okay with that. But does this permission mean the app has access to all the media on my phone, including images/music that was already on my phone for example in Camera Roll?
06-29-2011, 03:03 PM #4
- 626 Posts
Yes it means it technically can access all saved images from the camera roll; however, I am not aware of anyway to access the image without the user selecting the specific image. I have not done much developing with the media content yet; so I am not 100%.
Apps can of course save images to their own app storage area, but then it would not be accessible by other apps/media hub.
- 06-29-2011, 11:12 PM #5
I looked more at the dev apis and I cannot seem to find anything that might allow an app to enumerate the list of photos in the camera roll without having to use one of the OS "chooser" api, where the user "chooses" the image, then the app hooks an event that an image was selected and gets a reference to the stream, but never is allowed to list and choose images to open.. So I guess it is probably safe.
Launchers and Choosers Overview for Windows Phone