Another pocket of slack stamped out

The end of free has come to Movable Type. If you want to upgrade and be honest, it’ll cost you. A lot. I am disappointed.

I am an enthusiastic user of MT2. It’s a good program. I’ve encouraged other people to use it, and via the MT support forum, tried to help the community a little. But based on my own current usage, I’d owe Six Apart $150 if I upgraded to MT3: their license is based on the number of authors and blogs you host, rather than a more direct metric, like the number of support requests you make. And my usage is entirely for vanity and community projects: it’s not like I make a dime off any of this. That’s a lot of money to spend on free expression.

Even that might not be too bad if I perceived much value in this upgrade. I don’t. As useful as MT2 is, it’s getting long in the tooth, and there are features that users have been clamoring for for years, few if any of which appear in the new version apart from comment management.

For the time being, I’ll sit pat. MT2 works, and it isn’t going to stop working. But there are features I was expecting in MT3 that aren’t there, and (as I understand it) will not be there unless developed by third parties. Switching to a different system–even an open-source one–would be expensive for me in terms of time: I’ve got a lot invested in tweaking MT and learning its ins and outs, and getting to a similar level of proficiency with a different system would take a long time. So in that sense, it would be reasonable for me to pay $150 to upgrade (if I had a reason to), but only because they have me over a barrel.

Later: After the barrage from the blogosphere, Six Apart has backed off a bit–giving you more for your money and allowing a more expansive definition of a “blog.” I congratulate them for being responsive. With a little creative counting, I could probably sneak in on the $100 license now. Still not exactly cheap.

Distributed comment authentication

With the introduction of Typekey, the discussion of blog-comment validation and moderation has kicked into high gear.

I applaud the nice Six Apart people for doing something to turn back the tide of comment spam and crapflooding. And while I wouldn’t necessarily discourage anyone from using Typekey, I think we might be able to do better.

I’d like to see a social-networked, peer-to-peer, graduated comment-moderation technology (is that enough buzzwords?). Here’s what I mean.

  1. I would be able to whitelist or blacklist commenters. I’d actually like something a little more fine-grained than just blacklisting: I’d like one class for trolls, another for spammers. Trolls might actually have something interesting to say once in a while, spammers (almost by definition) don’t, so I might want to put troll postings into a moderation queue and simply shitcan anything from a spammer.
  2. I would be able to publish my whitelist, troll-list, and spam-list as separate items.
  3. À la LOAF, I would be able to subscribe to someone else’s various lists. If I know “I can count on Alice’s whitelist”, then I’d automatically whitelist anyone she does. One might be able to take this a step farther and use “two degrees of whitelisting/blackisting.” If I really, really trust Alice, I might be willing to trust all the whitelists/blacklists that she subscribes to herself. Of course, we’d need some kind of RSD format for publishing our whitelists and blacklists to make this work. I suppose you could get into the question of whether you want to reveal to others whose whitelist you subscribe to, but frankly, that level of cliquishness strikes me as way too silly to worry about.

Restructuring

The front page hardly looks different, but I’ve completely reworked all my blog templates.

For one thing, I’m using individual entry archives. I’ve decided that makes the most sense. I’ve kept a calendar view (derived from Mark Pilgrim’s) for my monthly archives, along with the category view of the archives.

I’ve installed a couple of patches to thwart blogspam. And to deal with MT’s dodgy linebreak conversion, I’ve installed bloxpert, thanks to which the pages I’ve cursorily checked are now valid XHTML.

The downside to this is that all inbound links will break. Sorry. I may try some kind of mod-rewrite trick to divert inbound links to the correct calendar page.

MT Users: Install v2.66 now

The people bitch, Ben Trott listens. Movable Type has been updated to 2.66, mostly to add anti-blogspam controls.

  • URLs are passed through a redirector, so as to negate any googlejuice that spammers might hope to gain. This just made things more complicated for David Sifry’s Technorati.
  • You can add a ThrottleSeconds value to your mt.cfg file. Mine is ThrottleSeconds 60, for whatever it’s worth. I’d prefer for this to be progressive (ie, 30, then 60, then 120, etc) and to have an auto-ban feature, but this is a good start.

Disabling comments on old blog posts: questionable wisdom

There’s a lot of talk among hardcore bloggers on the subject of the best way to deal with spam in their blog comments. Some people advocate turning off comments entirely; others suggest turning them off after the post reaches a certain age. It seems that comment-spammers mostly focus on older entries–perhaps simply because statistically, most entries are old, but perhaps this is intentional, in the hopes that the blog owner won’t notice comments on posts that have scrolled off the front page.

There’s also been a lot of discussion of power laws and inequality.

How one runs one’s blog is one’s own business, of course, but it’s a shame to disable comments on old posts. Jason Kottke famously had a thousand-comment-long discussion following his review of Matrix Reloaded.

