I’ve been meaning to collect my impressions of the different blogging systems I’ve tried for a while now, but I’ve never seemed to get around to it. But today via Daring Fireball I noticed a little post from Joe Trotter that neatly sums up my conclusions and the reason why I’ve stuck with Movable Type. So now’s as good a time as any to quickly throw in my two cents.
I wouldn’t go so far as to say that “I hate Wordpress,” and Gruber’s response is correct, we shouldn’t confuse templates with blogging systems. You could undoubtedly make just about any site in just about any of the top blogging systems currently in use. But just because you can do something doesn’t mean that your experience doing it will be pleasant. The key observation is in Trotter’s final paragraph:
I think the problem is that Wordpress themes (and to a greater extent the entire system) are so designed that modifications stick out like a sore thumb - the themes never strike a good balance between flexibility and aesthetics. I’m thinking more and more to switch to Movable Type. The cachet of Wordpress just doesn’t appeal to me anymore.
Of course if you are a skilled Wordpress template designer you can make beautiful completely original or tastefully modified templates, but it isn’t what Wordpress is good at. What’s made Wordpress so popular — and what has, in part, made Movable Type less popular in contrast — is that Wordpress makes it very easy to do single click design changes. Whether or not this was inevitable, that (among other things) has made it conversely more complicated to implement templates yourself and encourages (though it doesn’t demand) even original templates to conform to a certain “Wordpress way of thinking.”
In order to make a new Wordpress template you have to know way more about how Wordpress itself works than you have to know about Movable Type. If you want to do anything beyond the standard you will quickly find yourself thinking about the mechanics of the database queries going on in the background, and if I wanted to think about that, I’d write my blogging software myself. In contrast, Making a Movable Type template is, simply, making a website. Not much different from designing a static page.
Therefore, I’d heartily recommend Wordpress over Movable Type to anyone who just wants to choose an existing template, maybe change a couple of colors and pictures, and get blogging. But anyone interested in the ease of customizing the design would be better served by Movable Type. People talk about how they love Wordpress in contrast to Movable Type because they always feel like they’re fighting with Movable Type. But while the vanilla install was easy, designing my own templates in Wordpress felt like as big or bigger of a battle.
I think that explains a lot. Wordpress may have a somewhat slicker application, but if the design is what you care about, Moveable Type is an easier, more elegant, sandbox to play in. I’m sure that has something to do with why people who are primarily interested in design often choose Movable Type (or Textpattern or ExpressionEngine), even as the rest of the world is moving over to the plug and play “good enough out of the box” simplicity of Wordpress.
PS And yes, I know that my own blog looks fairly “Movable Typeish” as it has evolved from the standard templates.
Comments (10)
On March 4, 2007 8:53 PM,
Comment by Steve:
I don't agree with this assessment. I found it impossible to design with MT, because I had to laboriously build the templates every time I wanted to test them. WP allowed me to make changes on the fly, and see adjustments instantaneously. Does MT server dynamic pages now? I haven't touched it in about 4 years.
Simply put, I found WP much easier to design a custom site for.
Also, it should be noted Trotter doesn't want to move to MT for technical reason, but for perception ones, which is rather shallow, if you ask me.
On March 4, 2007 9:36 PM,
Comment by Michael James Boyle:
That's a valid point (rebuilds), and I'm sure it all comes down to style. I liked WP's architecture, but not it's template system. I've found MT to be a bit clunky on the application side, but very easy to customize in ways that feel like they are working against other systems. Of course, I'm sure I could have made it work, and eventually I might have become proficient enough in another system to feel that ease of customization had become a wash. But I stick by my assessment that designing for MT is much more accessible to people whose knowledge base is html and css.
To me when designing MT templates the program gets out of your way and lets you do whatever you want where as WP, while just as powerful, stands squarely in your way. This is especially true if you want to have multiple loops through recent entries on a single page (meaning multiple non-standard queries to pull up the right set of entries). I'm sure I could have gotten used to it, but I didn't have to. It is also extremely easy to make multiple indexes geared toward different mixes of entries or presentation of content which is a flexibility that I haven't seen easily matched in another blogging system yet.
I should be perfectly clear that I don't have a problem with WP and I do recognize that MT has many problems itself. I've been considering whether to stay with MT, myself, and there's still some chance that I might move to another system, probably Textpattern. So far, though, my attempts to build a system that I'm happy with in another blogging platform haven't gone very well, and given the massive pile up on MT in the last year or two, I think it is good to recognize that there are reasons to prefer it over other platforms.
As far as a move for "technical" vs "perceptual" reasons... I don't know. I don't think that's shallow. After all if we didn't care about perception, we could all just put up raw text with no design. I think its perfectly fine to use whatever blogging system makes you happiest if it just feels right whether or not it has the best features on paper. For me, anyway, this is a hobby and I'd rather enjoy it than be "correct" or "hardcore" in some way.
To each their own. I hope that all the blogging systems flourish and continue to improve.
On March 5, 2007 5:03 AM,
Comment by Steve Weintraub:
Trotter seems to be saying he doesn't want people to think he's "just another WP user", which I believe is based on a false premise (that readers care about a site's underlying engine). He makes no indication that he's unhappy with his site, or WP in and of itself, but rather with who he perceives as the audience of WP users.
Maybe "shallow" was the wrong word, but I guess I just don't see why he cares, ya know?
On March 5, 2007 7:47 AM,
Comment by billg:
I took Trotter to mean that he wants a site that doesn't look like so many other WordPress sites. Certainly, the design and appearance of many WP sites telegraphs a common ancestor in Kubrick. I'd guess that most of the themes listed at a place like themes.wordpress.net are Kubrick modifications.
What MT, TextPattern and EE have in common is the use of tags. Anyone conversant with HTML and CSS should find it easy to get a handle on them. It's often argued that WP's use of PHP constructs amounts to a tagging vocabulary but I find that a bit disingenuous.
I agree that the need to rebuild pages makes design in MT a slower exercise. But, for me, MT's production of static pages gives it a leg up. (Yes, dynamic pages have been optional for several releases.) I've built identical appearing sites in both MT and WP. I can count to four while I wait for WP to load pages. I barely get to "one" with MT. Posting to WP on a remote, shared, server often consumes a minute or two of time, easily equivalent to MT's rebuild time.
The thing is that for almost all of us "dynamic content" boils down to comments. Otherwise, everything else we publish hardly ever changes. Remove the need for an individual blog installation to deal with comments and you eliminate much of the reason to create pages dynamically. I've been arguing lately that the next logical, and important, step in blogging will be for someone to build a better Haloscan, to allow bloggers to offload comments, and spam control, to someone else. A lot of us already use Akismet, which is a remote service that parses our comments. If Akismet, or someone else, offered to host your comments, and gave you a little chunk of code (like Adsense) to use to include the comments on your site, wouldn't you give it a try?
On March 5, 2007 8:14 AM,
Comment by Anonymous:
WP absolutely uses tags.
There is no meaningful difference between using <$MTEntryTitle$> or <? the_title(); ?>. If the fact that the WP tags "look" like php scares people off, well, that's silly. They behave exactly the same as MT tags.
On March 5, 2007 9:04 AM,
Comment by billg:
What's all that stuff doing in there, then?
It's not so much that the PHP'isms "scare" people. It's just a choice you can make to avoid using something you don't like to use. If MT templates were saturated with Perl'isms and calls to Perl routines, I'm sure many current MT users would be turned off.
You ought to be able to design a blog without learning anything about the language the underlying software is coded in, even if it's only the syntax.
On March 5, 2007 10:31 AM,
Comment by Anonymous:
That "stuff" (assuming you mean the parens) is where you add parameters to customize the tag. It's easy and powerful.
I really don't see the difference between MT and WP tags. With either system, you have to build some sort of logic to do what you want beyond default settings. Perhaps there's a certain comfort in the perceived abstraction of MT tags not looking like raw perl, but it's really two sides of the same coin.
I used MT originally, and when I migrated to WP I had no problems, it was just a matter of learning a different tagging syntax.
On March 5, 2007 1:30 PM,
Comment by Michael James Boyle:
Yes, it's true that for the most basic operations, WP "tags" operate like true tags. However as you get to more complicated operations this begins to break down. And it's not just tags, it's the whole architecture.
A MT template is a page with some (possibly very complicated) cut and paste from the database going on. It has a head and a body and any modular content that you link in goes inside the page.
A WP page is a much fuzzier construct. It is broken up into pieces that open and close in different templates. It has a head where the mechanics of parsing the query goes and logic that dispatches to the appropriate templates to display the kind of template that you want depending on the circumstance. If you stick with the basics this is pretty easy. If you are skilled this can be almost arbitrarily flexible. But the middle ground is a bit difficult.
In MT I can easily make a separate index for my photography, a separate index for me, and a separate index for Sasha each of which simply has it's own template and it's own URL. I don't have to know anything about how MT handles database queries or building in order to implement this and I don't need to think out logic or if statements to implement it (though I do have to use ifs in order to implement alternate styles in entries and categories). To do this in WP I'm going to have to understand much more about how WP's internal logic works.
Even worse are situations like the "recent pictures" feature I've implemented. To do that in MT I simply have a second entry loop restricted to entries with a specific tag indicating they have a photo-icon associated with them. A keyword then evaluates to the URL of the picture. All of this is done with standard presentation tools and a minimum of application logic. To do this in WP I'd have to set up a custom query to go back through the entries which again would require me to understand more than I care to about how WP works behind the scenes.
The tags are just the icing on the cake. In MT a tag that spits out a list, whether a list of links, comments, etc, has an opening, a closing, and a bunch of optional tags that can go in the middle interspersed with your own HTML code. While WP may be improving on this (I haven't used the most recent version and I noticed that some tags are now deprecated in 2.1), the fact that the tags are php with arguments set in the parentheses encourages the idea of instead having a single tag that spits out different content based on the arguments set.
I'd also like to second billg's thoughts that static pages can be a plus. The example I gave above of having a second loop through the entries could have an impact on performance. This could get much worse if I had a fancy plugin or feature that I implemented that had to do a lot of work. This would happen every time the page was viewed where as in MT it only happens on publishing which isn't that often if you don't get too many comments. This means I don't have to spend too much time worrying about performance.
Even better, if I want to switch blogging platforms later, the fact that my published pages are static will make it easy for me to preserve an archive of the old site without preserving a MT installation along with it or worrying about importing things into a new design. I can just turn off comments, publish out the site, and get rid of the mt folder. I may need to do some mod_rewrite work to make sure that content requesting the old site gets directed to the right place instead of my new system, but that's it.
I also agree that for most bloggers commenting could be offloaded or separated in some way. The only problem is that I like the ability to control how comments appear which would be made more difficult. What I'd really like to see in a future version of MT is static pages with an option for an AJAX (or maybe php or a mix) commenting system. That way every time you publish a post the pages get published once, pushing out all the code needed to retrieve and display the comments and trackbacks dynamically. You needn't display the whole page dynamically just for one part. Even better, the comments could stay dynamic until a full page rebuild triggered either manually or automatically during some quiet time so that you could cash old comments (which are now no longer truly dynamic) and maintain the ability to create a completely static version of the page.
On March 5, 2007 1:42 PM,
Comment by Steve:
I'd agree that working with WP can be a "raw" experience, to some degree. I'm rather deft with it, so I don't have a problem, so I can't speak for these "middle" users. For a while I've looked at TextPattern, which seems to be geared very well to created flexible CMS designs, rather than straight blogging. I haven't touched MT in years, since giving it up over rebuild frustrations.
As for static vs. dynamic, WP is working on a cache system, and there's a cache plugin that works rather well in serving up static pages. That said, even a rather complex site like my own loads near instantaneously. Static has advantages, to be sure, but with today's servers and high-speed lines, dynamic presentation works just fine.
On March 5, 2007 1:54 PM,
Comment by Michael James Boyle:
No question, if you are good at using them, you can do great things in any of the blogging systems. And I've never seen much of a problem with WP pages rendering quickly.
However, I have heard about people on shared servers getting into trouble with resource utilization, usually because of wayward plugins. MT used to get in trouble all the time because of getting hammered by spam, but the filtering is much better in current versions and fastcgi helps with this.
Still, with any dynamic system that doesn't support publishing to plain vanilla static pages, you are going to have to either keep a version of the CMS running or import the pages into your new CMS, and that's something that I won't have to worry about.