Šime posts regular content for web developers on webplatform.news. Each week, he covers timely news at the intersection of development standards and the tools that make them available on the web.
Installed PWAs cannot easily be restarted on iOS
iOS 12.2 PWAs
🔁 In-App browser for external content (OAuth)
💾 New lifecycle (No Reload)
⚠️Motion Sensors disabled; old getUserMedia removed
👍 IntersectionObserver, ConicGradients, datalist, color picker, AbortFetchhttps://t.co/LNzq6MzqjR
— Maximiliano Firtman @ 🇱🇹 Vilnius (@firt) March 26, 2019
Maximiliano Firtman: On iOS, it is not possible to restart an installed PWA by closing it from the recently used apps screen and then immediately reopening it. Instead of restarting the app, iOS restores its state. This can be a problem for users if the PWA gets stuck in a broken state.
<input> with type 'file' bug on #iOS 12.2 #PWA
Open the input, put the PWA in bg by pressing home button. The input stops working. True for any input with type 'file' throughout the app. It works after a phone restart. pic.twitter.com/IfzsXy91RK
— Pankaj Nathani ⭐️ (@croozeus) April 11, 2019
After some undefined time, the saved context seems to disappear. So if you get out of the PWA, do nothing with your phone and wait some hours to go back to the PWA, it restarts from scratch.
Instilling a performance culture at The Telegraph
We've been working hard at The Telegraph to improve third-party performance. Here is an insight into our approach – https://t.co/4hhRDYaidS #webperf ⚡️
— Gareth Clubb (@digitalclubb) April 30, 2019
Gareth Clubb: At The Telegraph (a major UK newspaper), we set up a web performance working group to tackle our “organizational” performance challenges and instill a performance culture. The group meets regularly to review third-party tags and work on improving our site’s performance.
<script defer> attribute. This change alone nearly doubled our (un-throttled) Lighthouse performance score.
We also removed 1 MB of third-party payload from our new front end. When one of our teams requests the addition of any new script, we now test the script in isolation and reject it if it degrades our metrics (first contentful paint, etc.).
When we started this process, we had a collection of very old scripts and couldn’t track the original requester. We removed those on the premise that, if they were important, people would get back in touch — no one did.
Microsoft plans to add tracking prevention to the Edge browser
Kyle Pflug: Microsoft has announced plans to add options for blocking trackers to the Edge browser. Malicious trackers would be blocked automatically, and the user would have the option to additionally block all potential trackers.
This would make Edge the fourth major browser with some form of built-in anti-tracking feature (two other major browsers, Opera and UC Browser, include ad blockers instead).
- In 2015, Firefox added Tracking Protection — recently renamed to Content Blocking — becoming the first major browser to protect users from third-party trackers (when browsing the web in private mode).
- Since 2017, Safari prevents cross-site tracking by default, through a feature called Intelligent Tracking Prevention (ITP). Users are prompted to allow tracking when they try to interact with third-party widgets on websites.
- Earlier this year, Samsung Internet added an experimental feature called Smart Anti-Tracking that denies third-party trackers access to cookies.
PWA for Android update – Samsung’s latest browser has inherited all of the PWA handling code from Chrome/Chromium (M67) and now supports everything Chrome did including MediaSession API, service workers, and the install hooks. You can “Install” from it (assuming you meet all the PWA requirements) and it will create an app in your Apps area just like chrome would, for Android 8 and 9.
Now if only Amazon’s Silk would support it on their Fire Tablets. Currently they do support MediaSessionAPI, AND service worker caches, but they haven’t turned on app installation in any way, so your apps still only can run in the context of the browser complete with address/url bar, tabs, and all that.