About The Author

Anselm is a freelance front-end developer who cares about sustainable front-end experiences and ethical choices in life. He writes the WDRL, and is co-founder … More about Anselm

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.

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.

Further Reading on SmashingMag:

News

  • Joseph Medley tells us about API deprecations and removals in the upcoming Chrome 57. <keygen> will be removed, for example, as well as the prefix in some webkit-prefixed APIs.
  • Chrome 56 is here 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 soon 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 point. 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.
Alexa top 1 Million sites redirecting to HTTPS
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 2016. (Image credit)

Tools & Workflows

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

Security

Privacy

  • DuckDuckGo published the results of a study they conducted on the question if private browsing really is private. 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 paper gives interesting insights into how people actually use search engines and how they try to protect their privacy.
Is Private Browsing Really Private?
Privacy please! DuckDuckGo surveyed 5,710 random Americans to find out what they know about private browsing and how they use the common privacy feature.

Web Performance

  • Not too long ago, I mentioned an article about QUIC, 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 protocol 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 Workers 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

  • axe-cli 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

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

— Anselm