Movable Type 4 vs ExpressionEngine
Some 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.

You can also create relationships between blog entries — so a blog of books you've read might link to a blog of authors you recommend. The authors don't have to be just categories — they can be a complete blog themselves, which means you can have an RSS feed of new authors, and you can have an author search and you can categorize authors and have comments on authors just like you'd have on books. EE has a clear and detailed explanation of this in their user guide.

EE makes it much easier for an administrator to change the author of a post, or to set expiration dates or a date to close comments. But EE only lack is a doozy: it doesn't have is a WYSIWYG editor for blog posts; this is probably one of the most requested features in the EE forums, and has been for some time (search for WYSIWYG in EE's forums.)

MT 4.0 is emphasizing tags over categories, but supports both. EE has a more sophisticated category system that can give each category arbitrary default fields, like a default image, a default ranking, etc. However, EE doesn't do tags out of the box; a third-party solution is required.

Security & Upgrades

EE has an amazing track record when it comes to security (knock on wood). Secunia reports there has been only one reported vulnerability between 2003 and 2006. I've seen a few more potential loopholes fixed in EE's release notes, but there have been really nothing rising to the level of a security breach since 2006.

In the same time, Secunia reports MT has had 4 vulnerabilities and one for MT for enterprises. It remains to be seen if MT 4.0 will change this pattern in any way, but I don't think it can be argued any blogging package has been more secure than EE has been.

It's also true that EE has released many more versions than MT in the same amount of time. I don't have an exact count nor have I downloaded every available new release, but since July 2005 I have collected 23 versions of EE — some are build releases, some are new version numbers and two were hot fixes unidentifiable by build number.

That's at least 1 new download per month, and while upgrading is straightforward for EE, that's still hard to keep up with. EE's support team pretty much requires you to be running the latest version and build in order to receive assistance (to be sure, many times the latest build fixes whatever the problem of the week is that brought you to need support in the first place.)

MT, meanwhile, goes much longer between public releases. Developers are welcome to download the nightly builds, but point releases come out more like every 4-5 months, and there are no intermediate builds publicly available. (This doesn't include update counts for MT for Enterprise, which updates at about the same pace.)

For those who administer their own blog, the frequent updates and new features of EE might be a selling point. For those who handle a number of sites, EE's release schedule can be overwhelming. However, the alternate of waiting months for a bug fix can be doubly frustrating, as some in the MT community will attest.

Perhaps there's a middle ground to strike there, where EE could release larger build bundles and MT could either speed up and be less ambitious or dole out interim patches. It's hard to say what's best, but there certainly are notable differences here.

The Community

Speaking of community... This is probably the most subjective of comparisons: Which development community is the most supportive. I can only talk about my own experiences here, for what it's worth.

I've found EE corporate support by email and on the EE forums to be top notch, as good as any company I can think of, online or off. I have found MT's corporate email support to be much less responsive, in a way that has affected me and my clients, and I come across more complaints about Six Apart's response time than Ellis Lab's.

I haven't used the MT forums enough to say how effective and engaged the MT folks are there. Interestingly, there are almost the same amount of posts and members on each forum — around 250,000 posts and about 40,000 members — and they both had their busiest points ever at around the same time — late June to mid-July with around 1,000-1,100 members online. That's kinda spooky.

MT has an active Professional Network mailing list, and one which I find gets rather testy at times. EE has none. If you like sparring with grumpy consultants and programmers via email, MT wins on this point.

Documentation

No one much cares about documentation until they need to fix or build something tricky. EE's documentation is more detailed, with more examples, than MT 3.x's scattered and semi-PDFed docs. Though with the release of MT 4, the PDFs are gone and now it's just scattered. Its my opinion that the company still has room for improving this resource.

EE just added community-contributed comments to their user manual; MT has had commenting in its manual for a long time, but until 4.0, I couldn't find a single example of this happening. Both companies have a decent knowledge base, and both sites have a wiki (MT wiki, EE wiki) that is somewhat neglected — though whether it's the community or the company that is neglecting it is unclear.

What EE Can Do That MT Can't

EE has built-in mailing lists, a full wiki module, direct database query capability, and a photo gallery that's able to do some really nice batch processing, rotating, cropping, and organizing. It has user-notifications of comments, email-a-friend tools and a much more sophisticated search tool than MT.

I love EE's entry and template versioning — try something and roll back when it (inevitably) blows up. There are built-in statistics that let you track user views of entries, index pages and more. To be fair though, MT4 is has introduced statics as well and the community has been adding functionality via dashboard widgets. That said, a decent third-party stats package is probably the way to go, but it is sometimes nice that you don't need a third-party tool to track basic referrals and page view activity. Additionally, with EE this data can be reintegrated directly into your public site.

EE has a forums module that's a separate purchase for US$50 personal / US$100 commercial that integrates directly with blog entries and your site's member database. Commerce: EE has a built-in PayPal integration component that lets you handle basic sales of virtual and real goods. Integration: EE has an XML parsing plugin that can pull in feeds from other sites and reformat them for your own page — be the next Google News!

What MT Can Do That EE Can't

EE's search mechanism caches search results, so you can't bookmark a search result page. In MT you can. Automatic saving of post drafts. The native ratings framework currently supports rating posts and comments, and the list will grow. A file manager for uploading and reusing media assets (this is rapidly evolving and being extended by the MT community). Open-ID support and Typekey authentication. WYSISYG blog entry. Brand-name recognition with Six Apart and Movable Type's reputation in the industry.

What I Didn't Compare

No review is comprehensive, and there are a few features I didn't compare or include. For one thing, both MT and EE offer stand-alone page publishing now; these are basically blog posts that don't form part of a chronological list, and it's been a feature in WordPress for a while. I didn't have a good site to actually test this functionality on, and I know that MT and EE developers have been using workarounds for this for quite some time.

Both companies also offer additional products: Code libraries, hosted blogs, and so on, which didn't influence this comparison.

Final Analysis

There are lots of reasons to go with Movable Type, especially now that release 4.0 has demonstrated that Six Apart is again committed to the platform. Not the least of these reasons is that your boss might just demand that you do. MT has explicitly chosen to focus on business and enterprise blogging, and has been successful with that strategy. If you need LDAP integration, support for an Oracle database, or you want to give a blog to everyone in your school or company, MT, actually the MT Enterprise Solution is the way to go.

For most small operations who are price sensitive, it's not a slam dunk either way — the price points and the products are similar enough that a decision really will depend on your specific needs. If you are price sensitive and your organization is growing then in the long run EE will become the price leader. That's something to keep in mind.

When it comes to functionality, EE clearly stands out. If you look at EE's feature list, it seems almost overwhelmingly flexible. Conversely, if you look at the list of 47 new features of MT 4.0, more than half are things that EE already does, and roughly 20% are marketing speak, such as "Completely reinvented user interface!", which while meaningful, have a rather subjective element to the net impact. MT is still a more specialized product.

For me and my clients, with the exception of the blog entry WYSIWYG editor, there's not many areas where this latest version of MT surpasses the current incarnation of EE, just areas where it offers a functionality down a path EE hasn't yet gone. If one of those might be the deal breaker (like static output files or LDAP support, for instance), go with MT. But if you don't have a unique feature driving your decision, I'd click over to EllisLab and take a serious look at ExpressionEngine.

About the Author

Travis F. Smith is the owner of Hop Studios, a Web design and development company that specializes in blog development and journalism. He has been building content-rich, elegant Web sites since 1994, when he was deputy editorial director and one of the creators of the Los Angeles Times Web site. He's also a professional speaker on such topics as blogging, subscription-based revenue models and online journalism. He has been the editor of Variety.com, and a lecturer at the University of Southern California. His own site runs on an unholy mixture of EE and MT.