My friends get to make mistakes

Yes, Six Apart is a company, not a bunch of baby squirrels. It’s a company that screwed up badly, squandering several years of goodwill in a morning. But it’s also a company made up of my friend Ben, who has always been patient with my lack of programming skill, and my friend Mark, who has always been even more patient. It’s a company made up of my friends Shelley and Kristine, who just kept plugging away calmly answering the same questions over and over when I couldn’t face the support forum any more.

My friends get to make mistakes.

I could switch to WordPress, a community led by my friend Matt. Hell, I had a perfectly good import, with a clean and pretty threaded comments hack, back in February, the last time my friends at Six Apart pissed me off. I like open source, I like nightly builds and submitting patches instead of feature requests. I’d love the idea of being able to work my way into the development team, to be able to actually change the core of the app without moving to the Bay Area. But.

My friends get to make mistakes.

I’m not a patsy. Call me for a ride home from the bar and then leave with a stranger you pick up while I’m on the way, and the next time I’ll make you beg, and the third time I’ll make you call a cab. And if my friends at Six Apart ever do anything like letting people work (and it is work) for them beta-testing, thinking they are working on a free-as-in-beer release, only to find that the beer tent they helped set up will be charging $100 a pint with one free shot-glass sample, believe me, you will not even exist to me any longer.

But, my friends get to make mistakes. For now, I’m sticking. Next time they get so far away from the Cluetrain that they can’t even hear the whistle, I might have to count backwards from 1000 in Urdu, rather than 500 in Spanish, before I post, but I’m sticking.


Comment by Jacques Distler #
2004-05-16 22:12:21

Just out of curiosity: threaded comments were preserved by the MT-export/WP-import tools?

Comment by Phil Ringnalda #
2004-05-16 22:25:24

Oh, not hardly. First I had to hack the MT export to export comment ids and parent ids, then I had to hack WP to do threading, then I had to hack the WP import to preserve threading, and hack the pings into a new set of numbers higher than any existing comment, since MT thinks they are separate things, so you have a ping id 5 and a comment id 5.

And I didn’t realize until just this second that I still was breaking incoming links to pings, since they are currently #ping754. No biggie, I guess, since most links to them are just automatic linkbacks, but it’s not quite perfect. Maybe next time I’ll do it better (since I nuked the way I did it last time with an overagressive rm -rf).

Comment by Jacques Distler #
2004-05-16 22:39:29

And the comment subject headers?

I’m guessing that a MySQL tool to convert MT tables into WP tables would have been easier (and might stand a better chance of not nuking the ”” separators in PGP-signed comments).

Comment by Phil Ringnalda #
2004-05-16 22:47:55

Can’t remember what I did with subjects: possibly looked at my import and said ”D’oh!” You’re probably right about skipping the export/import tools. One of the sweetest ways I’ve ever seen to move out of MT was someone who just wrote a template to publish MySQL inserts.

Comment by Geodog #
2004-05-16 23:03:00

Nice post. I like the combination of righteous anger and loyalty. I
especially like the counting backwards — something I should have
done before my first post on the subject.

I’ve met both Ben and Mena and had some email exchanges with Mena,
and they do seem like very nice people, but when they screw up, it is
a big one. Saying ””The next version of Movable Type will be version
3.0, a significant and free upgrade.” and then announcing what they
did was clueless at best.

I’m in wait and see mode myself. I already run a pMachine site, a
Wordpress site and a MovableType site, and I don’t see any need to
switch any of them today. I want to see how this plays out, and what
steps they take to recover. It’ll be a while before I recommend MT to

Comment by Geodog #
2004-05-16 23:03:56

anyone else, though.

Comment by Paul #
2004-05-16 23:38:31

Quite the best reaction to the whole thing I’ve seen.

I didn’t actually intend to move until I installed WordPress and went: Ooh, new, shiny :)

Comment by Phil Ringnalda #
2004-05-16 23:49:22

And then you type up your first entry, and click Save, and say ”What? You’re done already?”

