Feature requests for SFSafariViewController from Twitter, Inc
| Originator: | bachmann.florian | ||
| Number: | rdar://21588968 | Date Originated: | 29-Jun-2015 12:28 PM |
| Status: | Open | Resolved: | |
| Product: | iOS SDK | Product Version: | 9.0 |
| Classification: | Feature (New) | Reproducible: | Always |
This is a duplicate of rdar://21349835
The trajectory of SFSafariViewController is really top notch and we have a strong desire at Twitter to move our Web View code from a custom controller wrapping WKWebView. The web view is one of the most heavily traffic’d components in our application and if we get the requirements we need from a SFSafariViewController, there would be nothing stopping us from converting over (with the exception of still supporting iOS 7 and 8 of course).
Our team has enumerated all the code we have in our WebViewController and effectively 90% of the work we do is to reach parity with Safari, and is immediately taken care of by SFSafariViewController. For that remaining 10%, we do have other work we do today that we would like to have built into SFSafariViewController.
Critical:
- Observable loading behavior
- Did the user wait for the complete load, did they navigate as things were loading, did they close as things were loading?
- Observable requests and their timings
- Optimally, a data structure with the W3C NavigationTiming would be the best
- https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
- Spoke with Engineer on CFNetwork team about this being exposed with NSURLSession as well and he was in favor
High Priority:
- Ability to warm the SFSafariViewController before actually presenting it with a URL, URL request, HTML data or file on disk
- Currently, are investing heavily into warming the shared URL cache for high priority Tweets so that if the user hits that Tweet we will open UIWebView (sadly not WKWebView) with that pre-cached web page. If we could just warm an SFSafariViewController with the desired link, this would eliminate an enormous amount of effort on our end.
Lower Priority:
- Observable data usage broken down by the navigation timing
- Knowing our users’ data costs are critical because in many countries as bytes directly translate into monetary cost
The last place where we do a lot of work is w.r.t. handling specific URLs and URL schemes that should all (I would assume) work with the new seamless link support added to iOS 9.
Thanks for everything!
Nolan O’Brien,
Tech Lead - Twitter Dynamic App
Comments
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!