Web Development Reading List #163: The End-Of-Year Wrap-Up
- By Anselm Hannemann
- December 16th, 2016
- Web Development Reading List
- 6 Comments
Only one week left until Christmas, and people already start freaking out again. No gifts purchased yet, work isn’t finished either, and suddenly some budget has to be spent until the end of the year. All of this puts us under pressure. To avoid the stress, I’ve seen a lot of people take a vacation from now until the end of the year — probably a good idea.
And while it’s nice to see so many web advent calendars, I feel like I’ve never written a longer reading list than this one. So save this edition if you don’t have much time currently and read it during some calm moments later this year or early next year. Most articles are still worth reading in a few weeks.
News Link
- Opera 42 (built upon Chromium 55) is out1 and comes with a built-in currency converter, support for Pointer Events, JavaScript async/await, and CSS
hyphens
.document.write()
on the other hand, will no longer load2 over 2G connections. - The EU Parliament is now drafting a directive that will force private sector companies to accommodate disabled people when offering their goods3 and services. This means financial firms will need to comply with WCAG and other accessibility standards soon.
- Firefox has introduced Telemetry a while ago to its browser and now shares some details on what devices and hardware Firefox users use4. In September 2016, for example, 10% still used Windows XP while only 7% used macOS and 77% of the users still have Flash installed. The most common screen resolutions are
1366x768px
and1920x1080px
. There are many more really interesting statistics in there, and we’ll have to see how this develops over the next few years. But for us web developers, this also highlights that we shouldn’t assume that people use QuadCore CPU, 8GB RAM machines but have “lower-end” devices instead. So be aware of this before you create fancy CPU/memory-consuming web applications that a user will not have fun with. - Samsung Internet browser 5.0 has been released5. It has some interesting new technologies built in, such as content provider extensions, 360˚ video, a QR code reader, and a video assistant.
Security Link
- Mathias Karlsson shows how easy it is to enable a
postMessage
XSS on your site by integrating a sharing button9.
Privacy Link
- A lot of us are using Disqus’ commenting system on their websites. It’s an easy way to add comments to your static website, but now Disqus announced that they need to lay off about 20% of their employees. But not only that, they will also change their strategy towards data collection and advertising10. Specifically, they elaborate on displaying ads in comments, and there are speculations that they will try to sell (anonymized) user data to advertisers to help them tailor their ads more precisely to users. Maybe time to reconsider if you really want to use the service.
- The Freedom of Press Foundation has asked camera manufacturers to provide encryption methods11 for the stored data on the memory cards to help journalists in critical circumstances prevent leaks of their captured images.
- According to a leaked draft, the new EPrivacy law of the European Union will allow companies to do behavioral advertising based on user metadata12.
Web Performance Link
- Sergey Chikuyonok dives deep into the technical details of browsers and hardware to explain how to get GPU animation right13 and why it makes a big difference if we render animations on the CPU or on the GPU.
- Steve Souders explains why setting
async
on a script can cause various issues and howdefer
is different from that14. His conclusion:defer
should be your default choice overasync
.
Accessibility Link
- Covering unit tests and functional tests, The Intern15 is a nice testing tool for JavaScript. But you can also use The Intern for accessibility testing16, as Jason Cheatham explains in a recent article.
- Chats are common these days, but how many of the web chats out there are accessible? Theodor Vararu shares patterns for accessible web chats17.
JavaScript Link
- Todd Motto wrote a tutorial on how to build a live calculator for a Tesla with Angular 2 reactive forms20.
[...'???'] // ["?", "", "?", "", "?"]
or‘???’.length // 8
— do you wonder why that works? Stefan Judis found out and shares the technical details on why the Emoji family works so well with JavaScript operations21 and how you even can dynamically generate the skin color of an emoji22 with color codes and the unicode.- If you need to deal with different currency formats, it’s likely that some third-party library is in place. A powerful tool that can handle most conversions really well is
toLocaleString
23. - Paul Kinlan introduces the Web Share API, a solution that allows websites to invoke the native sharing capabilities of the host platform24.
- Max Stoibers explains how to use stylelint25 to lint your CSS when writing them in JavaScript26.
CSS/Sass Link
- Harry Roberts shares why you shouldn’t write
background: black;
but be explicit withbackground-color: black;
. The shorthand syntax often unsets other properties that we never intended to modify29 and, thus, can cause unwanted side-effects. - Remy Sharp explains how to properly build a close icon when using system fonts30.
x
is just wrong, so use×
instead.
Work & Life Link
- Cal Newport wrote about the concept of Deep Work and why it’s probably more efficient if you schedule your deep work in advance31 rather than just logging it on-the-go.
- Working long hours doesn’t mean someone has a good “work ethic”. Instead, it just means working too much. Jason Fried on what “work ethic” really is about32.
Going Beyond… Link
- Carole Cadwalladr discusses the struggles of services like Google and Facebook between freedom of the press and promoting fake news33. An interesting insight into how search results are influenced.
- Sarah Jones on tech moguls that claim that they want to remake the world and why they behaved as if they owe us no explanation for their decisions34 this year. A moral analysis of the startup culture.
And with that, I’ll close for this week. If you like what I write each week, please support me with a donation35 or share this resource with other people. You can learn more about the costs of the project here36. It’s available via email, RSS and online.
— Anselm
Footnotes Link
- 1 https://dev.opera.com/blog/opera-42/
- 2 https://developers.google.com/web/updates/2016/08/removing-document-write
- 3 http://qa-financial.com/testing/companies/eu-ready-set-laws-accessibility-testing/
- 4 https://metrics.mozilla.com/firefox-hardware-report/
- 5 https://medium.com/samsung-internet-dev/announcing-samsung-internet-5-0-1ac2bfc14b78#.xl2j1qb4x
- 6 https://metrics.mozilla.com/firefox-hardware-report/
- 7 https://metrics.mozilla.com/firefox-hardware-report/
- 8 https://metrics.mozilla.com/firefox-hardware-report/
- 9 https://labs.detectify.com/2016/12/15/postmessage-xss-on-a-million-sites/
- 10 https://techcrunch.com/2016/12/13/disqus-lays-off-11-as-it-plans-a-deeper-focus-on-data/
- 11 https://www.wired.com/2016/12/200-filmmakers-ask-nikon-canon-sell-encrypted-cameras/
- 12 http://arstechnica.co.uk/tech-policy/2016/12/web-users-metadata-tracked-targeted-ads-leaked-draft-eu-law-reveals/
- 13 https://www.smashingmagazine.com/2016/12/gpu-animation-doing-it-right/
- 14 http://calendar.perfplanet.com/2016/prefer-defer-over-async/
- 15 https://theintern.github.io/
- 16 https://www.sitepen.com/blog/2016/12/13/accessibility-testing-with-intern/
- 17 https://accessibility.blog.gov.uk/2016/12/09/patterns-for-accessible-webchats/
- 18 https://www.sitepen.com/blog/2016/12/13/accessibility-testing-with-intern/
- 19 https://www.sitepen.com/blog/2016/12/13/accessibility-testing-with-intern/
- 20 https://toddmotto.com/building-tesla-range-calculator-angular-2-reactive-forms
- 21 https://www.contentful.com/blog/2016/12/06/unicode-javascript-and-the-emoji-family/
- 22 https://www.smashingmagazine.com/2016/11/character-sets-encoding-emoji/
- 23 https://remysharp.com/2016/12/13/format-numjsor-es6
- 24 https://medium.com/dev-channel/introducing-the-web-share-api-40c69d93fe2a
- 25 http://stylelint.io/
- 26 http://mxstbr.blog/2016/12/linting-styles-in-js-with-stylelint/
- 27 https://www.contentful.com/blog/2016/12/06/unicode-javascript-and-the-emoji-family/
- 28 https://www.contentful.com/blog/2016/12/06/unicode-javascript-and-the-emoji-family/
- 29 http://csswizardry.com/2016/12/css-shorthand-syntax-considered-an-anti-pattern/
- 30 https://remysharp.com/2016/12/10/in-the-detail-close-button
- 31 http://calnewport.com/blog/2016/12/07/from-deep-tallies-to-deep-schedules-a-recent-change-to-my-deep-work-habits/
- 32 https://m.signalvnoise.com/work-ethic-e34bd63d2489
- 33 https://www.theguardian.com/commentisfree/2016/dec/11/google-frames-shapes-and-distorts-how-we-see-world
- 34 https://newrepublic.com/article/139147/year-silicon-valley-went-morally-bankrupt
- 35 https://wdrl.info/donate
- 36 https://wdrl.info/costs/