why weird things is moving to medium

The start of a new experiment for a new era of blogging.


Long time readers of Weird Things probably noticed that lately, I’ve started fairly long absences and posts have slowed to periodic bursts followed by a stretch of silence. Part of it was work. Part of it was my attempt to build my own blog engine, something I wanted to do when I first got serious about blogging and started getting real traffic. A new blog engine designed how I want would let me write better, and continuously writing something that I wasn’t sure was good enough meant less time writing code, more readers who would be disappointed, and more data to migrate. It made sense. I write code for a living so why should someone else’s code power my writing? But as I’ve learned over the last few months, the answer to this seemingly simple question is actually fiendishly complicated and involved a big reassessment of what blogging is today vs. what it was when I started.

If you indulge me for a moment, let’s talk about my blog engine. Oh I had such big plans for that engine. It was going to fix everything that drove me up a wall about WordPress and its themes. It would have a properly normalized database. It would have dynamic widgets in C#! That’s right, I used hash maps and delegates in C# to build a data-driven widget generator with a simple strategy pattern, and took advantage of trivial parallelization so they wouldn’t take too long to load. Cool, right? But not exactly a new paradigm in programming. More of a fun exercise in how far you can take delegates and emulate functional programming in an object oriented language, a neat trick to show in an interview one day. And the same applied to the rest of my efforts in building a blog engine.

My engine, I told myself, was going to be a complete CMS, it could let you build your own sites without the bloat and security holes of typical PHP implementations because injecting code into API endpoints will be orders of magnitude harder, it would be designed to scale to the cloud, it would do your laundry, prepare your taxes, and pull your hair and give you a firm spank if you’re into that. And figuring out how to do all that taught me a lot. I tried it in Node.js with MySQL and Handlebars. I tried it in C# .NET Core with SQL Server 2016. I found ten different ways to migrate all my data and switch the content into HTML, and later, markdown. I learned a lot about the latest implementations of NuGet and npm. But unfortunately, all these things were just fun little exercises in yak shaving. And now I realize why…

1) Building a blog engine today is tackling solved problems

In my professional circle, we use the term solved problem not only to say that the problem has been solved so you should be able to implement a solution to this program that works exactly as the requirements say it should, but that it’s been solved so many times and so thoroughly that unless you have no choice but to modify the solution or have a better idea how to solve the problem, you should just save time and money, and use an existing answer. Aside from the little optimizations and tricks, my engine was basically striving for feature parity, and there were few things I could do differently because there was a standard that was dictating my ultimate implementation.

Metadata that allows social media sites to scrape your posts is set by Twitter and Facebook. RSS is a standard format that changed relatively little since its creation. Markdown support was just a matter of downloading the right package and instantiating it, since it’s also a standard with relatively few variations in its vanilla versions. There’s not much of a choice and slaving nights and weekends on implementing them in a slightly different way behind the scenes for an audience that won’t see the code and won’t care because they just want to read the content, hardly seems worth it in the long run, especially when it’s already been done on a tremendous scale.

2) Blogging has changed, and blog branding no longer matters as much as it once did

This may seem bizarre but stay with me on this. When I started writing this blog, all the way back in 2008, media companies still considered blogs to be the realm populated solely by underwear-clad basement dwellers typing barely coherent screeds. You chose Blogger, WordPress, or something kind of like WordPress, and started writing. You’d style it as you go, and your blog was the only place to read your content. In effect, you were running your own news site, your own little media company, and it better have polished, custom touches to stand out. Mobile was barely a thing, so it was easier to design pages for a typical big screen and let the people on phones and tablets figure it out. Today, you don’t have many more platform choices, but your blog is no longer the only place to find your content. Social media and aggregators are.

Nearly half the people who read Weird Things in the last few years did it on a mobile device. Many came from a social media site because they saw one post they liked and moved on. What is the point of building a large, glossy site unless you have a stable of writers, a tsunami of direct views, and some sort of partnership with Facebook and Twitter? If you’re not an actual media company with VC cash flow, people are going to find you on social media and aggregators, and bookmark you there. Content is shifting to places like blog networks of major publications and Medium. Had I not moved this blog from True/Slant back in the day, it would be part of Forbes now. If you’re a big name blogger, you’re probably writing for a big name publication under its banner. If you’re not, you need to move where the audience is, not where you’re going to be hoping they find you and like your snazzy website.

3) Traffic is no longer king, more like prince

Now now, don’t get me wrong, traffic is still pretty damn important. But the days when deals were done based solely on monthly traffic stats are no more. Now if you do 100,000 views per month that’s great and all, but what’s the engagement? How many people shared you, tweeted about you, made a meme of you on imgur, or upvoted you on reddit? Calculating potential ad impressions and click-through rates is not enough. Conversations with readers and building your brand by your content, rather than your design, is what it’s about today. And again, if you want traffic, engagement, and lots of page views, you need to be where the audience is: social networks. Which brings us to the simple fact that to grow as a blogger in 2016…

4) … you need the right mix of good technology and social media

So why did I end up picking Medium? First, it’s where the audience is, and where you can connect in a much more straightforward way than Disqus or your proprietary comment sections. Sadly, in the migration, I had to lose over 6,700 comments accumulated over the years on the 1,720 posts. They’re still archived in case I ever figure out how to migrate them here, but I’m really hoping that features like post highlighting, longform comments, and deep integration with social media will lead to more feedback and fun debates. And you know how much I like debates.

Secondly, I like the technical details of how Medium works, and their import process is very well polished and thought out. Ghost looks nice on paper, but it comes with the same drawbacks as a personal-run blog, and is based on an ancient (in JavaScript terms) version of Node.js which makes it difficult to run a local instance of it on my machines while developing new services for my daily work projects. WordPress sites routinely get hacked more than Jason Voorhees’ victims, and mine was hacked because I had the temerity to put off an update to a theme I wasn’t using for two days. It hasn’t happened again, but one look at the code behind the engine tells me it was just a matter of time until it does, there would be no one but me to fix it, and my defensive code would’ve been overwritten in the next update.

So in the end, here we are, on Medium. Now let’s see what happens…

# tech // blogging / media / social media

  Show Comments