Mr Andersson

A simple bandwidth test based on HTTP, AJAX and jQuery

with 5 comments

Recently I had the opportunity to work with my friend Micael on a HTTP broadband testing application. This test will be used as a zero-touch diagnose tool to identify network related issues between users and a video conference system server.

The test was produced for the non-profit organization Infinite Family which involves users located both in the USA and South Africa. The video conference system is located in South Africa and the internet connection to South Africa is provided by a satellite link. Only the hop over the satellite link adds a few hundred milliseconds in response time (ICMP Ping), so it can be really poor conditions for a video link!

The test has equal capabilities as many of the other tests out there. What it does is that it tries to calculate a response time, which of course is not ICMP Ping as one might think, the test only does HTTP and AJAX. Instead, the test uses a HTTP HEAD request to get somewhat a measurement of how long it takes to establish a TCP session and send some data over port 80.
The test does not only measure the response time, it also measure upload and download speeds. For these kind of tests a lot more data is sent back and forth to the HTTP server using (AJAX) HTTP requests.

The whole test consists of one HTML page with references to jQuery and jQuery UI.
This test was the first project in which I could try out jQuery for real. I had some hard time get it working properly on my PCs and the kids’ Mac, but now it works in IE, Opera, Firefox and Safari on both Mac OS and Windows.
I must say I really like working with jQuery. To me it’s somewhat aligned with the way I use LINQ and extension methods when coding in C#, so it was a piece of cake start coding with this neat Javascript library.
The progress bar used in the test is a pretty simple thing to do with a few DIV elements and a bit of CSS. That was the approach I used in an early version, but I decided to try out jQuery UI as soon as I jumped on the jQuery track.

You can find the test right here.

About these ads

Written by anderssonjohan

March 24, 2009 at 22:12

Posted in programming, software

Tagged with , ,

5 Responses

Subscribe to comments with RSS.

  1. Any idea why the upload test does not work in IE9?

    marrotte

    November 15, 2012 at 05:01

    • I got this working in IE 9.

      marrotte

      December 13, 2012 at 18:09

    • Sorry, I don’t. Actually it has been a while since I put this together (back in 2008 on my old PPC Mac Mini :)).
      If you find a solution for it I would be glad if you made a pull request with your fix so others also can get this working.

      Thanks!

      anderssonjohan

      December 13, 2012 at 18:27

  2. The xhr async: false locks my browser. It’s really bad on slow connections and using IE. Had you run into this while developing?

    marrotte

    December 13, 2012 at 18:08

  3. The synchronous xhr requests lock up the browser on slow links. Really bad in IE. Had you run into this in development?

    marrotte

    December 13, 2012 at 18:10


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: