Archive for December 24, 2019

Tuesday, December 24, 2019

New WebKit Features in Safari 13

Jon Davis:

WebKit provides the heart of this new experience with deep, fundamental changes that deliver a great desktop website experience on a touch device. With the exception of iPad mini, Safari on iPad will now send a user-agent string that is identical to Safari on macOS. Beyond just a user-agent change, WebKit added new support for web standards to provide the needed compatibility and quality. That included adding new support for Pointer Events, the Visual Viewport API, and programmatic paste.


Find on page now works like Safari on desktop, highlighting all of the matching terms on the page with a special highlight for the current selection.


Support for websites saved to the home screen have been polished to work more like native apps. The changes focused on better multitasking support, improved login flow to work in-line without switching to Safari, support for Apple Pay, and improved reliability for remote Web Inspector.


With the introduction of native WebDriver support in Safari on iOS 13, it’s now possible to run the same automated tests of desktop-oriented web content on desktop and mobile devices equally.

Notably absent from Safari for iOS: extensions.

Messages Screen Sharing for Remote Troubleshooting

Joseph Keller:

You can invite someone to share your screen, or request or be invited to share the screen of another person’s Mac, and it’s all done through Messages. This is a great way to help troubleshoot problems on a remote Mac[…]

When this works, it’s great. But I’ve found that sometimes, for no discernible reason, the command to start sharing the screen just isn’t there.

If you’ve got a problem with an iOS device, you can get some remote help with it using Messages screen sharing and QuickTime Player on your Mac. While the person from whom you’re seeking help won’t be able to remotely control your iOS device, they will be able to watch as you perform the steps necessary to fix it yourself.

Modding the Silicone Tips of AirPods Pro

Federico Viticci:

I can use in-ear silicone tips without getting a headache after 20 minutes. It’s not my favorite method of listening to music, however, because I know that memory foam tips are a better fit for my ears since they can better adapt to the shape of my ear canal and, as a result, provide better isolation and a more bass-y response.


The solution I’ve adopted isn’t ideal since I still haven’t found complete foam replacements made specifically for AirPods Pro, but, at least for me, what I’m using today is better than using Apple’s default silicone tips. As I shared on Twitter a few days ago, I’ve modded the AirPods Pro’s silicone tips with an extra memory foam layer, which helps the tips fit better in my ears, resulting in a warmer sound and overall more comfortable feel. The best part: I didn’t have to cut the memory foam layer myself – I simply took the foam layer from a pair of Symbio W eartips and fitted it inside the AirPods Pro’s tips.


AirPods Pro Alternatives

Andrew O’Hara:

Jabra boasts a resistance rating of IP55, which means it can withstand dust and jets of water, while AirPods Pro is only able to withstand sweat and rain. Apple did not test dust ingress into AirPods Pro, resulting in the IPX4 rating.

Importantly, we also found that Jabra Elite 75t is capable of better sound quality than AirPods Pro. The cases individual buds are slightly larger, which could yield a bit more bass and overall fuller sound. If sound quality is the predominant factor in selection, then the Jabra Elite 75t takes the crown.

Julio Ojeda-Zapata:

The recently released Solo Pro are full-sized headphones, not tiny earbuds, but they are otherwise similar to the AirPods Pro.

They include noise cancellation and transparency mode, with minor differences. A physical button on the left side cycles through the audio modes, but you can turn them off only in the iPhone’s Bluetooth settings and via Control Center, or in the Mac volume settings. No Apple Watch controls are available.


Amazon’s new, noise-canceling Echo Buds cost only $129 and have Siri support along with custom-made Comply foam tips. Note: I haven’t tried the Echo Buds and don’t know how well they work, so this mention should not be construed as a recommendation.

Shop for non-Apple earbuds with care, because many lack active noise cancellation, including much-hyped new products like Google’s Pixel Buds, Microsoft’s Surface Earbuds, and Samsung’s Galaxy Buds.


App Store to Ban Deprecated UIWebView

Apple (via John Wilander):

If your app still embeds web content using the deprecated UIWebView API, we strongly encourage you to update to WKWebView as soon as possible for improved security and reliability. WKWebView ensures that compromised web content doesn’t affect the rest of an app by limiting web processing to the app’s web view. And it’s supported in iOS and macOS, and by Mac Catalyst.

The App Store will no longer accept new apps using UIWebView as of April 2020 and app updates using UIWebView as of December 2020.

I’m not sure how things are on iOS, but on the Mac WKWebView is not yet able to fully replace WebView, even if you rewrite lots of delegate methods in JavaScript.

Jonathan Deutsch:

For my app (@hypeapp), the WebView DOM APIs are quite integral and I am waiting for an performant equivalent in WKWebView.


UIWebView on iOS was always pretty limited, but on macOS they deprecated hundreds of APIs without any suitable replacements!

I did make a bridge as an experiment that replaced the DOM APIs, but performance was crap since it needed to use JS.

Presumably Apple knows this—and has experience with some of the issues from Mail—and so won’t be so hasty with the transition on the Mac.

Personally, I don’t think WebView should have been deprecated at all until it had a suitable replacement. It feels like it’s setting up a situation where Apple is going to ban it, saying “We deprecated it a long time ago and gave you years to switch,” when it was only actually possible to switch for a short time.


Update (2019-12-26): David Kilzer:

NOW is the time to submit enhancement requests or bug reports if you can’t use WKWebView to replace use of WebView (macOS) or UIWebView (iOS) in your apps! Reply with Feedback Assistant or Radar IDs here and I’ll make sure they are seen.

Isaiah Carew:

i talked directly to people. i have filed mutiple radars. well over a year ago.

the limitations are profound and obvious.

they say they’re taking feedback, but I’m not optimistic that they’ll do anything with that feedback.

Sam Soffes:

Last I tried, proper printing support on Mac isn’t possible with WKWebView but works flawlessly with WebView. Spent an entire day trying to figure this out back in March. Forums all agree it’s broken in WK 😞

Update (2020-01-24): David Dunham:

OK, I am finally trying to switch. It is not looking good — one of my views displays way too small, and neither use the custom fonts that with UIWebView “just worked.”

I managed to handle that (hacking HTML and CSS). Now I am stuck with a much less responsive app. Probably because I have to spin up two new processes to handle the WKWebViews.

Update (2020-01-30): Bogdan Popescu:

I’ve decided to discontinue Dash for iOS, as maintaining it is no longer sustainable. […] Dash for iOS also uses UIWebView extensively, which won’t be accepted on the App Store starting with April 2020. Migrating to WKWebView would be more work than it’s worth.

Update (2020-05-06): Steve Tibbett:

Apple is enforcing the UIWebView deprecation today on uploads (not submissions) of binaries for unreleased apps. We depend on an SDK from a third party that fixed the UIWebView deprecation in a major, breaking SDK update. Surprise!

Update (2020-10-09): Apple:

And last year, we announced that the App Store will no longer accept app updates containing UIWebView as of December 2020.

However, to provide additional time for you to adopt WKWebView and to ensure that it supports the features most often requested by developers, this deadline for app updates has been extended beyond the end of 2020. We’ll let you know when a new deadline is confirmed.

Josh Avant:

Will this become another requirement like App Transport Security that kinda just disappears?