The first draft of the service worker spec was published today! It's been a collaborative effort between Google, Samsung, Mozilla and others, and implementations for Chrome and Firefox are being actively developed. Anyone interesting in the web competing with native apps should be excited by this.
Improving the URL bar
iOS has hidden the pathname of URLs for some time now, but recently Chrome Canary introduced something similar behind a flag.
I'm not involved in the development of Chrome experiment at all, but I've got more than 140 characters worth of opinion on it…
visibility: visible undoes visibility: hidden
If you set an element to display: none
the browser ignores all of its children, if a child sets itself to display: block
it will remain hidden. This isn't true of visibility
.
ES7 async functions
They're brilliant. They're brilliant and I want laws changed so I can marry them.
Promises: resolve is not the opposite of reject
When I first started working with promises I had the overly simplistic view that passing a value into reject
would mark the promise as "failed", and passing a value into resolve
would mark it as "successful". However, the latter isn't always true.
The browser cache is Vary broken
Jake, why are your blog posts always so depressing?
— Domenic Denicola (@domenic)
Well, I wouldn't want to disappoint…
Don't use flexbox for overall page layout
Progressive enhancement is faster
Progressive enhancement has become a bit of a hot topic recently, most recently with Tom Dale conclusively showing it to be a futile act, but only by misrepresenting what progressive enhancement is and what its benefits are.
Let's look at the real-world benefit of progressive enhancement.
Having fun with <image>
Did you know that this works in every browser?
<image src="f1.jpg">
Solving rendering performance puzzles
The Chrome team are often asked to show the process of debugging a performance issue, including how to select tools and interpret results. Well, I was recently hit by an issue that required a bit of digging, here's what I did: