Is high bandwidth required to read a Discourse forum?

Erlend S. Heggen
Erlend SH
Published in
2 min readMar 30, 2015

I’ve been seeing a lot of FUD being spread recently when it comes to JavaScript-heavy applications that require a ~500kb script download (conservative estimate) to run the web app.

I hear one argument in particular being thrown around a lot (obviously para-phrased):

This download size is not fair to people with low-bandwidth connections. Won’t somebody think of the developing countries!

For 3 months I lived in a refugee camp in Lebanon. In internet metric company Ookla’s global bandwidth index, Lebanon sits at 176 out of 196, clocking in at 3.33 mb/s. Basically one of the worst average bandwidths in the world.

Throughout my stay, I visited meta.discourse.org several times a week. Using Discourse, a “JavaScript-heavy app”, on a low-bandwidth connection did not present any great challenges.

If anything, Discourse enhanced my experience compared to less sophisticated forums, because:

  • If I drafted a post and tried to post it, Discourse would stall/throw an error if my connection broke, and my post would be backed up for good measure. Most mainstream forums fail much less gracefully. (There’s room for improvement here but Discourse is ahead of the curve).
  • Once the forum was loaded, browsing was very fast since there’s minimal reloading of assets.
  • The clever “infinite scrolling” starts loading new posts before I’m done with the first batch, so even if it wasn’t as snappy as back home in Norway, I never noticed, because by the time I needed more content it was already served.

In conclusion

Please stop using the size argument. Yeah we should definitely keep an eye on library sizes and of course we should continue trying to improve the status quo, but we’re currently not in trouble.

Loading up Ember or Angular isn’t gonna stop low-bandwidth users from visiting your site. A poor user experience might though.

And unwarranted GIFs

Originally published at blog.erlend.sh on March 30, 2015.

--

--