Movable Type 4 vs ExpressionEngineSome rivalries run deep: Army vs. Navy, Mac vs. PC, and dogs vs. frisbees. With the release of Moveable Type 4 and the near-simultaneous release of ExpressionEngine v1.6, it's time to to examine this perhaps less well-known rivalry.

Of course, as any of the staunchly devout in either camp would tell you, the best tool is the one that does what *you* need, and there will definitely be particular tasks that each blogging tool is better at. As such, this article isn't as much a review as it is a comparison designed to inform wise decisions. Hopefully, by the time you've read through it, you'll have seen which product's strengths match your project's needs, regardless of its overall fitness.

Throughout the article, "MT" refers to Six Apart's first non-beta release of MT 4.0, not the 4.01 still in beta. "EE" refers to the software called ExpressionEngine 1.6.0 build 20070815 by EllisLab. Do note that EllisLab used to be called pMachine, and their software was originally called pMachine as well.

This article will also, arbitrarily, exclude any third-party code not explicitly supported by the product's company, though it will include any code features available separately but still available and supported by that company. From here on in, I'm also going to speak in the first person where it's a personal opinion that's being expressed.

Where it Runs

First of all, let's talk some nitty gritty shop about the code itself. MT is written in Perl — it requires Perl 5.6.1, but only 5.8.1 and above is supported by the company — with a portion of the product written in PHP. The PHP bit handles dynamic page serving, without PHP you can't turn this feature on.

ExpressionEngine is all PHP, and requires PHP version 4.1. (An insightful discussion of the merits of one language vs. the other is left up to the reader.)

MT offers more database choices with support for MySQL 4.0 or PostgreSQL 7 or SQLite 2. EE needs MySQL from version 3.23.32 or higher. Much of the development of both products occurs on Mac and Linux computers and its probably true that the majority of deployments are on *NIX servers. Both do offer Windows support, but this tends to be more for the brave tinkerer, rather than the average Jolina.

One of MT's biggest strengths is its ability to publish static pages. In a static page configuration MT can without a doubt handle more traffic than EE's dynamic system, provided that we leave comments out of this discussion. Static page generation is also one of MT's biggest weaknesses, as any developer who has hit the rebuild button 100 times in a design session can tell you.

EE's templating system lets you work with real data and see instant changes; comments appear instantly, and EE has a multi-layered caching system to try to minimize the database reliance. MT can also serve content dynamically, or can output static pages containing PHP code, however, this removes the static page advantage and leaves the MT developer in the unenviable position of having to support a two-layer system of page code interaction. It is also important to note that EE lets you embed and run PHP directly in its templates, much like WordPress, but often PHP isn't necessary because of the tags available within EE itself.

Software Cost

EE is in a bit of a squeeze here: MT is going open source in Q3 2007. And so, though there's been a free personal version of both EE (Core) and MT (3.2) before, MT 4.0 will have a GPL'ed version that's free for commercial use. EE offers a commercial license that allows an unlimited number of users and an unlimited number of blogs so long as you aren't offering a blogging platform (i.e., a blog for every user who wants one). For comparison, a setup with 20 users and 10 blogs will cost US$ 600 on MT*, while a satisfactory commercial license for EE would cost US$ 250. MT with 150 users would cost... "contact us" — they don't list any higher preset licenses — while EE for 150 users would cost ... US$ 250. On the smaller side, an MT install with 5 or fewer users would only cost US$ 300.

*Not counting any discounts they have going on currently

A personal license with support is half the cost for MT: US$ 50/year vs. EE's US$ 100 + US$ 20 / year. And not that a good sysadmin would need it, but EE can be installed for you for US$ 50 while a MT installation costs US$ 150.

Languages, the Non-computer Type

EE 1.6 has been localized in 6 languages, and older versions in 18 languages. MT is currently only available in English, but if the last version is a good reference, it will probably support 6 languages soon. (Editor's Correction: MT 4.0 is shipping with 6 fully-supported translations: English, Japanese, French, German, Spanish and Dutch.) Both products offer full support for Unicode (but both, in my experience, over-promise how easy it'll be to actually fully publish a site in UTF-8).

Software Installation

I've found that EE is easier to install than MT; for example, MT is best unpacked on the server because of its permissions settings, while EE can be unzipped locally and uploaded with FTP. EE's installation routine is handled by a script that walks you through nicely, and alerts you to problems it finds. However, MT has a pre-installation check that helps you understand what you might be needing before you install. MT 4.0 now offers an installation wizard, but I ran into trouble with it.

Default Templates

MT 3.2 had 28 default templates available, plus a selection of contest-entry templates and a very wide of third-party templates are available. MT's super-complex CSS structure makes its initial templates much harder to customize, but easier to plug in third-party styles.

MT 4.0 ships with 18 styles, many of which are variants. Meanwhile, EE has 27 templates available, a fair number of which are, well, I'd say they'd be picked last at the town dance (they're ugg-lee). EE also suffers from a lack of templates for some of its advanced features, like search templates, member page templates, wiki templates and so on. Overall, if you want to customize everything, EE tends to be an easier starting point, while MT is helpful to those who just want to skin a site.

Backoffice Interface

MT's new administrative interface has come a long way. There have been a few complaints related to the menuing system, but generally its been thumbs up all around. Additionally, new UI widgets are popping up in the community daily. The revamp includes a nice set of colors and font sizes, and the logical grouping of tools is fairly intuitive. The biggest differences here are that MT has exposed more of the HTML of the interface to developers, and MT has also integrated a WYSIWYG tool into the entry editing page.

Both of these changes really set MT's administrative tools apart from EE's, which is also no slouch. MT tends to group its menu by action (verbs about doing) while EE groups by function (templates, communicate, edit) — which could be because EE offers more granularity of member group permissions (i.e. you can set certain groups of members to have very fine levels of permissions over what they can and can't access). EE could definitely benefit from an MT-style Dashboard instead of its current Control Panel Home Page.

Comments & Spam

At this point, features get a little harder to compare. For example, comments. Yes, both have comments (surprise!). But which is "better"?

EE's commenting system is a little more tunable — because there's an entire member registration system, EE had the advantage until MT 4.0, which now offers its own member registration system. I've seen far less spam on EE systems, but that could be not only due to MT's wider install base, but also because EE offered spam-fighting tools that MT doesn't have, like providing a one-use key for every comment form served, and by blocking duplicate postings out of the box. MT 4.0 promises better spam protection, though I have yet to install it on a high-traffic site to verify those claims.

MT does offer better tools for disposing of the spam that comes in; EE's two categories of comments (basically, published and not published) doesn't offer the ability to junk comments or to learn from junked comments. Trackback support might be better in MT because they pretty much pioneered it, but at this point, that's like being the champion buggy whip manufacturer.

RSS & Atom Support

Both can spit out feeds like a baby spits out pureed yams, but MT offers comprehensive ATOM API support while EE offers Blogger API. Both have Metaweblog API. MT 4 includes some advanced tags for syndicating podcasts in feeds.

The Blog Itself

When you go to post a blog entry, the biggest difference between EE and MT becomes apparent. While EE ships with three default fields, just like MT, the fields in EE are completely customizable in number and type, and that's per blog. You can have a blog of events with fields for description, cost, venue and 3 uploaded image sizes, while another blog on your system might be for bands with description, starting year, members and popular songs. Yes, there are plugins that do this for MT (i.e., Custom Fields), but this functionality is completely integrated into EE in every way, from templating to the search tool. This also means you can customize the order and instructions for each field in the EE posting interface.