I know. But then, in the depths of Friday, I was trying to get to one of my entries, which try to connect to a MySQL db for the referral script, watching the beachball spin because my host is very lame for brief periods, over and over, and I thought about not having caching until Shelley gets done hacking it in…

Comment by Paul #
2004-05-17 14:15:40

Twice I’ve thought; ”What’s gone wrong, it’s come back too soon”. But it might be nice to get something half baked.

Comment by Donna #
2004-05-18 13:37:29

And then you type up your first entry, and click Save, and say ”What? You’re done already?”

I know, I thought ”It’s broken!” But it’s not. WP is pretty shiny, but I’m waiting for the 3.0 feature release.

Comment by Michael Pate #
2004-05-17 03:27:51

Movable Type 3.0 and on will not be the solution for everyone, and that’s okay. For some users, TypePad makes more sense. For others, non-Six Apart tools make more sense. – Mena Trott

I had forgotten about this passage until someone pointed it out somewhere.

Comment by Shelley #
2004-05-17 05:01:42

Well said Phil. But I think I stopped seeing Six Apart as just ”Ben and Mena” when I saw the photo of their deal with the largest ISP in Japan.

Now I see Six Apart as Six Apart. As Mark says, nothing personal to Ben and Mena.

As for being friends with Matt of WordPress, again I guess I don’t see the software as a matter of friendship. Besides, Matt will probably regret me moving over (if he doesn’t already). You know me, I wear on people.

Comment by Phil Ringnalda #
2004-05-17 06:57:03

For me, it isn’t that the software is about friendship, it’s that the community is about friendship. There are a couple of communities where I could be useful and productive, but because someone on top rubs me so very much the wrong way, I don’t feel the least bit like doing anything. Or, worst of all, I want to, and keep coming back for another little slapdown.

I’m not looking for all sweetness and light, more like the way you and I have bounced off each other often enough to grind some of our rough edges off, to the point where we fit together pretty well. Maybe the business will grow enough new rough edges on 6A that I can’t find a place to fit anymore, but among the things that tens of thousands of switchers show is that I’m not trapped. I may add a few more silken threads from a few more plugins (bleah, now I’ve got revision data to migrate and a need for a revision plugin for WP, since the last time I started to leave), but I’m not trapped, and a tough migration just gives you something to hand to your new community right off.

Comment by Mark #
2004-05-17 08:22:54

Bleah, that was one of the things that got cut from my 1.0 migration: my revision data. It’s still sitting there in my MT database, waiting for an appropriate plug-in and an export script.

First big community project in WP: a complete data export template that actually works (unlike, say, MT’s export, which failed on my entries with —- in them, and didn’t export my timestamps correctly, and doesn’t include entry IDs or other useful things). Preferably a template built on Atom. Wasn’t that one of the original Holy Trinity of goals for Atom? Syndicate, edit, export. Seems like an appropriate time to work on that.

Comment by Phil Ringnalda #
2004-05-17 08:49:17

Yeah, I can understand Ben thinking it would be safe to use dashes because ”who would ever PGP sign their blog?”, but I choked on several entries where I was talking about how to import comments to MT, showing the template format, until I finally went back and entitized the dashes.

Atom export: absolutely. Not only does it play to the strength of XML (knowing what to escape), it ought to point out a few more things that nobody has remembered to put into Atom. Which reminds me that there’s a message from Sam from several months back about the things someone noticed were in their RSS feed but not their Atom feed, that I don’t think ever got finally followed up.

Comment by Jacques Distler #
2004-05-17 10:07:39

So here’s my wish-list for such an export function

  1. Text-filter aware. Exports the entry_convert_breaks field for entries and the comment_convert_breaks field for comments
  2. Threaded-comment aware. Exports the comment_subject and comment_parent_id fields.
  3. Use some real XML-format (Atom?), so that it does not screw up on something bone-headed like PGP-signed comments.
  4. Don’t screw up things like white-spaces, so that PGP-signed comments will still validate when re-imported.
  5. Preserve comment_id and tbping_ids so that permalinks to individual comments and trackbacks can be reconstructed.
