IT IS HERE! Get Smashing Node.JS on Amazon Kindle today!
Show Posts
← Back to homepage

With the announcement of SPDY support by Twitter, I thought it would be cool to visualize how this extends to the rest of the web as I browse it.

I developed a Chrome extension you can install to visualize SPDY support in your address bar. Source on Github.

Install Chrome Extension

For those who haven’t heard of SPDY, it’s a new protocol being developed by Google to transport the existing HTTP protocol more efficiently (up to 50% faster). You can read more details in the official Chromium page.

Detecting SPDY

Chrome exposes a flag called wasFetchedViaSpdy as part of the loadTimes object:

if (window.chrome.loadTimes().wasFetchedViaSpdy) {
  // SPDY!
}

The Chrome extension uses a background page that communicates to a content script that checks for the existence of this flag as soon as it can.

If the value for this is false, the plugin will display a gray icon instead:

Update: version 0.2.0 was released with an option to disable the gray state, and the icon was improved. Special thanks to Ehren Kret!

24 Comments

Devin Rhode said

Seems that twitter doesn’t always get served over spdy, but that gmail or google search always do… interesting

Guillermo Rauch said

I noticed that as well! They probably only upgraded a portion of their servers.

Pies said

I’d like it better if it didn’t show the gray icon on regular HTTP, just the green icon on a SPDY load.

rv said

+1 on @pies idea. gray icon is unncessary. I’d only want to know if the site has spdy enabled.

Jesse O. said

Just a note on icon usability: absence is communication, too.

Frank said

Please do the same for firefox!

Guillermo Rauch said

@Jesse
Agreed completely. It’s just one less state. Is the icon not there because the information couldn’t be obtained or because there’s no SPDY support?

Cheng said

Here’s an extension which does the same on Firefox:
https://github.com/chengsun/moz-spdy-indicator

(Hope you don’t mind me borrowing your green SPDY icon!)

Guillermo Rauch said

Version 0.2.0 is out with an option to disable the gray state.

Philipp Dunkel said

I just tried it and it seems to break SPDY support in chrome on my mac. I have a node-spdy server which logs whether the request is being done over SPDY. Without the extension everything works as expected and chrome://net-internals shows me the SPDY connections. As soon as the extension is enabled however, SPDY does not work anymore and the fallback SSL is used. This holds true for both my test server as well as twitter.com and GMail. (Verified via chrome://net-internals).

OS X: 10.7.3
Chrome: 17.0… (and 16… before that {I tested whether this happens only under 16})

Regards, Phil

Guillermo Rauch said

Philipp,
All the plugin does is check a flag exposed by the browser. If it’s breaking SPDY support, then you should file a bug with Chrome.

Philipp Dunkel said

Or simply uninstall the SPDY-indicator extension. Works like a charm ;)

P.S.: Feel free to not publish this comment. :)

net_user said

kept getting errors via the direct link in Iron had to manually search and install :)

Jaspreet said

google.co.in is not SPDY enabled. :(

kaylee said

twitter and facebook is using spdy, right? (i saq the facebook article.)
but facebook and twitter web doesn’t flash it. :(
why?

Your thoughts?

About Guillermo Rauch:

CTO and co-founder of LearnBoost / Cloudup (acquired by Automattic in 2013). Argentine living in SF.