A few days ago, some articles appeared in the New Times and the Rwandaise, boasting about how Rwanda has the fastest internet speeds in the region, and the third fastest in Africa, beating even South Africa. The articles used the recent results posted by Ookla as a reference, which does indeed show Rwanda as 89th in the world, with download speeds of 2.36Mb/s.
Now for anyone in Rwanda, this probably seemed a bit surprising. I have an unhealthy obsession with bandwidth, so I know first hand that we get nowhere near 2 Mb/s, that much is clear every single day as I go about my work at Nyaruka.
So what explains the discrepancy? Is Ookla wrong?
The answer lies in how sites like speedtest.net came about and what they are trying to measure.
Ten years ago, DSL and Cable were just starting to make their presence in the United States. There was fierce competition from various providers on pricing and claimed bandwidth, but few ways for consumers to judge how fast their service really was. To address that need, sites like dslreports.com and speedtest.net came about. Their goal was to measure the speed of the DSL and Cable connections.
The way these sites work is quite simple. Speedtest.net gets various internet providers to host a large file on one of their servers. Then you and I go and try to download the file, timing how long it takes, this is what is happening when you are measuring the bandwidth using the speedtest client. They divide the size of the file by how long it takes and you have a rough approximation of your bandwidth speed.
Now in order to accurately measure the speed of only the DSL or Cable portion of the connection, you need to have the shortest path to the test file you download. Speedtest.net has done a good job of getting these files hosted on various servers across the world. And one of those places happens to be the Rwandatel offices in Kigali. This is where the validity of the tests gets into trouble.
A diagram might help explain.
This diagram gives a simple view of what a typical set up might be in America, in this case Atlanta, Georgia, where one of my friends Joe George lives. (more on him later) The green arrow represents his connection to his internet service provider (ISP). In his case, he's using cable, which gets about 10Mb/s. Since his ISP is also a speedtest.net test site, when he tests his connection, he is testing his cable connection only. Speedtest.net is NOT testing how fast he can access the rest of the internet, only the connection between his computer and his ISP.
That is valid, because his internet provider has a far far faster connection to the internet. The purple arrow represents that, the connection between the ISP and the rest of the internet. In Atlanta, that is fiber, probably multiple fiber optic lines from different providers, incredibly fast and reliable. So the bottleneck for Joe is almost always going to be his connection to the ISP, the green arrow, not his ISP's connection to the internet (the purple arrow).
Ok, so now let's take a look at the same situation in Rwanda.
Rwanda has a pretty great network internally. We have a fantastic 3G network from three different providers, at reasonable rates, which makes getting a connection quite accessible. But what we don't have, is a great connection to the internet.
Here, the green arrow represents a typical 3G modem, which tops out about 2.5Mb/s in practice. That's fast, and you'll notice that's also about the speed that Ookla says our internet is. The reason for that is that Rwandatel has a server based in Kigali that is a speedtest.net testing site. So when you go to speedtest.net and pick Kigali as your testing location, you are actually testing the green arrow only, how fast your internet is to the Rwandatel server in Kigali.
That works fine in the case of Joe, where the ISP's connection to the internet is far far faster, but it doesn't work in Rwanda. Our ISP's connection to the internet is still very slow, either going over satellite or microwave, the purple arrows here. So although we can reach our ISP very quickly, as soon as we try to reach the rest of the world, the rest of the internet, then our speeds slow down to a crawl.
This is pretty easy to test in practice, you just need to change which site you are testing against when you go to speedtest.net. Yesterday evening I did just that using my Rwandatel connection and here were the results.
Kigali to Kigali: 2.12 Mb/s
Kigali to Kampala: 0.11 Mb/s
Kigali to Atlanta: 0.09 Mb/s
So we see there that yes, our connection to Rwandatel is indeed very fast, but as soon as we try to leave Kigali, it slows down to a crawl. That's because the connections from Rwanda to the world are still very, very slow despite our great internal network.
We can validate this by going in the opposite direction. Remember Joe? Well I asked him to use his crazy fast internet to test against the same sites, here's what he got:
Atlanta to Atlanta: 10.01 Mb/s
Atlanta to Kampala: 1.15 Mb/s
Atlanta to Kigali: 0.10 Mb/s
Here we see that in Kampala, while their ISP's do not provide quite as quick of an internet connection on average (the green arrow), their connection to the rest of the world, the internet at large, is much faster than Rwanda's. So although Ookla, which measures the green arrow, says they are slower in some cases, that is actually incorrect in practice.
The silver lining with all this is that backbones are on the way, and once hooked up and given they have sufficient capacity, those claims made by Ookla may actually become true. Our bottleneck is our provider's connection to the internet, so once that is fixed we will indeed have much, much, faster internet.
You can actually get a taste of that if you use the internet at unusual hours, like 2AM. At that time of the day, there aren't enough users to saturate the connections Rwanda does have, so the speed is great. But we need the fiber to be hooked up before we can honestly claim to have fast internet. That's a day I'm looking forward to, hope it happens soon.
PS. In the interest of verification, here are all the internet speed test results we used for this article