Thursday, December 11, 2008

A Conversation with fluffy about Movable Type and Comics



I've found talking to an enthusiast is often a better way to bring the merits of certain software to light. I've been talking to people about platform/content management systems, starting with Kez and WordPress. Cartoonist/software engineer fluffy agreed to talk about Movable Type, and more such discussions are in the works. I hope this will be an easy way for people choosing a platform to hear what makes it good, and I encourage critics of the platform to engage us too, via the comments section. I assure you, no one will take it personally if you have a different point of view, and a range of comments could be helpful.

fluffy (a pen name, never capitalized) lives on the US West Coast, and works as a computer engineer by day and webcomic creator by night, unless Mork and Mindy re-reruns are on.* I hoped to finish reading  BusyBee Comics before writing this, but I am still in late 2007. It's a big archive, with zany humor and brilliant original visions. If it were a flavor, I'd call it tangy. I regret there is no way to capture what it offers with brief excerpts.

fluffy's page also has a great 404 page (volume on) and a deceptively detailed 403 page. If anyone else has a custom 403 page, I'd like to hear about it.

It's not lost on me that comments to this blog have always been respectful of those who take time to participate in an interview. Doing this stuff is more time-consuming and labor-intensive than it might seem, and I appreciate that readers are not afraid to share their opinions yet do it gracefully.



Q: At what point in a site's development does a person have to make an informed decision about their content management strategy?

A: I think that as soon as you realize that there is going to be a large amount of interrelated content, you need to at least think about how things are going to be arranged. Even without an automated content management system, being able to keep things straight as far as where things are going to go and how you'd find them again is important to keep yourself sane.

Personally, I feel that as soon as you're going to have more than two pages with the same overall layout, you should really look into using a CMS. Editing one template is always going to be a lot less work than editing multiple files, especially when there's fairly complex layout and style issues to deal with.

Q: This column recently covered some of what Word Press/Comic Press has to offer. What system would you recommend, and how is it different?

A: WordPress/ComicPress are fine for simple sites where you only expect to have fairly basic content, such as a single comic series and a single blog. However, modifying WordPress requires a decent amount of programming knowledge, and the fact that WP always needs an active database connection to function (and that it only works with MySQL) are pretty big turnoffs to me.

Personally, I use Movable Type. Its category system is, in my opinion, much better than WordPress's, and its template system is a lot easier to get up and running with. You can still put PHP into your templates if you want to, but you don't have to know it; Movable Type instead provides its own templating system which uses HTML-like markup tags.

Another big advantage to Movable Type is that it allows you to set up multiple subsites which are all managed from a single control panel. For example, on my site, there are three sections: the main site, my weblog (http://beesbuzz.biz/blog/), and my webcomic (http://beesbuzz.biz/d/). Each of those use separate template sets, designed around the needs of each section.

I do use rather a lot of PHP in my templates to add things which aren't straightforward in Movable Type, however, but the basic templates are all using Movable Type's own markup language, and there isn't anything fundamental to my site which absolutely requires PHP (aside from how I use phpBB as the comment engine instead of MT's built-in one). The main use of PHP is to allow me to delay-publish entries in the future without using MT's own scheduling interface, which doesn't show a "live" preview of how things will work within the templates (I have a separate template for previewing my pending entries).



Q: What's similar about WordPress and Movable Type?

A: So, a little bit of history.  Back in the early days of weblogging, there were a bunch of weblogging tools which weren't particularly easy-to-use.  Comment systems were site-specific, RSS was still being designed, and most weblogging systems were fragile piles of script without much attention paid to usability or security.

One of the earliest weblogging systems intended to be relatively easy to setup and use was called Movable Type, and was released in 2001.  It was written by Ben and Mena Trott, a pair of San Francisco web developers who decided that they'd go into business creating and supporting weblogging software.  They would later found Six Apart, initially as a support company for Movable Type, but they ended up starting several other services (such as TypePad and Vox), acquired a few other blog/community companies (such as LiveJournal, which they later sold off, and Pownce, a Twitter clone), and also decided to branch off into social networking software.

Meanwhile, for the first several years of its life, Movable Type was open source but not technically "free" (in the sense that Linux or FreeBSD is free) - you could freely-download and modify Movable Type, and release plugins and so on for the system, but the license did not permit anyone to make their own separate version of Movable Type itself.  Because of this, a lot of people were concerned about MT's long-term freeness, especially since at the time Six Apart were making moves towards limiting what people could do with MT (for example, they didn't allow webhosts to provide a turn-key "MT Hosting" account, and they requested that people using it without a commercial license advertise that they were using MT).  So, rather than worry about the long-term prospects of Movable Type, several people decided to start up a completely free-as-in-speech weblogging platform, WordPress.

At this point, I am going to get into some details which will almost certainly lead to a religious war.  I apologize in advance.

One of the fundamental design decisions of MT is that rather than providing a "live" system, it works by generating static HTML pages.  This very slightly reduces how dynamic an MT-based site could be, but for some reason a lot of open source developers thought that every page on the Internet should be generated on-the-fly, without thinking about the impacts on webserver performance.  So, WP was designed around every page being a live piece of code, which talks to the database and basically rebuilds the whole page from the ground up every time it's accessed.  (Unsurprisingly, as WP sites began to get popular, they started having major scaling issues, and so now one of the most-recommended WP plugins is a caching module which makes it basically emit a static HTML page, except in a way which still doesn't scale well for very large sites.)  So, whereas MT's templating system works by essentially adding simple scripting tags to HTML (which also makes it much easier to integrate with WYSIWYG editors such as Dreamweaver), WP's templating system works by requiring actual programming code to be written.

Anyway, later on, Six Apart added dynamic templating to MT (in a way which is, in my opinion, far superior to WordPress's mechanism, as it leverages functionality that's already built-in to the webserver rather than essentially reinventing the wheel), and as a business focus they shifted towards supporting large-scale corporate sites (social networking and the like) and Vox/TypePad for their income.  They still develop MT, but it's almost like it's a side-hobby for them at this point.

Aside from the model of operation between the two systems, Movable Type has also been extremely security-focused.  WordPress's "everything runs as active code" model inherently leads to more possible security holes (especially since every single template or widget is another opportunity for a less-skilled programmer to do something silly), and historically, WP has had to push out quite a few security-fix releases because of major security issues in the system, whereas MT has had a quite excellent security track record (the fact that the administrative interface is completely decoupled from the page display helps a lot).

Another fundamental difference between the two systems is MT has been designed for compatibility with a large number of environments (and runs great on pretty much any UNIX with Perl 5.6 and a wide variety of database systems), while WP is written against Linux+PHP+MySQL.  I have several rather unflattering things to say about both PHP and its MySQL support, but it's getting a bit beyond the scope of this interview.  I'll just say that PHP has historically not cared a whole lot about backwards compatibility, clean design, or security, and a fundamental problem with PHP's design is a big part of why PHP apps tend to support only a single database system.

Now, don't get me wrong; I think competition is a great thing.  If it weren't for WP, a lot of things probably would have never happened with MT (the most important of which being Six Apart's shift in business model), and there are a few things MT could do better, such as better category navigation (not that WP even comes close to getting it right).  But there are still many extremely-useful things that MT has always done excellently that WP doesn't even attempt to do (subsites, for example - if I were to use WP to manage 
beesbuzz.biz, I'd need three separate instances of WordPress to do it), and I can't help but be a little dismayed that WP has captured so much mindshare where MT has not.  I truly feel that MT is the superior product in every meaningful way.

So even though the free license for MT no longer requires displaying "powered by Movable Type" on the index page, I still keep the badge there for everyone to see.





Q: What skills does a person need to use Moveable Type?


A: It actually scales quite well to pretty much any expertise level. There are quite a few freely-available templates for it (and the bundled templates work great for most uses, even publishing comics). Having basic HTML and programming skills is helpful, and if you really want to go to town on the layout stuff it's a good idea to at least understand the principles of CSS.

I'd consider my usage of MT to be fairly advanced, but at its core, you can get up and running just by using its built-in templates and image uploader.

Q: Who is behind Moveable Type, and where do you go to learn more about it? And how long has it been around?

A: Movable Type is a product of SixApart, and has been around for quite some time. I believe it is one of the first weblogging-specific CMSes to come about, and it's constantly being developed.

There are actually several different versions intended for different usage patterns. I just use the free version, but there are also versions intended for building enterprise portals and social networks and so on. The free version is enough for most people.

That said, while it's free, you do need proper webhosting to make use of it. By "proper" I mean you need to be able to install and run CGI scripts, and it's helpful to have a database system such as MySQL or Postgres available. However, it works just fine (if a little slowly) with BDB, which most webhosts provide along with CGI access.

Q How webcomic-friendly is Moveable Type?

A: I'd say it's pretty friendly! Like I said earlier, the default templates are all you really need to get up and running, and customizing them to make them a bit more webcomic-like isn't difficult once you learn the MT template markup language.

Q: Can you link us to some outstanding Moveable Type sites?

A: I don't really pay that much attention to the CMS which sites use, so the only real example I can think of is my own. Movable Type is very popular with webloggers, but for some reason hasn't caught on in the webcomic community.

Q: I am a big believer in having minimum dependency on other individuals to keep my site running. How independent can I be with Moveable Type?

A: You can be quite independent. My site has actually switched between several webhosts over the past few years, and migrating was pretty much a non-issue every time. In particular, if you use the basic BDB storage mechanism, migrating is as easy as just copying all your site files to the new webhost. (The same cannot be said for WordPress!)

Q: What kinds of widgets and functionality can I add to a Moveable Type site that aren't always available with site editor/free host packages?*

A:The main thing that a CMS gives you is consistency and control over your layout and URL mechanisms. Different site-builder options have different levels of control and flexibility, but most of them don't appear to provide things like multiple templates which can pull content from streams of data. Consider how a weblog works - you have various archive pages (daily, monthly, weekly) and individual entry pages and comment pages and the like, and with a site builder you generally have to maintain each one separately. However, a CMS exists to maintain several content-aware templates and apply them to the individual pieces of content.

One of the many things this gives you for free is the ability to provide an RSS feed to viewers. Most modern CMSes (including Movable Type and WordPress) provide RSS "out of the box," and so when an entry is published, it also gets added to the RSS feed (which only chronicles the most recent updates to the site).

And, on that note, most CMSes allow you to work on pages without them going public. So, you can maintain a buffer of comics or newsbox entries or the like and they don't go visible anywhere (on the site, in the RSS feed, etc.) until you tell the CMS to publish it.

Now, let's take a site like Psychedelic Treehouse for an example. My guess is that right now, you have to maintain the indexes and individual pages separately. This is a lot of work for you. With a CMS which allows nested categories, however, you don't have to do anything fancy - you just write short articles for each resource, and then put it in one or more nested categories, and your category archive pages become the indexes for the groups of content. And, in the case of MT and WP, each entry has two parts, the archive blurb and the full entry, and you can set your templates to show those independently.

Also, note that previously I said "one or more" categories - you can quite easily have an entry show up in more than one category. So, with the example of my comic, if I do a sketch which is related to a series but not part of it, I will put it in "Sketchbook" as the primary category and then in the related series as a secondary category, so for example a Unity sketch will show up in the Unity archive [http://beesbuzz.biz/d/cat-unity.php], but still be labeled as a sketch.

Now, since MT has both date-based and category-based archives, this makes it very useful for a webcomic. I have daily archives (such as http://beesbuzz.biz/d/20080814.php ), weekly archives (http://beesbuzz.biz/d/20080810_w.php ), and monthly archives (http://beesbuzz.biz/d/200808.php ) - all fed by the exact same content, automatically, by Movable Type, all based on the publication date of the comic.

MT also has other functionality that I don't personally use but which can be very helpful. For example, it has a pretty good built-in comment system; I instead use phpBB with some custom code which automatically links MT entries to forum threads, because when I set my site up the comment system wasn't very good, but now I'd actually use the MT system instead if I didn't already have a lot of comments which would be a pain to move over. It also has entry tagging (which you can use to "tag" a comic with various topics and then people can browse comics based on those topic tags), and the latest versions of MT also have a built-in analytics engine which I haven't investigated at all so I don't know how it compares to Google Analytics or the like.

For what it's worth, I use absolutely no MT plugins on my site.

Q: You're totally right. My sites have gotten so huge that I have spent days implementing systematic changes. The first site builder service that offers more of a CMS design will have a competitive edge over its rivals.
Please share the history of your involvement with comics, and most recent projects.

A: Well, of course growing up I loved reading comics in the newspaper, and occasionally would draw my own dumb comics which were generally just ripoffs of the ones in the paper. Often these would be "bonus material" on my homework, which my teachers didn't appreciate. I don't believe any of them exist anymore except as mulch buried deep in a landfill, except for one very short comic I did in high school, which is embarrassingly bad.

At some point in college I discovered webcomics. I was vaguely aware of Bob the Angry Flower and Doctor Fun since various faculty members in my department (computer science) had printed some out and posted them on their doors, but I had just figured they were some underground comic from alternative newspapers or something. Eventually I discovered Kevin & Kell while doing a bored websearch, and later I learned about Sluggy Freelance, and then somewhere along the line came Keenspace (which I think I discovered via Nukees). Ever since then I've always had a very large assortment of webcomics that I read, and the only print comics I even pay attention to are ones which are available via RSS; if something doesn't have an RSS feed, it better be *really good* or updated *really regularly* for me to keep up with it.

In grad school, I decided that I needed to actually learn how to draw, so I started my first webcomic, Eaveston, which was based on the premise of an entirely Libertarian society (as an analog for Internet communities). It was pretty terrible, though, and while it's still available online I will not tell anyone where it is. After a year or so I got bored with where the story was going, and journal comics had suddenly been the popular thing to do on the Internet so I started drawing occasional comics as part of my blog entries (which is why most of my early journal comics make very little sense as they're out-of-context).

All of my comics since then have been started based on either a whim or a dream.




Q: Characters resembling you appear quite often in your stories. Do you get a lot of questions from people wondering where to draw the reality/fiction line?

A: Well, first off, there is only one character in my comics which is actually *me*, namely the one named fluffy. It is of course a metaphorical portrayal of myself, and generally depicts how I feel about myself at any given time. Obviously in reality I don't have plaid skin or a tail.

For some reason, people seem to think that Juni (from Unity) is my self-insert character, when really it isn't. The whim which led to Unity was me thinking about building up a world around someone who had been completely stripped of everything - their identity, memories, and even gender, and to see what would happen as things developed (both in terms of the character and the backstory which eventually got filled in around it).

In both Pernicious and Womble, the cast is basically two characters against each other, and each one is sort of a fragment of myself. I just write what I know, I guess.

As far as fiction vs. reality, everything in my journal comics is pretty much true, although I'll often change some of the dialog to make it funnier, and of course I draw people as their personalities filtered through my perception. As far as my other comics go, they are pretty much completely fiction, except for when I caused a tear in the fabric of the universe. That was fun.

(A bit more seriously, I do like to keep the science in Unity fairly accurate, or at least plausible.)

Basically, unless the word "Journal" appears above a strip, it's probably not something which actually happened.



Q: You cleared up the fact that you are not plaid in an earlier conversation. But what are the greatest features you have in common with the characters that appear to be based on you?

A: Well, I suppose I'd need to know which characters you think are specifically based on me. In general, though, I guess the ones which have similar personality aspects have those personality aspects in common, and as far as appearance goes, well, that'll just have to remain a mystery I guess.

Q: Did comics play a role in how you approached school? I view comics as helping me cope with boredom when they taught all the things I don't know now.

A: I think Calvin and Hobbes had a pretty marked impact on my development. It taught me that it was okay to fantasize and mentally explore other worlds, and also about how unimportant a lot of things actually are. But as far as my approach to school, I can't say that they did, so much; I actually liked school and learning things (although I never did undersatnd the point to doing homework). I've just always had a natural affinity for sucking up knowledge, though, especially when it comes to science and logic and other hard facts. I didn't much care for history, though. I'd rather think about the future.


All art © fluffy
_______________
*I am lying about Mork and Mindy. I think it might be Bonanza.