memory-stats.js from Paul Irish.
Mobile Navigation
Luke Wroblewski on designing mobile navigation:
Compressor Head
I’ve noticed more developer focused videos from Google lately ( I’m probably just late to the party ). One that I recently started watching is Compressor Head, “video series explaining the theory and practice of compression algorithms”.
Here is the episode on LZ77 compression:
HTTP Archive and BigQuery
The HTTP Archive is a great resource for watching trends on the web in general, and web performance specifically. What you might not know is that data from the HTTP Archive test runs ( twice a month ) are available via Google BigQuery. Ilya Grigorik walks through getting started in HTTP Archive + BigQuery = Web Performance Answers.
Baremetrics
One of the things really interesting services trigger is other interesting services built on top of it. It was that thinking that had me looking at Baremetrics, “Analytics & Insights for Stripe”. This is the type of data everyone who deals with money wants to see.
Beyond that they offer something that is definitely outside the box: public revenue dashboards. In the past I’ve come across dashboards for Buffer and Ghost. baremetrics.com/open has a list of sites with public dashboards, including Baremetrics itself. Not every company wants to be so transparent with money matters, for those that do Baremetrics has made it very easy.
I wonder how Stripe thinks about Baremetrics. There is the traditional corporate method: Stripe should acquire them and offer the analytics as an add on themselves. Then others put forward the idea that having a thriving third party ecosystem is more important for the long term health and survival of Stripe.
Which approach would you take?
Invictus
The William Ernest Henley poem Invictus:
Out of the night that covers me,
Black as the pit from pole to pole,
I thank whatever gods may be
For my unconquerable soul.In the fell clutch of circumstance
I have not winced nor cried aloud.
Under the bludgeonings of chance
My head is bloody, but unbowed.Beyond this place of wrath and tears
Looms but the Horror of the shade,
And yet the menace of the years
Finds and shall find me unafraid.It matters not how strait the gate,
How charged with punishments the scroll,
I am the master of my fate,
I am the captain of my soul.
A well known and often quoted piece of poetry.
I was struck by the events of Henly’s life leading up to those verses. From poetryfoundation.org:
At age 12 Henley was diagnosed with tubercular arthritis that necessitated the amputation of one of his legs just below the knee; the other foot was saved only through a radical surgery performed by Joseph Lister. As he healed in the infirmary, Henley began to write poems, including “Invictus,” which concludes with the oft-referenced lines “I am the master of my fate; / I am the captain of my soul.”
Knowing more about the circumstances behind the words gives them even greater power.
The Up House
In 2011 a recreation of the house from the movie Up was built in Herriman, Utah. It was big news at the time, hadn’t thought much about it since. While out doing other things we immediately recognized it as we drove by:
CSS Performance Tooling
Addy Osmani on CSS Performance Tooling.
Netflix & FreeBSD
The Netflix Open Connect Appliances installed at ISPs are built on FreeBSD.
HTTP/2 and WebSocket
With HTTP/2 marching towards production environments, you might be wondering how WebSocket fits in. The HTTPbis working group was thinking about that too:
The WebSocket protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. Since it requires one TCP connection for every WebSocket connection, having multiple WebSocket connections between the same client and the same server is inefficient. On the other hand, HTTP/2 specifies a fast, secure, multiplexed framing protocol. This document provides bi-directional multiplexed communication by layering WebSocket on top of HTTP/2.
From draft-hirano-httpbis-websocket-over-http2-01.
The draft expired back on February 13, 2015 and I haven’t seen any other significant discussions in this area. At this point there doesn’t appear to be any momentum to come up with a way to leverage HTTP/2 in future versions of the WebSocket protocol.