Internet speed test apps have been around for a long time. Most of us have visited SpeedTest.net, SpeakEasy.net/SpeedTest, or our ISP's speed test site at one time or another to check our bandwidth. However, most of those apps use Flash or Java applets to conduct the speed testing. In the modern world of various platforms, only one solution will work on them all: HTML5. HTML5 is supported on all modern browsers — Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, and Apple Safari, as well as many others - which means your system doesn't need another piece of software to test your internet connection.
But despite this advantage, some HTML5 apps are not yet as effective as their Flash or Java counterparts. Here are five HTML5-based Internet speed test apps, some that perform, and some that do not.
Note: This article is also available as an image gallery and a video hosted by TechRepublic columnist Tom Merritt.
1: Bandwidth Place
Bandwidth Place (Figure A) has been around since 2002, but it's been doing HTML5 bandwidth testing only since 2013. The interface is simple: a gauge, a start button, and a few results displays. It also offers server selection; however, the default is to use the fastest ping time. The standout feature is just that: It offers various servers around the world, therefore providing the best results for a global user base. Bandwidth Place fares well as far as results. It's comparable to the Flash and Java testing sites I've used for years.
2: HTML5 Speed Test
The HTML5 Speed Test interface (Figure B) is even simpler: It doesn't offer server selection — just a start button, gauges, and results. The standout feature for this app is that it does both separate and then simultaneous download/upload testing, which helps identify how your connection behaves while performing both actions. However, the results from this site were noticeably different from the others on this list, and from the traditional Flash- and Java-based apps.
3: Open Speed Test
Open Speed Test (Figure C) uses a specialized algorithm for detecting broadband speed. It downloads various-sized chunks of data to determine the "stable" connection speed instead of the best or burst speed. This, and its clean interface, are its best features. However, during testing, this app returned a wide variety of speed results, when other apps were much more consistent.
SpeedOf.Me (Figure D) also uses an incrementing sample algorithm to determine stable internet speed, but it's more open about what it does, both in the interface and on the How It Works page. While detecting connection speed, SpeedOf.Me graphs the result constantly, which leads to settling into the stable speed that can be identified visually as well as in the results that display at the end. Unlike Open Speed Test, SpeedOf.Me always starts at the smallest download block and steps through each until one download takes at least eight seconds. Then, the upload is simply half of the largest download tested.
SpeedOf.Me has 44 worldwide servers near primary internet exchange points, which helps with accuracy. It is very consistent compared to other apps on this list and to Flash- and Java-based apps. On the downside, SpeedOf.Me's Start button is not easy to spot, being tucked down into the corner.
The final selection is TestMy.Net (Figure E). Like Open Speed Test, the results I received were drastically different depending on the try - sometimes even back to back. Like the other apps on this list, TestMy.Net auto-detects its server, so that could be a factor. However, an auto-detection algorithm should pick the best speed. This product's best feature is the option to test single-thread or multi-thread speeds, which simulates what many of the Flash- and Java-based apps do. None of the other products on this list share specifically whether they use single- or multi-thread testing, but the implication is that they offer only single-thread.
As you can see, there are variations in the results of these five HTML5 apps. I tried them all at various times of the day. The issues with some of them could very well be server lag or load — but that can be a problem when you want users to rely on your app for accurate results.