Comment by Matt #
2004-05-17 22:01:31

I’m not sure why IDs need to be preserved. They’re really only useful to the application. If you use them in your permalinks, then that’s a flaw in the site, and probably not a good idea to continue. It’s not hard to migrate because you can use MT one last time after you export to generate a template to redirect old entries to their new URIs. There are a couple of tutorials on this linked from

Comment by Phil Ringnalda #
2004-05-17 22:11:39


How are you going to redirect that link, once you realize that IDs are only for the app, and shouldn’t ever appear in public? Remember, you don’t get to see the anchor…

You can certainly avoid numbered anchors, when you are starting from scratch, with something like name+timestamp, but that’s starting from scratch.

Comment by Jacques Distler #
2004-05-17 23:00:19

I should point out that the comment permalinks on your own blog use what I surmise are comment ID numbers.

I totally agree that this is a bad practice, and will quit doing it someday.

But, in the meantime, I do not desire to break my existing comment permalinks, so I want to preserve the ID numbers.

Comment by Jacques Distler #
2004-05-18 00:07:03

Which poses the interesting question. Given that Matt has started out using comment ID’s as permalinks, can he ever redeem himself without breaking those permalinks (short of retiring his current blog and starting a new one)?

After all, mod_rewrite (say) never ”sees” the fragment identifier, and so cannot map it to something more politically-correct.

Comment by Shelley #
2004-05-18 07:18:33

Then what would you all say is the better fragment to use? All the weblogging tools I know of use comment id to identify the specific comment, if comments are permalinked.

What would be better? Forcing people to title their comments? Use their name (one comment per thread, could be interesting)? The date string(oh won’t that be the ugliest longest URL in hitory).

There’s nothing wrong with using comment identifiers as permalinks, same a there’s really nothing wrong with using weblog identifiers as URLs, except that they’re not portable across tools.

But the users have to work around weblog tool builders differences in import/export, because it’s not in the best interests of the builders to do what they can to ensure portability–they don’t want people to use other tools.

This all goes back to the original need for the Atom project–ensure transparency between the tools, not to mention portability. We should have spent more time on the data model and understanding the business, in order to discover these issues from a business perspective, not specific to a tool or implementation.

But we rushed into hacking a new syndication feed instead, and hacking an API, and people are still fumbling around, dealing with export/import and what to do about comment permalinks, and what is a ’good’ URL.

So we’re stuck with comment permalinks never being transparent or portable, and if people link directly to comments, chances are that link is going to break someday.

Comment by Jacques Distler #
2004-05-18 07:47:00

Then what would you all say is the better fragment to use? All the weblogging tools I know of use comment id to identify the specific comment, if comments are permalinked.

Phil already answered that question: use name+timestamp (right down to the second).

Nobody said that the permalink had to be ”pretty”, merely that it has to be unique, and independent of the back-end implementation details of the CMS (hence, portable across CMS’s).

Comment by Roger Benningfield #
2004-05-18 08:06:19

”…use name+timestamp (right down to the second).”

That assumes user names are being tracked. I know that with JournURL, all unregistered comments are attached to a ”guest” account… and Blogware seems to do something similar, ’cept using an ”anonymous” account.

Comment by Jacques Distler #
2004-05-18 08:29:56

Unless you get more than one anonymous comment per second on a given entry, that’s still not a problem. We’re just trying to construct a unique fragment identifier for comments on a given entry (whose permalink provides the rest of the URI).

I suppose you are now going to ask about blogging systems without individual entry archives. I don’t know how to construct permalinks to comments on such systems.

Finding non-crufty fragment identifiers is the least of your problems there.

But for not-totally-foolish systems

would not be an unreasonable permalink to your comment.

Comment by Matt #
2004-05-18 11:12:33

Look for this in 1.2.

Comment by Jacques Distler #
2004-05-18 11:39:02

You da man!

Comment by Shelley #
2004-05-18 13:38:36

I think you all missed what I was saying. Take a look at Phil’s URL.

