Simulating low bandwidth: Publishers for Development
We think that academic publishing is an area that's both critically important to development, and simultaneously becoming more and more inaccessible to the people who need it most.
The average size of web pages has been growing much faster than the average speed of connections in developing countries, and journal websites are no exception, as you can see in Alan's blog post:
As Alan points out, the average journal's home page in his sample would take over 90 seconds to load on average, for researchers at universities in developing countries. Usability research has shown that people expect a computer to respond within 30 seconds. Making them wait longer interrupts their concentration, causes dissatisfaction and annoyance, and they often abandon the process. The biggest factor in user satisfaction is speed of response.
While this research probably did not include users who are accustomed to slow and unreliable computers, I think it's safe to say that most people would find it annoying and difficult to use the Internet on a dial-up modem. And even a modem would have been preferable to some of the Internet connections that I've experienced (and paid for) in some countries in the last few years.
Academics have little ability to persuade their universities to upgrade their internet connections, at a cost of several peoples' salaries (several thousand dollars a month). The only people who can change this are the publishers of the journals, by optimising their journals' websites for users with slower connections.
What We Did
We set up spare machine as a bandwidth management box, and used it as a network filter for the participants. They could come and plug their laptops into the box, and browse the Internet and their own websites at a simulated slow speed.
We configured the box for transparent bridging. This allowed us to insert and remove it from the network easily, just by switching over a network cable, to demonstrate the difference between fast and slow loading of pages.
We gave the participants at the meeting tasks to perform on various publishers' websites, for example finding and downloading an academic paper by topic or researcher.
I think they found the activities enlightening, because we had some very good comments from some of the participants:
- "We're so pleased that Alan was able to work his magic at the recent PfD session - his delivery is innovative, dynamic and fact-packed so it really sparks enthusiasm from the audience... [which] is demonstrably channelled into action once people return to their places of work."
Publishers for Development Team
- "It was really useful to try the low bandwidth! [Our site] is already considered fast but it made us think even more around this issue, what else can we do etc."
- "Alan Jackson's information about bandwidth was kind of shocking even if I knew it before, but to really experience it was very valuable. We are going to redesign DOAJ's home page and this must be the starting point."
Sonja Brage, DOAJ
- "Site speed is a major consideration for us, and I really enjoyed Alan/Aptivate's session, experiencing the exasperation of trying (and failing) to connect via low-bandwidth... I have a feeling that there is 'excess baggage' on a number of the pages..."
James Kitchen, OECD
How We Did It
We used FreeBSD as the operating system for the software bridge, because its dummynet traffic shaper is relatively easy to use, and very good at simulating slow connections.
We wanted to use a laptop instead of a desktop machine, so that we could carry it to the conference easily, but we had hardware compatibility issues with FreeBSD on all the laptops we had available to us (mostly IBM Thinkpads). We ended up using a compact Fujitsu desktop box.
We installed FreeBSD 8 on it, and configured it to transparently bridge between two interfaces. Our internet access at the conference would be wireless, but we had issues with bridging wired and wireless interfaces together. So instead we used a Linksys WRT-54GL router with the Tomato firmware, which enables wireless client mode, to connect to the network:
And this is what it looked like in the room. Notice the essential coffee and cupcake, without which the system mysteriously failed to work:
We configured the FreeBSD box to bring up the bridge automatically at boot time, and to load a set of ipfw firewall rules to enable dummynet, the traffic shaper. On this box, the ethernet interfaces are called em0 and rl0, so we added the following lines to /etc/rc.conf:
ifconfig_em0="up" ifconfig_rl0="up" cloned_interfaces="bridge0" ifconfig_bridge0="addm em0 addm rl0 up dhcp"
firewall_enable="YES" firewall_type="/etc/ipfw.rules" dummynet_enable="YES"
Then we created /etc/ipfw.rules with the following contents:
# with bridge mode, two nics. em0 is wan add pipe 1 all from any to any out recv em0 add pipe 2 all from any to any out xmit em0 add allow all from any to any pipe 1 config delay 700ms bw 40Kbit/s mask dst-ip 0x000000ff pipe 2 config delay 700ms bw 40Kbit/s mask src-ip 0x000000ff
This configuration creates two dummynet pipes. Pipe 1 is for traffic received on the external interface (downloads), and pipe 2 is for traffic being sent out of the external interface (uploads). We have to follow this by a rule which allows all other traffic, otherwise local traffic (on the box itself) is denied by default when the firewall is enabled, which breaks local DNS and inbound SSH and makes the box pretty unusable on the console.
Then we configure both pipes to allocate 40 Kbps (kilobits per second) for each individual IP address in the private subnet (allocated by the DHCP server on the Tomato router) and a 700 ms delay in each direction, which gives a 1400 ms round trip time. This is somewhat higher than the expected 600 ms round trip for a connection by geostationary satellite.
The end result is that each user connects a laptop to the switch behind the box, gets an IP address from the DHCP server on the router, is NATted by the router onto the public network, and is able to browse the Internet with a connection of 40 kbps upload and download. If you remove the FreeBSD box, by connecting the switch directly to the router, you can access the public network at full speed.
One issue was that the public network used a captive portal, which we had to log into. We didn't want each client on our network to have to log in separately, so we enabled NAT on the router, and in wireless client mode, all the NATted clients get the MAC address of the router, so the public network thinks that they're all the same PC and doesn't ask them to log in again.
Why We Did it
We think that members of universities and research institutions need to be able to join and participate in the global research community as equals, in order to play their part in assisting development in their home countries.
Programmes such as PERii, HINARI and AGORA negotiate free or discounted online access to these journals for universities in developing countries. But the users still need to get online and access the content.
Online publishing for Western markets is usually designed for users with fast Internet connections, which Western universities have. But in other regions, universities often can't afford fast connections, and this makes it very difficult for them to access these journals online.
Publishers for Development is bringing international publishers together who are interested in finding out how they might contribute to discourse and action around developing country access, encourage publication from developing country researchers and understand the diversity within research cultures/communities and the challenges these present.