For a while now I have used websites to gather what sort of download speeds I am getting from my ISP, sites like:
I have often wondered how they work and how accurate they are (the two listed above certainly give consistent results). Well one day of playing arounf with AJAX has resulted in my very own, home grown, Bandwidth Speed Test application.
It is almost 100% written completing with AJAX (that 1% being HTML and PHP) and in fact it wasn't that hard to implement considering AJAX allows downloading of files from the Internet, just in this case they are garbage binary files of varying sizes to allow for a range of tests, i.e. looking at the time just before the request is made, just after completion of the download and comparing the two.
It even has a real time progress bar, although this doesn't work in Microsoft Internet Explorer due to their implementation of AJAX (the ActiveX Object XMLHTTP) not triggering events as well as Mozilla Firefox does.
I am sure my version of this tool is maybe not as accurate as others out there, but I'm gonna see if I can improve the odd bit over time. Also, as of yet it can only test the speed of downloads, not uploads as of yet (but I have ideas on that).