Now port that into WordPress. Go ahead, I’ll wait. Notice any problems? Something to do with underscore versus dash?

Until there’s a definition that all weblog tools can agree on (or enough to make a difference) as to a ’cruft free’ URL, attempting to play at the fragment level doesn’t solve any problems other than we have eliminted comment identifier.

And consider this — why hasn’t Phil made this change? Is it because if he rebuilds his weblog, the new fragment will be used, and the old fragment is no longer any good?

It’s already too late to abandon the comment identifier permalink, we’ve been doing these comment things a couple of years now. What we need is a way of persisting the comment identifiers when we move between weblogs. But that means coming up with an agreement that all weblog tool builders will adhere to when it comes to import/export…

which brings us all the way back to original point.

If Matt were to change this in WordPress 1.2, he’d breaking links within existing WordPress implementations. So here’s hoping he’s not ’de man’.

Comment by Mark #
2004-05-19 20:47:48

I ported all my underscore-ridden permalinks to WordPress. Custom modification to import-mt.php to capture keywords and put then in post_name, and a custom sanitize_title_mt_style() function to reconstruct permalinks of posts without explicit slugs, but it worked.

All new posts will have explicit slugs, which perhaps someday I will port to another system.

The fragment identifiers are a good point. I screwed myself with comment IDs, and didn’t port them over. Oh well, nobody really linked to specific comments anyway. Except that one Slashdot article. (No, I’m not kidding.)

Phil, you should write a ”100 ways to screw yourself without really trying” article.

Comment by Phil Ringnalda #
2004-05-19 21:41:22

Heh. I write that article in pieces, all the time.

Oh, you mean knowingly, saying ”don’t do this, or you’ll be screwed?” Say, that might be better!

Comment by Sam Ruby #
2004-05-19 22:00:49

Mark – whereas you link to specific comments on *my* weblog all the time. Perhaps *you* should write a ”100 ways to screw your friends without really trying” article.

P.S. :-P

Comment by Phil Ringnalda #
2004-05-18 08:15:03

A discontinuity. In MT, a plugin saying if ($e->id < 2970) , in WP… er, I’d have to look it up. Having sinned once, you can never become pure and portable again, but at least you can become a better example to others, as long as they don’t look to closely at your past.

Comment by Jacques Distler #
2004-05-18 09:44:33

All this discussion about non-crufty comment permalinks is very interesting but, of course, the real reason to preserve comment_id and comment_parent_id is to preserve comment threading.

And if we preserve the comment-IDs for the purpose of threading, then the discussion of their ”cruftiness” when used as fragment identifiers for permalinks becomes moot.

Comment by Phil Ringnalda #
2004-05-18 13:13:55

Ah, but you don’t need to preserve comment_id to preserve threading, you only need to preserve comment identity. Doesn’t matter what your export uses, it can be tag: URIs using the same thing as your permalinks in an Atom export, as long as your import recognizes that it needs to translate from identity in the file it’s importing to identity in its own data.

Comment by xian #
2004-05-19 15:50:48

Yes, smooth import/export, you own your own words ’n’ data, etc., was basically the only thing that got me on the Atom train (as far as I’m concerned the world doesn’t need another blog API and or syndication grammar all that bad).

How about a tool that converts MT databases to RDF triplets and then lets the Ftrain sitekit snarf it all up (drool)?

Comment by Geof #
2004-05-17 08:47:23

Phil, as a WP user: I’m glad for you. Please use what works for you. If a non-free/FREE/FrEe system makes you happy–USE IT!

6A made a business decision. You, as a user, get to make a business decision of your own. [Please stop me before I allude to The Godfather, eh?]

Comment by Anil #
2004-05-17 14:00:32

Phil, it means a lot to see you write this. I don’t think anybody’s arguing that we didn’t make a mistake (or a bunch of mistakes, or a bunch of big huge mistakes, or however you want to phrase it) but, for example, a lot of the botched communication stuff is things that were personally my fault. I hate that all the hard work that so many on our team did is overshadowed by some mistakes that happened late in the launch cycle.