I’ve observed a vaguely similar phenomenon in a post I made after getting my wisdom teeth out. A google search on the phrase “wisdom teeth out” brings up the comments on that entry as the third result. People drop by to relate their own experiences getting their wisdom teeth out: it’s not a discussion, exactly, more a repository of anecdotes, mostly by people I don’t know and have no other contact with. Obviously this couldn’t happen with closed comments.

What’s also interesting is that this must be a self-reinforcing tendency. I have no way of tracking how the same comments page has been ranked in Google’s results over time, but I can’t imagine that it has always been #3. The more people that comment there, though, the more that page is likely to be ranked highly as a result for wisdom-tooth-related queries.

Foafster

We’ve got a slew of social-network websites, and they all make you go through the same song-and-dance. Each has some pros and cons. They’re fun, I suppose, but what do they really do? They provide certain opportunities:

  1. for bragging about the size of your personal network. This is on par with who sits with who in the high-school cafeteria;
  2. for hitting on friends of friends, so that you feel like you’ve got an “in” with someone that is more personal than using typical online-dating sites (Friendster);
  3. for business match-making (Linkedin);
  4. for seeing what your friends are up to and organizing group events (Tribe and Friendster).
  5. for creating forums for affinity groups (Tribe and Ryze);

We’ve also got FOAF, which overlaps with what Friendster & Friends can do. There are a lot of drawbacks to FOAF, not the least of which is that it is damn complicated. Hand-coding a FOAF file is much more tedious than coding HTML, IMO. There are some rudimentary tools to help one generate the file, but these are barely a start.

Another problem with FOAF is that you need a place to store your FOAF file. I’d venture a guess that most Friendster users do not have their own websites, and do not have a burning desire to create one. But they obviously are interested in participating in social networking. Conversely, most people with their own websites–even people with a strong interest in social networks–don’t have FOAF files. So FOAF just hasn’t gotten much traction yet.

A third problem with FOAF is that FOAF files just sit there–they don’t do anything. You need specialized search engines to traverse these FOAF files and display interesting information about them.

A fourth problem is that, even with these search engines, you’re barely satisfying the first one point in the above list. But it wouldn’t take much extra to cover all those bases.

There is an opening here for a Friendster-like hosted service or user-installed tool (which I will refer to as FOAFster) to use FOAF and other standards to create an open system that helps people use FOAF more efficiently. As long as it is open, with a published API or plugin architecture, it doesn’t need to do all things for all people. This would be a specialized content-management tool that might be similar to a blogging tool in some ways (and might include rudimentary blogging tools). More important would be something like trackback for getting information from one FOAFster to another. This would be simplified by the existence of a central pingable resource like blo.gs but for FOAF, so that when Alice posts her FOAF file, her FOAFster tool can check the centralized site to see whether Bob has a FOAF file too, and if so, where it is. She could then ping Bob directly to let him know “I am marking you as a friend in my FOAF file.”

To cover point 1 properly, FOAF explorers need to show whether one person’s assertion of friendship is reciprocated. Exploring one-way links would be useful too, and could replicate the two-way checking that all the social-network services require: a good FOAFing tool would keep track of people claiming you to be a friend, and let you add them as friends to your FOAF file.

To cover points 2 and 3, the FOAF vocabulary would need to be extended a bit to include what kind of people you’re interested in meeting, and for what reason, eg, activity partners, hot monkey love, or professional contacts, and specifically in what context. I can imagine a new domain in FOAF that would look something like this:

<foaf:wanttomeet>
	<professional>
		<client>translation</client>
		<vendor>graphic design</vendor>
		<vendor>editing</vendor>
		<colleague>translation</colleague>
	</professional>
	<social>
		<partner>road cycling</partner>
	</social>
</foaf:wanttomeet>

Obviously this gets into hairy problems of defined vocubularies, but these problems are not insurmountable.

Point 4 can be easily covered by tracking RSS feeds of friends. Looking at the nitty-gritty of implementing this, there are several possible paths to take, each of which have their merits:

  • Include a simple blog-like tool for publishing announcements in FOAFster.
  • Suck in the RSS feed from another blog for this purpose
  • Accept trackbacks from another blog for this purpose
  • Accept iCal files
  • Acept Outlook schedules

If the tool could also push content from friends into one’s own iCal/Outlook, that could be very powerful.

FOAF already has several constructs for defining group membership that cover point 5. Again, the existence of a central pinged site that can keep track of what groups exist would be very helpful. Alternately, or additionally, there might be “group host” sites that would have pointers to group members, records of discussions, etc.

This doesn’t quite solve the problem of the group having a discussion forum, but this could also be managed similarly to the announcements in point 4, but with a little added complexity because the discussion thread would need to be maintained. This would probably be done by trackbacking to the previous post. The group host site would also need to be trackbacked or pinged on every group-related post to maintain a record. This gets a little hairy–I’m not aware of any discussion systems that are completely decentralized and distributed.

It’s not clear whether yet another social-network tool will solve the problem of proliferating social-network tools, but until existing ones are designed explicitly for interop, I don’t see any other way. I don’t have the programming chops to make this happen (not yet, anyhow), but I can picture it pretty clearly. I can imagine a tool that would sit alongside Movable Type or other blogging tools to help us manage our personal and professional lives.

LaterLooks like some blowhard has decided he invented this idea–see the bizarre “warning to copycats & clones”)

More comment spam

I thought I was safe. I had done most of the smart things to avoid comment-spam: renamed the link to comments, renamed the comment script, and installed the excellent MT-Blacklist

Then today, I was barraged with about 100 comments in a short period of time (I didn’t check how long it took). This was clearly being run by a script. The suppurating sore of a wretch who attacked my site (in violation of terms clearly posted in the comments pages) lives at IP number 62.213.67.122; this traces back to a machine behind the rusonyx.ru domain.

Baghdad Burning

Many of you are probably familiar with the Where is Raed? blog, by Salaam Pax, the “Baghdad Blogger.” He’s the best-known one, but not the only one. Another is Baghdad Burning. And, fascinatingly, there is a another site, also called Baghdad Burning (note the one-letter difference in the URL), with an identical layout but a distinctly pro-American slant and a distinctly different blogroll. It’s propaganda. If it isn’t being put out by the U.S. government, it is being done by someone keeping a close eye on the play-by-play, with plenty of time to spare and information on hand. Interestingly, the copycat blog appears to predate the authentic one (blog entries can be back-dated). The copycat appears to have unthinkingly copied irrelevant bits of the original’s template, including a link to “squawkbox.tv”, a comment-hosting service. Neither site currently uses the service; the legit site doesn’t have the link on the current page; the copycat does.

Update: There’s a blog tracking the copycat blog.

Revugator

An article on online reviewers has prompted me to get off my ass and write up some thoughts that have been percolating in my head for a few days.

If you are an enthusiastic consumer, there is no shortage of opportunities for you to write up reviews of the products you love or hate. Epinions has built a business out of hosting reviews. For Amazon, reviews are one advantage that it has over bricks-and-mortar retail outlets. And there are lots of other venues for reviews.

In some ways, though, a blog would be a better tool for writing reviews: you own the review, not the site hosting it. You’ve got all your reviews together in one place. Once you wrote the review, though, you’d want people to be able to see it at Amazon (or wherever), so there would need to be a review-aggregation mechanism. Austin Bloggers already works this way, more or less. I have Movable Type set up so that whenever I write a post in the “Austin” category, my blog pings Austin Bloggers, and Austin Bloggers creates a link back to my blog. And with All Consuming (which is very cool), we’ve got the nucleus of something like this happening.

But this is an area where the blogosphere needs to move forward if blogs are going to become a vehicle for reviews. Let’s look at what needs to happen:

Review profiles
Currently, blogs are set up as general-purpose writing tools: they don’t have specific fields for specific bits of information. Movable Type is going to come out with a “Pro” version that will support custom fields. I think of a set of custom fields as a “profile,” and I think this is the next thing in blogging. Bloggers writing reviews will need a “review profile” in their blogs with fields for the item code and rating.
Identifier
There needs to be some uniform way to refer to the product. This could be something like a uniform product code or an ASIN (though I don’t think this would work for movies). And there needs to be a standard way to enter this and publish this in a blog. As a practical matter, there might need to be multiple identification schemes; you would identify both the item and the scheme (eg, “this product code 12345, and I am using the Amazon standard identification number scheme”).
Ratings vocabulary
Not everyone uses the same scale for ratings. Some would give a simple thumbs-up/thumbs-down. Others would give several numeric ratings for different aspects of a single product. In order for what review aggregation to work, there needs to be a uniform ratings vocabulary. Again, there should be a standardized field for this.
Aggregation API
Amazon already has a public API. There should be a mechanism for pinging Amazon (or whoever) “hey, I’ve written a review” so that it can aggregate your review into it’s product listings. Although All Consuming is run by an Amazon employee, even reviews posted there do not get into the Amazon database.
Feedback mechanism
Amazon makes it possible to indicate whether a review-reader finds a review helpful; Epinions goes further, and lets the reader write a review of the review. There would need to be something like trackback to get this information back into your review.

In theory, all this data structuring could be avoided if the aggregating entities used million-dollar search instead of million-dollar markup. It might be possible to just include a reference to an ASIN in a blog entry, ping Amazon, and have it figure out “hey, that’s a review of such-and-such” and to further use natural-language processing to figure out whether I liked it or not.

Scroll to Top