Web Development Reading List #168: Preload With Webpack, A Guide To Security Headers, And Service Worker Fallacies

Web Development Reading List #168: Preload With Webpack, A Guide To Security Headers, And Service Worker Fallacies

With great power comes great responsibility. This week I found some resources that got me thinking: Service Workers that download 16MB of data on the user’s first visit? A Bluetooth API in the browser? Private browser windows that aren’t so private at all?

We have a lot of methods and strategies to fix these kinds of things. We can give the browser smarter hints, put security headers and HTTPS in place, serve web fonts locally, and build safer network protocols. The responsibility is in our hands.

News Link

  • Joseph Medley tells us about API deprecations and removals in the upcoming Chrome 571. <keygen> will be removed, for example, as well as the prefix in some webkit-prefixed APIs.
  • Chrome 56 is here2 with support for the Web Bluetooth API and the WebGL 2.0 API. The new version also finally supports position: sticky (the only browser still lacking support for it now is MS Edge).
  • Safari 10.1 will be out soon3 with a lot of new features: fetch(), Custom Elements, CSS Grid Layout, Reduced Motion Media Query, and ES6 native modules are notable ones.
  • Thanks to browser vendors pushing it aggressively, HTTPS adoption has now reached the tipping point4. Good to see, especially since man-in-the-middle traffic modifications increased a lot on non-encrypted traffic in the last few months. Sadly, these interceptions are not executed by federal authorities or hackers but by companies like Comcast, Norwegian Airlines, hotel WiFi network companies and the like.
5
A step into the right direction: Analyzing the Alexa top million websites, the percentage of sites that are redirecting users’ browsers from HTTP to HTTPs has doubled from August 2015 to August 20166. (Image credit7)

Tools & Workflows Link

  • Addy Osmani wrote the Webpack plugin preload-webpack-plugin8 for wiring up <link rel='preload'> (and prefetch) automatically.

Security Link

Privacy Link

  • DuckDuckGo published the results of a study they conducted on the question if private browsing really is private10. Interestingly, most people have no idea about what the private mode in browsers exactly does and 84% of Americans would consider trying another major web browser if it offered more features to help protect their privacy. The full paper11 gives interesting insights into how people actually use search engines and how they try to protect their privacy.
Is Private Browsing Really Private?12
Privacy please! DuckDuckGo surveyed 5,710 random Americans to find out what they know about private browsing13 and how they use the common privacy feature.

Web Performance Link

  • Not too long ago, I mentioned an article about QUIC14, Google’s protocol that uses UDP instead of TCP to make transfers to a client even faster than HTTP/2. Now Facebook shares details about their even faster Zero protocol15 that builds on top of QUIC while still being compatible with TCP. I like that there’s now an alternative to Google’s approach and that people think about innovating the core of the Internet, the network itself, again.
  • Nicolas Hoizey analyzes why it’s not a good idea to just hook up Service Workers16 and save all resources offline. Given the fact that a lot of users might never come back or that they simply won’t read through all the pages of a website, downloading megabytes of data on first load might be a very bad practice — especially when we keep data plan costs in mind. Looking at these numbers, the 3MB of an average web page are nearly negligible if a Service Worker loads 16MB of useless data on initial page load without further ado.

Accessibility Link

  • axe-cli17 brings the accessibility testing tool axe-core to the command line. It does require Webdriver but runs smoothly nevertheless. So integrating it into your local workflow or even on a CI server shouldn’t be a problem.

JavaScript Link

And with that, I’ll close for this week. If you like what I write each week, please support me with a donation21 or share this resource with other people. You can learn more about the costs of the project here22. It’s available via email, RSS and online.

— Anselm

Footnotes Link

  1. 1 https://developers.google.com/web/updates/2017/02/chrome-57-deprecations
  2. 2 https://developers.google.com/web/updates/2017/01/nic56
  3. 3 https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_1.html
  4. 4 https://www.troyhunt.com/https-adoption-has-reached-the-tipping-point/
  5. 5 https://www.troyhunt.com/https-adoption-has-reached-the-tipping-point/
  6. 6 https://www.troyhunt.com/https-adoption-has-reached-the-tipping-point/
  7. 7 https://www.troyhunt.com/https-adoption-has-reached-the-tipping-point/
  8. 8 https://github.com/googlechrome/preload-webpack-plugin
  9. 9 https://blog.appcanary.com/2017/http-security-headers.html
  10. 10 https://spreadprivacy.com/private-browsing-9276d6d16ea4
  11. 11 https://duckduckgo.com/download/Private_Browsing.pdf
  12. 12 https://spreadprivacy.com/private-browsing-9276d6d16ea4
  13. 13 https://spreadprivacy.com/private-browsing-9276d6d16ea4
  14. 14 https://www.smashingmagazine.com/2016/08/web-development-reading-list-148/#web-performance
  15. 15 https://code.facebook.com/posts/608854979307125/building-zero-protocol-for-fast-secure-mobile-connections/
  16. 16 https://nicolas-hoizey.com/2017/01/how-much-data-should-my-service-worker-put-upfront-in-the-offline-cache.html
  17. 17 https://www.npmjs.com/package/axe-cli/
  18. 18 https://github.com/KyleAMathews/typefaces
  19. 19 https://github.com/KyleAMathews/typefaces
  20. 20 https://paul.kinlan.me/detecting-text-in-an-image/
  21. 21 https://wdrl.info/donate
  22. 22 https://wdrl.info/costs/

↑ Back to topTweet itShare on Facebook

Leave a Reply

Your email address will not be published. Required fields are marked *