I like to think that I’d be forgiving of people who’ve tried to do right by me for two and a half years, but I understand that some people wouldn’t want to give us the benefit of the doubt. But, after all, this *is* a developer release, and somebody like you can do things that you couldn’t do before (not just technically– you can sell services around MT now, like installation or plugins, and you can become a hosting partner for MT) so hopefully that makes up for things a little bit.

The goal of this release was to show the developers who’ve been our friends over the years, despite the fact their hands were largely tied, that we were trying to free them up to do even cooler things. Maybe in time that’ll become clearer.

And, since I’m not involved in running or judging the plugin contest, I can say that I hope you enter and get yourself your share of the goodies. :)

Comment by Jacques Distler #
2004-05-17 23:19:14

But, after all, this *is* a developer release, and somebody like you can do things that you couldn’t do before (not just technically– you can sell services around MT now, like installation or plugins, and you can become a hosting partner for MT) so hopefully that makes up for things a little bit.

And, since I’m not involved in running or judging the plugin contest, I can say that I hope you enter and get yourself your share of the goodies. :)

Oh Joy! Now I can make money developing plugins for MT.

Thanks. I’ll keep my day job.

I can’t speak for Phil, but I didn’t get into developing for MT because I thought I could somehow make money off it.

To the contrary, the thing that worries me the most is that people, unhappy with the licensing restrictions, will flee the platform and my work will have been wasted.

If not with MT 3.0, then with MT 4.0 or …

Already, the idea of using MT 3.0 as courseware seems to have been rendered prohibitive by the new licensing terms.

I want 6A to succeed as a company. But I also want to know that I am not wasting my time.

2004-05-17 01:01:53

Nice slap

Nice slap Six Apart. Don’t expect me to turn the other cheek. [Update] Please read my clarifications on this post, in the comments. [Further update] – Phil Ringnalda puts my…

Trackback by Musings #
2004-05-18 08:49:37


MT 3.0 was released this week, and the announcement was greeted with an unprecedented furor. No longer would MT be…

2004-05-18 20:08:39

Making Me Scarce

The time that I might have spent blogging, the past couple of days, I’ve spent weeding the comments section of spam. As I go, I close the comments on most of the posts that the spammers have struck, to cut down the number of vulnerable posts. Tha…

Trackback by Opinions of the Wolf #
2004-05-18 22:48:12

Using MovableType

Six Apart are wondering just what the hell people have been doing with MovableType in an effort to help streamline their licensing. The definition of exactly what constitutes a weblog is actually more confusing since Six Apart clarified it. Currently M…

Trackback by #
2004-05-18 23:02:57

The Whole MovableType Mess

I’m a MovableType user. Version 2.661 powers this site. The software is great, powerful, and has worked well for quite a while. I, like most of the world, have been…

2004-05-19 07:37:03

Movable Type – some posts by others

There are no poor Social Software Scientists by Shelley (Burningbird) MT 3.0 Backlash and Trackbacks by Liz (MANY2MANY) Moving from Movable Type to WordPress by Carthik (CARTHIK.NET) Never Kick a Sleeping Giant by Shelley (Burningbird) More on Movable …

Trackback by Maximum Aardvark #
2004-05-20 10:50:44

The week that was

I’ve been in relative seclusion since the weekend, unpacking from school while concurrently repacking the stuff in my room so that Amanda and I can paint it this upcoming weekend….

Trackback by Geodog's MT Weblog #
2004-09-01 20:12:55

Six Apart doesn’t want weblog professionals to talk about money on the professional network

Six Apart President Mena Trott announced the Six Apart professional network yesterday, using these words: If you’re interested in making money with weblogs, making cool tools, or just making your work with weblogs easier, the Professional Network is de…

Name (required)
E-mail (required - never shown publicly)
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <del datetime="" cite=""> <dd> <dl> <dt> <em> <i> <ins datetime="" cite=""> <kbd> <li> <ol> <p> <pre> <q cite=""> <samp> <strong> <sub> <sup> <ul> in your comment.