The Best of the Internets

WhatsApp Doesn’t Understand the Web

I am not a WhatsApp user, but I have long been impressed with the way they embrace operating systems others ignore. I think it has been a key to their success and speaks to the “accessibility” (in the broader sense) of their service.

I am completely baffled by the design decisions they made in their Web client, as is Andre Alves Garzia.

Inside Microsoft’s New Rendering Engine for the "Project Spartan"

This is Microsoft’s Jacob Rossi on how “Project Spartan” came to be and what is going on inside the browser that comes after Internet Explorer.

On that elated feeling of removing legacy code:

[S]wathes of IE legacy were deleted from the new engine. Gone were document modes. Removed was the subsystem responsible for emulating IE8 layout quirks. VBScript eliminated. Remnants like attachEvent, X-UA-Compatible, currentStyle were all purged from the new engine. The codebase looks little like Trident anymore (far more diverged already than even Blink is from WebKit).

On a faster dev cycle for the new browser:

[W]e’ll treat Windows 10 as a service—keeping users up to date and delivering features when they are ready (“auto-update”), not waiting for the next major release. This means the new rendering engine will always be truly evergreen.

On opening up the process:

Another welcomed change that we’ve been rolling out over the past year is a promise for increased openness about our web platform plans and roadmap. Over the last year, you’ve hopefully experienced some of this through our open standards roadmap15 (one of my personal side projects), our Reddit AMA16, regular dialog through @IEDevChat17, and sharing preview builds18 very early in our development process. You’ll see more of this over the next year.

Promising stuff all around. I am still wondering if we’ll eventually see the new browser appear on other operating systems (even if it’s just the browser chrome and not the rendering engine—like Chrome on iOS). Time will tell.

Flash of Faux Text

In his continuing exploration of font loading optimization, Zach Leatherman proposes loading a Roman (i.e. normal weight, non-italic) font first and letting the browser synthesize (i.e. fake) the bold, italic, etc. variants to reduce the load time and reflow of the document and let users start reading as soon as possible. Then he lazy loads the additional font weights and styles so the browser can swap out the synthesized glyphs for the actual ones.

Super clever stuff Zach!

All of This Has Happened Before and Will Happen Again

Another awesome post from Adrian Roselli on the perils of pushing for a one-browser (a.k.a. WebKit) world:

Everyone who calls for WebKit in Internet Explorer is exactly the same kind of developer who would have coded to Internet Explorer 15 years ago (and probably happily displayed the best viewed in badge).

If you are that developer, then it will all be your fault when it happens again. When WebKit is no longer the hot engine. When Chrome loses its dominance. When Apple’s market share falls to match the developing world. You will be to blame.

Do you think that won’t happen? Just look to Android browser fragmentation, or WebKit failing to support a standard that Firefox and IE have nailed, or Chrome introducing its own proprietary features (can’t find the link; it’s coming), or failing to use best practices as it tries to carry the next big thing forward, or the complete lack of developer relations from Apple. We’ve had over half a decade of warning signs.

It’s happening again, and every petulant, lazy developer who calls for a WebKit-only world is responsible.

Web Devvy Ways to Practice Gratitude and Empathy

A great post from Chris Coyier:

I’m starting to think empathy really is one of the most valuable skills (if you can call it a skill) that you can have. If you can put yourself in another persons shoes, you can imagine what it’s like to use the things you make. That gives you mad UX skills. It means you can write a damn fine support email. You can make a meeting worth having. You can communicate clearly, because you can imagine what it’s like to receive that communication.

Empathy is where it’s at. Check out his list for ways to increase your “devvy” empathy.

On Use of the lang Attribute

Adrian has put together a great overview of why lang is important and how many sites are using it. Here are a few takeaways:

  1. VoiceOver on iOS uses the attribute to auto-switch voices.
  2. VoiceOver can speak a particular language using a different accent when specified.
  3. Leaving out the `lang` attribute may require the user to manually switch to the correct language for proper pronunciation.
  4. JAWS uses it to load the correct phonetic engine/phonologic dictionary — Handy for sites with multiple languages.
  5. NVDA (Windows) uses it in the same way as VoiceOver and JAWS.
  6. When used in HTML that is used to form an ePub or Apple iBooks document, it affects how VoiceOver will read the book.
  7. Firefox, IE10, and Safari (as of a year ago) only support CSS `hyphens: auto` when the `lang` attribute is set.

Thanks for putting this together Adrian!