Foto: Flash av Jodel Cuasay (CC BY)

Bredbandskollen says goodbye to Flash

Will Bredbandskollen be able to offer measurements without Flash? This question is often asked of Bredbandskollens support. And the short answer is yes! In just a short time, we hope to be able to offer a Flash-free version of our popular measuring instrument.

Läs det här blogginlägget på svenska.

When we started our tool Bredbandskollen (”The Broadband Check”) we looked at a number of different approaches. Flash was at that time the best solution to make correct measurements of broadband speed. Over time, we further developed our measurement technology in Flash (and also the measurement servers). This has led to, with the help of Flash, a well-working correct measure – up to several gigabits in speed.

We have looked at other ways that we can go forward, especially to see if measurements can be made via javascript completely, eliminating Flash, but so far, the javascript engines in different web browsers have been pretty bad. They have simply delivered bad measurements.

The future without Flash

With Apple’s launch of iOS, we could no longer make a pure Flash version. The solution for iOS and Android was to make an app that measures directly. Then we could write the measuring motor in the client programming language C. At the same time, we can get very good measurements and are able to measure high speeds.

During the past year, several things have happened. Chrome blocked Flash completely from version 52, as did Firefox. This has naturally caused us to think more about the future.

Toward the end of last year, it seemed that it might start to work using javascript. Stringent testing with web sockets showed that javascript was now at the level that meant we could measure (with certain browsers, at least) speeds up to one gigabit.

This led to us seriously starting to rewrite our measuring client with javascript technology, and that we adapted the measuring servers to web sockets and other things needed to handle the new technology.

The technology behind javascript measurements

The advantage of Flash was that one could open sockets directly (a fairly low level of network management, that gives very good and accurate measuring capabilities) and work with them.

So what needed to be done to get the measurements to work with javascipt? The first part was to crack the web socket’s management. One cannot open sockets and work with them directly in javascript, but with web sockets that now work in javascript, one can get almost the same opportunities for relatively accurate measurements.

Of course, we were also forced to update the measurement servers so that they also understood web sockets and could handle measurements with them.

The next step was to see that the browsers were sufficiently ”multi-threaded”, so both the test code and the web sockets code could be executed in threads, which was noted at the end of last year.

Today, this has led to an almost complete beta version of Bredbandskollen that we have tested internally and that works well up to gigabit speeds (in some browsers).

Problems with javascript

We at Bredbandskollen are quite picky about being able to present trustworthy and accurate measurement results to our users. And until now, we felt that the javascript measurements have been too uneven or browser dependent to produce a good measurement. But with the latest technology, we think we are ready to go on to present measurements.

We have done some (not quite a hundred percent empirical) measurements with alternatives to Bredbandskollen. These have been made with a 100-megabit connection and are, of course, a bit varying depending on where the measurement servers are located. Latency, for some servers located outside of Sweden, was not so good. All of these are measurements made without Flash.

Measuring motor Latency Download Upload 2,20 ms 89,61 Mbit/s 70,88 Mbit/s 90,17 Mbit/s 86,05 Mbit/s 90 Mbits/s 30,1 ms 30,1 Mbit/s 20,42 Mbit/s 19 ms 25,79 Mbit/s 74,17 Mbit/s 19,90 Mbit/s

As you can see, there is a fairly large variation which shows that it is not so simple to write good measurements with javascript.

When are we finished?

We have just now finished an internal test of a new measuring client that is built on javascript and that uses web sockets for measuring. We expect that we will be able to release Bredbandskollen in a beta test in the next few months. Before summer, we hope to have a new version that can replace the version dependent on Flash.

This article has no tags Photo: Flash by Jodel Cuasay (CC BY)

About the blogger

Jan Säll Jan Säll EPP-Expert and systems manager at IIS Jan Säll is working with the EPP parts of PDT, the business where IIS test the new TLDs for ICANN. He is also a systems manager at IIS. He has a background in Unix / Linux and has been registering domain names since 1991 when Bjorn Eriksen took care of domain registrations in Sweden.