david-seddon.com

Moving away from Medium

Those of you who have been following what I’ve been doing for the last few months will be aware that most of these posts started life on Medium (and before that, Facebook posts), a site where people can sign up for free and write their own content. It’s hosted on Medium’s site, and follows a standard design so there’s no messing around with hosting, software updates, or getting trapped in the never-ending nightmare of what theme or plugin to use.

This is all great, and I have a lot of respect for Medium and for what it does, but is it perfect? No.

One of the biggest problems for me is that you have to be online there and then to use it. That’s OK if you’re in a place with a reliable internet connection, but lately I haven’t. You could, I suppose, make the argument that I could write offline and then paste to Medium when I am online. That’s a fair point, you could do that, but you would lose the ability to insert images and that’s the most fiddly bit of adding Medium posts, I find.

The one design pattern is also something of a double-edged sword. If I wanted to do a specific thing in a specific way, I’m at the mercy of what Medium decides I can or cannot do, and thus restricts me to present my content in their prescribed way. It’s also tedious to link to your own stories within another one, and the link URLs themselves are not very friendly.

It’s the fact that I don’t have the ability to decide how and where my content gets displayed that does it for me, I’m afraid. I have no say over what articles are chosen for the “next” and “previous” links, nor do I have any ability to influence whether my content is found at all. I checked my stats and the majority of my visits are from social media, so why use Medium at all? Most of the content I enjoyed reading has moved to be members-only now anyway.

So I had a look around for alternatives. I didn’t want to use WordPress, there’s too much bad press around security and just running it. I wanted a low-maintenance, “this just works” solution. The point of this is to get my content across, and I can’t do that if I’m spending my time figuring out if PHP upgrades will break my plugins.

I also wanted it to be very simple to read and fast to load. Traditional blogging solutions use database-driven solutions, but again, this was something I didn’t really want. I know there’s all kinds of optimisations you can do, but at some point you do have to open a connection to the database and run a query. I didn’t need any of that; my content doesn’t change once it’s published. And do the readers really care how it exists before it’s published? No, that’s just for me.

Jekyll seemed perfect. No database, no admin screens, no PHP. I just write my content in markdown, check it locally, and if it looks good upload it. I store all my content in a private Git repo, so I get the benefits of a decent version control system. Site changes and articles I want to write are tracked using the issue tracker, so I also get a prioritised task list.

I’m just using shared hosting for now, but if in 6 months things are working out I plan to upgrade to a VPS. Then I won’t even bother publishing the site - I’ll just have Jekyll build the site daily and as long as I’ve pushed the changes, they’ll appear. Easy! I’m hoping to get to the point where I don’t even look at the live site - I’ll know what it looks like because I’ve seen it locally, and with so few moving parts not much could break (touch wood!).

It’s taken a little bit of time to sort out. Exporting stories from Medium isn’t the easiest, as the export is HTML and doesn’t give you the images, it just links to those hosted on Medium. I’ve had a few issues where I’ve uploaded the site with localhost links (ooops), but hopefully I’ve got to the bottom of that now.

The great thing is now I have my content in a fairly standard format so if I decide Jekyll isn’t working for me I have the content and can try something else.

The point is I have control; I can decide what stories to promote (if any), I can decide navigation, and I can make informed choices about how users get to my content. I also have a workflow that works for me, one that enables me to use some skills I acquired from software engineering and apply them in a new and exciting way.

Hopefully this approach will work out for me, but if not I can always re-import to Medium or elsewhere and try something else.

Thanks for reading, and as ever if you have any questions about setting up your own Jekyll blog please feel free to contact me!