Don't Use Medium

2021-05-27


It may seem obvious to many people in the free software crowd that Medium is a useless, bloated platform which poorly accomplishes its one stated goal. However, the fact that it has over 85 million users goes to show that there are poor souls in existence who host content on that dumster fire of a website. In this post, I intend to demonstrate why you shouldn't use Medium, as well as list some more elegant ways to distribute content on the internet.

What is Medium?

Medium is an online blogging platform originally created by the co-founder of Twitter and Blogger. Millions of journalists, bloggers and corporations use it for its ease of use, its wide audience, and its visual appeal. However, the site comes with one pretty obvious drawback: loading speed. An informational blog post which may only contain a few kB of useful textual information is megabytes in size due to the over-abundance of trackers, CSS, external fonts, Javascript, and other pointless garbage.

To put it bluntly, Medium.com is bloated.

But just how bloated is Medium? Is it even possible to quantify website bloat, or are we making blind guesses based off of loading speed and elitism?

The Bloat Test

Many atttempts have been made to calculate web bloat before, the most popular being Web Bloat Score. However, as one would expect from a site who's self-proclaimed abbreviation is WebBS, the site's method of determining a website's level of bloat is BS. Webpage functionality is not considered anywhere in the formula. This means that, according to WebBS, a bloat-free Amazon would be a static screenshot of the Amazon webpage. So if there isn't a standard way to calculate website bloat by giving it a "score" of some kind, how can we calculate just how bloated Medium is?

In Luke Smith's video, A Demonstration of Modern Web Bloat, he uses cooking/recipe websites as an example of how bloated the modern web is. To show just how obese modern sites can get, he compares the download size of a Chicken Parmesan recipe on SimplyRecipes.com with the size of just the images and text information. Interactive websites are a bit tricker to classify than this, because their functionality often depends on Javascript and it's difficult to pick out what Javascript is essential for the website's functionality and what isn't. However, for simple, informational websites, this method of calculating how bloated a webpage is proves to be very accuate.

In order to find Medium's bloat level, I employed a modified version of this method. First, I measured the download size of the original page, including all trackers, analytics, and other garbage. Next, I checked the filesize of the plain HTML of the page (e.g. the output of curl https://medium.com/xxxxxxx). I then calculated the percentage of the site which is useful information. Here are my findings:

Article Link Medium.com Filesize Plain HTML Filesize Informational % of Page
Streaming IO in Go 11.50mb 184kb 1.6%
My month-long quest to become a chess master from scratch 10.40mb 956k 9.19%
You should read random articles. Start at this one 4.51mb 104kb 2.3%
How to get the most out of developers 3.79mb 144kb 3.8%
Web Design 3.0: When Your Web Design Really Matters 4.44mb 288kb 6.49%

As you can see, Medium articles are, on average, 4.7% information and 95.3% garbage.

When I say garbage, I mean it. You don't need megabytes upon megabytes of Javascript and CSS to make a responsive and good-looking website. I wouldn't call this site the pinnacle of web design, but it looks nice, and only contains about 4kB of CSS.

Problems w/ my Methodology

My method of calculating webpage obesity is far from perfect. For one, the plain HTML filesize doesn't include images. Many of the Medium articles I tested had pictures, albeit most were pointless/unnecessary. Secondly, the plain HTML included a lot of CSS and Javascript information embedded into the HTML. I'd like to imagine that these errors cancel one another out, however this is unlikely. Regardless, the information I collected still demonstrates a problem with Medium's website design, and these technical innaccuracies with my methodology don't invalidate my main point.

What now?

So, with all this in mind, how does one start an online blogs without forcing their readers to download 2mB of useless garbage for every 100kB of information?

Here are a few ideas:

There are a lot of ways to distribute content online. Sometimes, it's tempting to rationalize choosing the easiest solution, ("most people who will visit my site are on good internet connections anyway, right?") but it's important not to give in to these temptations. Ease of development is important, but user experience is too.

In general, follow the golden rule: try not to be a soydev.