About HTML5 Speed Test

Background

This HTML5 Speed Test was written by Anders Brownworth. (@Anders94) Traditionally, browser-based speed tests tended to be Java applet, Flash or JavaScript/HTML driven. This speed test is of the JavaScript variant but adds to it some niceties from the HTML5 chest of goodies. Flash and Java applet based speed tests require external plugins to operate which are notably absent from most mobile operating systems like iOS and Android.

Technology

As its name implies, this HTML5 speed test does not rely on Flash or Java applet components. Unlike the previous generation of HTML speed tests, this HTML5 speed test checks both upload and download capacity. It does this by spawning two iframes and downloading data through one and uploading it through the other. This has the convenient side effect of being able to test upload and download capacity at the same time. Some internet connections, notably asynchronous DSL, degrade when you do that.

On the plus side, this HTML5 speed test works on iPhones, iPods, iPads and Android devices. It should work with just about every HTML5 browser out there which has become a significant number. If you run into a browser that doesn't seem to work, drop me a note and let me know.

Drawbacks

HTML5 is young. Some browsers don't yet support it and those that do don't always work as quickly as you would like. A proper speed test would use UDP but unfortunately HTML5 doesn't yet directly support it. We are working with the <video> tag to do a UDP based test using RTSP but widespread support is still an issue. Over time this test should get better.

This HTML5 speed test will tend to be conservative for two critical reasons. Browsers don't always work as fast as one might like, posing an upper limit on the speed test's capacity. Additionally, all data transfers are done via HTTP which runs over TCP. If packets get lost, TCP will retransmit the packets without notifying the speed test so speeds will trend lower than the actual rates. In time as we work to make the test better, we hope to fix these bottlenecks by limiting the browser's workload and using UDP. These are the early days - hang with us!

Interested?

Sign up for updates about HTML5 Speed Test here:

I'm working on a way to make this speed test embedable on external websites but am a ways away from this actually working. Let me know if you are interested in this and I'll try to get a move on.