Why create a new blogging system?

By Serdar Yegulalp | 2015/08/25 10:56


Good question. What with WordPress out there powering some 25% of the world's Web sites, why create something new entirely from scratch? Well, I had a few reasons.

1. The existing solutions didn't cut it for me anymore

My original blogging engine of choice was Movable Type, originally available in a "blogger's license" that allowed up to five "non-professional" users to work with the software without paying. Their criterion for what constituted a "professional" user seemed pretty smart: if you didn't file a business tax statement, you weren't a pro user.

MT's owners phased out the blogger license, but did introduce an open source (GPLv2) licensed version of the program. Figuring this was a less ambiguous deal, I moved to the open source version -- only to have them discontinue development on it once version 6 dropped.

2. I wanted to learn Python by way of a project I had a personal investment in

Faced with MT being a dead end, I had a few choices. One was to learn Perl -- or, rather, to learn Perl in a far more thorough way than the middling dabbling I'd done so far -- and keep the project alive on my own terms. I didn't like that solution, not just because of my own disinclination to learn Perl but because of the sheer technical debt it would have incurred. (Movable Type is not a small project.)

What languages out there looked good? Python had caught and kept my attention for some time, and it was a good fit for this kind of work. It was suited to both large and small projects; it had a robust and long-lived community around it; it was widely supported by Web hosts -- especially little ones that run shared hosting.

That's it, then, I told myself: I'll learn Python to create a substitute for my blogging system.

3. I wanted to create something that had the best of both MT and WP

I got onto the MT bandwagon fairly early on, sometime in 2002 or so (if memory serves). WordPress's fortunes rose far higher than MT's, in big part because WP ended up with a bigger and more robust community of users and developers. (For a detailed if also deeply opinionated take on the subject, read Byrne Reese's recounting of the conflicts between the two products.)

Switching to WP was a possibility, but its single biggest failing for me was MT's biggest strength: static files. MT generated static Web pages that could be served any way you pleased. Yes, it meant that changes that affected all pages required a rebuild, but you could do that in the background, and even a large site didn't require the rebuild process to run for more than a few minutes anyway. The advantages of serving up each page dynamically weren't terribly significant for a blog, and on shared hosting WP instances took agonizingly long to launch on CGI. You build a web site to be read, and if your readers are faced with multi-second load times, they're not going to bother.

But there was a lot of about WP that I liked -- namely, the elegant interface, something I figured I could try to implement where possible. I didn't want the end user experience to be one of frustration; I wanted people to be able to get up and running with it in minutes, and not have a thousand cuts inflicted.

4. Variety is the spice of life

Other blogging engines do exist for Python, but they're mainly focused on the technical user who wants to just render a bunch of Markdown documents into a blog. (I'm eventually planning to include something like that, but I wanted to focus first on a rich front end that would attract less technical users.)

In the end, I decided to go my own way, although to take lessons from other peoples' work whenever I could. Why not have another option, especially if it turned out to be one that scratched all my own itches first?


Tags: Movable Type Perl Python WordPress whys and wherefores


comments powered by Disqus