DEV Community

Cover image for Why Medium Actually Sucks
Ryland G
Ryland G

Posted on • Originally published at

Why Medium Actually Sucks

In the last couple weeks, there's been a lot of backlash against Medium in response to the infamous "Paywall". I started seeing a lot of tweets similar to this one:

I have two major problems with this attitude.

Reason 1: Authors Put Up the Paywall, Not Medium

If you've run into paywalled content, it means that the author of that specific piece of content opted-in to the paywall. By default, the paywall is disabled. Once you've written a post you're presented with the below dialogue.


Even if the author decides to opt-in for the paywall they can still obtain a paywall-less link to distribute at their discretion.

Reason 2: There are much better reasons to dislike Medium

Slimy Business Tactics

FreeCodeCamp is a charity that provides free resources for developers. Their mission statement says it best,

Our mission: to help people learn to code for free. We accomplish this by creating thousands of videos, articles, and interactive coding lessons - all freely available to the public. We also have thousands of freeCodeCamp study groups around the world.

Recently, an email written by the FreeCodeCamp founder, was leaked on twitter. The email explains how Medium strong-armed the non-profit, eventually causing them to leave the platform. Specifically he says,

freeCodeCamp is the biggest publication on Medium. Our open source community sends Medium about 5% of their total traffic.
But over the past year, Medium has become more aggressive toward us. They have pressured us to put our articles behind their paywalls. We refused. So they tried to buy us (Which makes no sense. We're a public charity.). We refused. Then they started threatening us with a lawyer.

Assuming what they are saying is true, Medium quite literally extorted a charity.

It's not just us. They are doing this to a lot of publications. And a lot of high profile people from the developer community are leaving Medium as a result.

I would love to hear others speak out as FreeCodeCamp inadvertently did. Here's the email in it's entirety, there are a lot more goodies.

Terrible User Experience

Let's start with something simple, like syntax highlighting.


That was quick.

This is the official Medium documentation! How they can seriously suggest going to a 3rd party for something simple like syntax highlighting, is beyond me.

Here's another great example. Medium has a product that is supposed to make it easy to send Newsletters. But as Vico Biscotti says in his article

I could have added a picture or a better logo, but, honestly, my will slipped out of my mind as soon as I saw that the best I could do was adding a full-width picture. Nothing else. You cannot even add a separator, except the default in the footer, or embed a story with its picture, subtitle, and author. Nothing.

The nothingness made newsletter.

Clearly, nobody at Medium has worked on that tool in years.

Other critical issues with the editing experience include:

Medium doesn't limit bad UX to the editor. For the last year or two, more and more crap has snuck its way into the reading experience too.

The user experience is so awful, that someone had to make the browser plugin "Make Medium Readable again" just to make the experience bearable again.

Limited Control of YOUR Content

Medium does not surface mechanisms that let you control YOUR content. Take setting a canonical URL as an example. It appears that Medium does not provide a way to set a canonical URL via the menu on your post (pictured below).


I assumed I was just missing something. A quick Google search resulted in a promising page.

Medium’s official tools for cross-posting (including the Migration tool, Import tool, and Wordpress plugin) add the source it is importing from as the canonical link automatically.

The first option suggested, the "Migration tool", has been deprecated. The second option, "Import tool" doesn't work for my blog. For those wondering why the import tool doesn't work for my blog, here's what Medium has to say.


As you can tell, incredibly insightful. The last suggestion, "Wordpress plugin" is obviously a non-option, as my blog does not use Wordpress or a CMS at all.

Most would have given up at this point, but I'm a bit of masochist. After some more googling, I learn that Medium has a publishing API.

Medium offers a write-only API free of charge to developers, to enable your applications' users to participate in the Medium network.

Medium uses OAuth2 for authentication, through which you can seamlessly publish to your users’ Medium profiles. The API supports Markdown and HTML content formats, canonical URLs for cross-posting, and the full range of licenses available on Medium.

Sounds great right? As I start reading some articles about the publishing API, they keep referring to a "clientID" which is allegedly on my Medium profile. It was not. After some serious frustration, I broke down and went to the Medium API on Github. After a short scroll, I find the Browser-based authentication section

First you must request access by emailing Then we will then grant you access to a clientId and a clientSecret on your settings page with which you may access Medium’s API. Each integration should have its own clientId and clientSecret. The clientSecret should be treated like a password and stored securely.

Good thing The Medium API is now open to everyone

Somehow, every other resource and doc they have, fails to mention this incredibly manual step. But I'm still not defeated, I assumed the email is controlled by a bot which validates your identity on Medium and automatically replies.


Over a day later, I verified that it's most likely just some guy named Jonas.

I'm not the only one who has had issues with this aspect of Medium. I highly recommend this great article about leaving Medium.

For those wondering what this looks like done right, here is what the entire process looks like when using


What Can We Do?

Creating your own blog is easier than ever. If it's been a while since you last made a blog, I highly recommend checking out static site generators such as Gatsby, Hugo and Gridsome. In conjunction with something like Netlify, maintaining a blog can be a breeze.
Blogging CMS platforms such as Wordpress, Wix, Squarespace and Drupal provide a rich ecosystem, even for those who aren't technical enough to run their own blog.

Unfortunately this only solves the content portion of replacing Medium, and not the distribution. There's no easy solution there, and your best bet is to post on as many channels (Twitter, Reddit, HN, etc...) as you can.

There are also a few Medium alternatives out there. I personally post my blog to (which you might be reading this on right now) as they support the features I need to control my own content. As a product guy, there are definitely some UI changes I would make, but the overall experience is much better than Medium.

Top comments (15)

ben profile image
Ben Halpern

Nice post. I'm conflicted about the title you chose as the best way to get the point across but you shouldn't change it now. 🙂

Of course, I wrote something recently addressing Medium's place in the world:

I'm not crazy about "piling on", but in the case of Medium, a massive VC-funded company founded by an already rich, accomplished tech guy it's definitely a case of "punching up".

I recently also posted my problems with how FreeCodeCamp handled the situation, but that didn't put Medium in the right. They were sort of both in the wrong and the relationship was bound to end poorly based on how each party chose to seek the right outcome.

Anyway, I think the real trouble of all this is that we shouldn't have to work so hard ourselves to be treated properly on these platforms. We're really trying to make our tooling such that data import, export, canonical URLs, etc. is streamlined so it's not a burden to make sure you're covering your bases and getting a fair deal.

taillogs profile image
Ryland G

I generally just think Medium has gotten arrogant about their position and no longer feels the need to serve the community. To me that is the biggest mistake they have made. Every criticism I put in my post is fixable, but I think their problem lies in culture and mentality and not just in process.

Thanks for taking the time to read it, I really appreciate it.

prahladyeri profile image
Prahlad Yeri • Edited

You don't need even Wordpress or Drupal for simply hosting blog posts. By using a static site generator like pelican or jekyll, you can freely host your content on github-pages. Its free to use and they also allow you to link your own domain!

If you aren't technically inclined, there are also other options like Blogspot and Tumblr. is great for networking but you should also have your own blog or site as your online identity or whatever.

Its absolutely free for hosting blogs and they even allow you link your domain!

powerc9000 profile image
Clay Murray

Also I seem to get way more engagement from over anything I have ever posted on Medium

taillogs profile image
Ryland G

Completely agree, the engagement has actually been the most impressive part of so far.

giovannimazzuoccolo profile image
Giovanni Mazzuoccolo

I totally agree with you, it's very frustrating to click on a Medium link (from twitter or reddit for example) and never know if it is behind a paywall or not. I'd rather be Rickrolled instead.

taillogs profile image
Ryland G

So you're telling me I should strategically submit Medium articles that only contain a Rickroll? 😂

askeridos profile image

especially since the bug is still not resolved: I have never paid anything on medium. I always clear the browser cache. and when an article is still inaccessible (like Forbes Inc.), I copy / paste the title in Google and I read for free ...

sethusenthil profile image
Sethu Senthil

I just made a medium article post a few days ago in a long time and it automatically got paywalled, which is kinda a jerky move.

tailcall profile image
Maria Zaitseva

I never liked Medium too much as a user: all these modal dialogs, images are blurred in an ugly way while being loaded, sticky footer and header are waaay too big, comments section is hard to follow – so many little annoying things that I sometimes resort to reading Medium articles in Lynx. Then again, without alt text for images that's not too good either.

I really hope they'll eventually fix at least the UX part if not policy because there's a lot of content worth reading already posted there.

dmshvetsov profile image
Dmitry Shvetsov

Everyone can edit the canonical link for a Medium article.

Not sure if it was possible at the time you wrote this article but it this feature available now.

Edit Story -> More Settings -> Advance Settings

edit story instruction

In Advance Settings

edit canonical link on Medium instruction

xni profile image

I've stopped using Medium after that

screenshot full of popups

taillogs profile image
Ryland G

Arguing that Medium makes it difficult to get noticed without the paywall is definitely a valid argument.

elvin profile image

Good article on what’s currently going on with medium. Specially agree with your comments in regards to their UX design.