10.3 tel: URLs with prompt create UX problems

Number:rdar://31153464 Date Originated:20-Mar-2017 08:36 PM
Status:Open Resolved:
Product:iOS + SDK Product Version:10.3 beta 7
Classification:UI/Usability Reproducible:Always
In our app ("Where To?"), the user can make calls using standard phone calls (the app opens a tel: URL) and Skype calls (the app opens a skype: URL). The app displays an action sheet where the user can select the service.

Since iOS 10.3, the system adds an additional confirmation alert for tel: URLs. This leads to a bad UX because we now have two prompts, one from our app and one from the system.

I agree that malicious apps might abuse the tel: URL. However, the chosen remedy in 10.3 seems suboptimal and punishes all users for a small number of malicious apps.

I propose one of the following alternate solutions:

- Only blacklist a certain set of "dangerous" phone numbers such as 911, 112, 110, and premium toll numbers. Display the alert only for such dangerous numbers. International phone numbers might be added to this black list as well to prevent accidental international calling charges. (This requires a deep, non-trivial understanding of phone numbers. Libraries such as libPhoneNumber can accomplish this.)

- Make using the tel: URL a similar privilege as one of the privacy settings that must be approved at first use. This would require a usage description key in Info.plist. That way, App Store review can easily identify apps that need this privilege and test accordingly. Apps that don't add the Info.plist key, should fall back to always showing the confirmation alert.

- Provide a hook to allow adding other options (parameters: title + URL + completion block) to the system supplied prompt. This would allow us to add options to call using alternate providers such as Skype, or using alternate numbers (via the tel: scheme) such as certain dialing prefixes etc. The completion block should inform the app if the call was successful or not, potentially with an error object.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!