Elements of a Good Band Website

Okay, so here’s a rant that I’ve had boil up in my head for the better part of a year or two, and finally, well, I’m here.

If I made a band’s Web site, I would have, at a minimum:

  1. Lyrics to the songs. This is so unbelievably important, and it’s so unfuckinglybelieveably frustrating that more bands don’t do it. Let me give you a hint, bands: hiding your lyrics from the Web will just have some fanboy put them out there for the world to see, and the people who will get the traffic [and the ad revenue] are the shady jerks with the “Congratulations, you have won a free Nintendo Wii!” ad that screams at you the moment the page loads. You want that traffic. Why? You want them to know who you are.
  2. Tour date listings. Essential. It’s a pain to update them, I know. There’s many apps out there for that, but I would choose Yahoo!’s Upcoming if I were you. Upcoming is searchable, scriptable, extensible, and also pretty darn easy to update. Then there are folks like me who use All Crazy Style to mash up Upcoming data with Last.FM plays to find out when bands I like are playing near me. Real simple: you load the data in Upcoming, and you can spit it out on your site. You can update Upcoming from anywhere.
  3. Links to listen to your stuff. Don’t fire music at me when I load your site. I know you’re a musician, but the Web is largely about text. Let me choose to listen, and give me that option, but that auto-load bullshit is for MySpace. [And don’t get me wrong, MySpace has value.]
  4. Links to buy your stuff. These need to be everywhere: main site, discography pages, album pages, individual song pages. If you create a page per song, that individual song page should have a link of a place to buy that song—iTunes, eMusic, what have you. You want to cater to the fan coming in to Google some obscure lyric they heard on a commercial or in a Zach Braff vehicle—they’re gonna buy that shit if you give them half a chance.

The way to think about it is this: most people aren’t going to load up your main Web site and have that be their entry point. They just aren’t. Google is going to send them to you. So, think about a song you really love, Mr. Band Guy, and Google that. So, if you love Led Zeppelin’s “Stairway to Heaven”, you get Last.FM’s page for the song … which has … BINGO … iTunes link. Last has done the heavy lifting for you here. But they’re gonna do that for Page and Plant … chances are they won’t for your garage band.

Some thoughts: if you get a song picked up for Grey’s Anatomy or Kyle XY or whatever, you want to 1) have that fact listed on a page about that song, and not just in a news feed/blog 2) lyrics of the song on that page, so the Googlers who are bad with names but good with ears for mumbled lyrics can find it and 3) a quick, fast way for them to buy that song and 4) relevant links on that page to find out more about you. The scenario is this: “I heard this killer song on Scrubs last night. Let me find it on Google … ooooh, there it is. 99 cents? Sure, I love that song. Hmm … who is this guy? Let me read more about him …”

It’s hell getting found in the music business. It’s hell getting found in the blogging world, too—which is why this entry is named like it is. Chances are that, if you’re not one of my regular readers, you got here from the Goog, too … so you should be nodding your head.

Okay, okay, okay, examples.

Bad: M. Ward: LOUD MUSIC, can’t find shit. Damn shame, because I love M. Ward.

Poor: Shearwater, which has a lyrics page for their stuff, but … in PDF. I know, you want art. I want to cut and paste the lyrics into iTunes. Don’t make me work, dammit.

Okay: The Mountain Goats, who have lyrics for The Sunset Tree available, but that page does not get you anywhere on that site. There isn’t a link to be found—not to the rest of the site, not to a place to buy the song you Googled, nothing. Kudos for posting the links, though.

Good: Andy Osenga, and not just because he uses some of my photos on the site. But he’s still not to great, because lyrics … Andy Osenga lyrics on Google don’t get you anywhere near him. [Or, for that matter, near andrewosenga.net, which is a problem Chris Hubbs and I should fix…]

Great: well, hell, no one really comes to mind. Leave suggestions for good band sites in the comments.

Folks, I know … this shit is hard. But it makes you money, so you better work at it.

(Re-)Presentation of Self

I was reading an invigorating [to me] interview with Adam Greenfield about his upcoming book, Everyware : The Dawning Age of Ubiquitous Computing, and I ran across two consecutive question-and-answer sets that made me really think about the danger of what we’re all doing here on the Internet:

B&A: Then let’s talk about opting out. When we are in control, we have the option to hide, to consider which face to put forward, even to manipulate. Will we still have this ability? And if not, are people ready to lose this control?

AG: I’m not so sure we will retain much of this ability, which in sociology is generally referred to as “presentation of the self.” With so much information about our past and current activities available to be searched, cross-referenced, and made available in real time, when we meet someone for the first time, we are likely going to lose control over the image we present to them.

Imagine what this will look like in practice. Whether you are interviewing a prospective new hire, meeting a potential romantic interest for the first time, or simply sitting next to someone on a plane, you no longer have to take a person at face value. It’s easy to see that this can occasionally be very useful, if you happen to be on the empowered end of the transaction. The trouble is that this ambient intelligence—facilitated by a ubiquitous deployment of informatic systems—cuts both ways.

And with the ability to control how others see us, I believe that we lose also a certain protective and beneficial hypocrisy that allows us to function as a society. We all, without exception, have habits, behaviors, experiences that we don’t necessarily want to share with the wider world. When you evert these experiences, and archive them, and tag them with metadata, and make them persistently accessible, it gets very difficult indeed for anyone to maintain the unimpeachable public façade our current mores require of us.

This is something that people who consider ubiquitous computing from a purely instrumental or technical perspective frequently miss: it’s not just a change in the way we use computers, it’s an alteration in some of the very foundations of the self as it’s been constructed in the West for the last few centuries. We’re in for a wild ride.

B&A: You know that when we’re doing something “on the record,” we tend to act and speak a bit differently, even in contrived ways at times. So how will this awareness of everyware affect how we present ourselves?

AG: Well, I think you’ve hit the nail on the head. Anyone who’s had, for one reason or another, to get used to being in front of cameras or microphones with any degree of regularity knows how hard it is to be “natural” when confronted with the prospect of being recorded, or transmitted to a large audience, or both.

When artifacts like cameras and microphones (to say nothing of sensors capable of recording one’s position and location, and verifying one’s identity via unique biometric signatures like retinal patterns or even gait period) are embedded in the objects and surfaces of everyday life, we all potentially become subject to the most intense kind of mediation. Barring some regulatory or other intervention, we’ll be forced to assume that we’re at least potentially “on,” just about all the time. And the sheer ubiquity of output modes offered by the robust deployment of everyware means that whatever once goes into the network can come out again just about anywhere.

Among other complications, this strikes me as being very likely to give rise to many of what MIT sociology professor Gary T. Marx calls “border crossings”: irruptions of personal information at an unexpected place or a time, in an unexpected context. Again, I don’t think we’re even remotely prepared for what this is going to do to social cohesion.

[Emphasis mine on both parts.]

As I had folks over this weekend, I was interested, as usual, to hear Jeff and Adriene talk about marriage. Adriene related a hilarious anecdote from their second week of marriage regarding how Jeff likes his sandwiches made. It’s such a trivial thing, but … it’s important to us.

I sometimes write about the secrets that we keep from others and even ourselves. I’ve heard many folks—Jeff and Adriene, Stephen and Misty, Mark and Karyn—talk about how marriage is a refining process in their lives. The quote that sticks in my mind from Jeff this weekend is this: “It’s like you go through life with blinders on, and after that first year of marriage, you realize, ‘Oh man, I’m such a horrible person!‘ ”

One of the reason that people so judiciously defend privacy in this age of ubiquitous information is that there’s the risk of being burned. Having an illicit affair? You could be outed. Flirting with some chippie online? Hell, the guy you’re flirting with could be your son! [Try explaining that one to your husband.] We crave privacy because we’re afraid of our true self being rejected.

It’s obvious to me, though, that we want people to be real. When it’s clear in our society that people are being phony, they lose face; many folks believed Rafael Palmeiro’s stern statements about having never used steroids until he was caught by a drug test. Some people always felt Kobe Bryant was putting on a facade, and then he was busted for sexual misconduct. Alex Rodriguez was raked over the coals for his “will he, won’t he” approach to the World Baseball Classic until news came out that his mother wanted to play for the Dominican and his wife wanted him to play for the U.S. [Hey, as much as I’m not a fan of how A-Rod handles himself, that’s a shitty position to be in; either way, you’re going to make one of the women in your life unhappy.]

I think Greenfield has it right: it’s all about the sociological phenomenon of presentation of self. Some people have found this out firsthand: Mark Pilgrim got fired for writing about his addictions, and, yes, I’d be remiss if I didn’t mention Heather Armstrong’s firing creating the term “Dooced”. Just as we’re all shocked, shocked, SHOCKED! to find out that we’ve been living next to a serial killer for fourteen years, or maybe even going to church with him, well … yeah. These things happen. Sometimes that guy you thought was a great friend turns out to be a … not-so-great guy.

Some people mourn this loss of privacy. I’m not sure that I do—even as I cover up the things that I want to cover up and keep hidden. Hypocritical, sure, but the answer is that I’m willing to be known as a hypocrite primarily because we could all easily be found out for being one!

I think that the fundamental tension in my writing here is being torn between a desire to flay myself open and the understanding of social norms that prevent me from doing so. Chew on that as you will…

How and Why I Use Last.FM

At the behest of David Thompson, I’m writing this entry on how and why I use Last.FM.

How I Use Last.FM

The how I use it comes down to a few mechanical things:

  1. I use the various iTunes plugins—the Windows version on my office PC, and the Mac version at home.
  2. I seed Last.FM with music almost 24/7 at the office.
  3. I use the Last.FM Mac player to listen to music at home. [I fired it up just as I started this entry, in fact. I’m listening to the Similar Artists radio for Sufjan Stevens, just for my own amusement.]

How I Use Last.FM’s iTunes Plugins

This one is pretty straight forward: just grab the plugin and install it. Both are dead simple to use, and only require an account—which is free—to get set up. As you can see from my user page, I’ve been an Last.FM user since Nov 2004—actually, I was using Audioscrobbler for most of that time. Only lately have I come around to Last.FM, and really only since I got my Mac at home. [More on that later.]

How I Seed Last.FM with Data

I have the luxury of having an office machine on a nice, stable network at the office that I can run 24/7. [There is a business case for me running it 24/7; from time to time, I do analysis runs for co-workers on my machine during off-peak hours. The rest of the time, I run BOINC.] As long as I have network connectivity and power—after power instability fried my last hard drive and impaired me, I spent the money to buy my own UPS; it’s mine and not corporate’s, but it’s saved me lots of frustration and saved me from losing time at work redoing stuff, so that’s a positive!—and iTunes doesn’t get buggy on me and crash, I’m seeding data.

I use a variety of iTunes playlists; ever since Dougal Campbell shared his iTunes playlist sets in a comment on my Weblog, I’ve adapted his suggestions to my own needs. I’ll probably post that list tomorrow; I tweaked it a bit more today in an effort to have it be the sole source for my iPod. Suffice it to say that, 95% of the time during non-business hours, it’s on one of two playlists: Radio Airtime [the aforementioned playlist], or my Recently Added playlist that’s a component of the Radio Airtime family. [Tonight, I left it on Recently Added; I’ll probably switch back to Radio Airtime for the Christmas weekend. That, or it’ll be on my Christmas Music playlist. :)]

How I Use the Last.FM Player

Given that I seed data regularly and that trying to seed from work and home triggers Last.FM’s spam protection, I let myself traverse the musical neighborhoods of artists I like while I’m at home, using the Last.FM Player. I am in a re-evalution phase with how I execute my never-ending Great CD Preservation Project at home thanks to my acquisition of a Mac mini.

Using the Artist Neighborhood is a fun option, as many artists have signed up for free streaming of their msic with Last.FM. It really is like having your own radio station—which, of course, you actually do with Last.FM as well. [Interested in hearing what I listen to? Check out gfmorris radio.] I end up getting to listen to artists that I’ve heard folks talk about, and sometimes I find some hidden gems.

Why I Use Last.FM

I use Last.FM in three ways:

  1. Evaluating friends’ musical tastes.
  2. Finding out about new artists.
  3. Ego.

Evaluating Friends’ Musical Tastes

As I’m sure I’ve mentioned many times, I run The Rumor Forum @ [rocksmyfaceoff.net], the message board for fans of Caedmon’s Call, Derek Webb, and the artist community that largely surrounds them. We have a Music Board, and the discussions there can get pretty … intense. After a couple of years there, I slowly came to the realization that there were just some people with whom I agreed musically, and others who I just didn’t. I’m of the opinion that I’d rather just like to see whose tastes agree with mine, so I know to trust their opinion more. [Yes, I am actually claiming an axiom I normally mock: “The level of a man’s intelligence is the degree to which he agrees with me.” That said, I’m just looking for music I like.]

That was actually my inspiration for firing up Audioscrobbler in the first place, thanks to the urgings of Andrew Thomas, to whom I am indebted. [He helped me overcome initial resistance to outsourcing my music metadata to someone else. I was dead wrong about the idea.] After some time, I came to find that two of my friends—Jeff Holland and Katey Orr—were my two strongest peers in terms of musical taste. Now, when either of them talks about music, I listen. Many of the .net folks are on Last.FM; we have our own group.

Finding New Artists

I’m forever finding new artists because of Last.FM. Two artists I now really dig—Hem and Sufjan Stevens—were largely influenced by Last.FM. Because of Audioscrobbler/Last.FM, I had reason to believe that I’d like what I’d be buying, and I was right. In listening extensively to both, I’m buttressing the response of my musical neighbors and concurrently moving into the neighborhoods of those who share my interests in these artists. As the old line goes from Star Trek, “Your uniqueness will be added to our own.”

Last.FM portrays itself as fomenting the “social music revolution”. In creating tools to help music fans find each other simply by doing what they love to do most—listen to and write about music—they’ve succeeded.


No doubt, sharing my musical taste on Last.FM is an ego-driven thing. I’m okay with admitting that to you. But this is one of those situations where my own self-interests actually help the community—it’s a well-crafted system.

So, there you have it: how and why I use Last.FM. Do you use it? Why or why not? How do you use it? Have I made you think about using it differently? How do you think I could use it differently? [Maybe you think I should journal stuff there.]

Eating My Own Dog Food

Okay, it’s time to eat my own dog food. I’ve been openly campaigning for user-registration systems for logware for almost a year, and now that WordPress has an option for users to register themselves … so I’m going to enable it. I’m even going to take the Draconian step of requiring users to register to be able to comment.

You may feel free to complain about this policy … after you’ve registered for an account. 🙂

TrackBack Challenge & Response?

So, TrackBack spam.

At this point, a nice specification is being used to spam the crap out of people. [It’s kinda like RFC 822. Of course, now that I say “RFC 822”, I have to ask, “Is that really the email RFC?” I Google RFC 822, and it is, and I again sit amazed at the amount of useless crap that sits inside my head. Anyway.]

What’s needed here? The idea that’s popped into my head today is some kind of challenge/response system. Of course, the next idea is user reg, but that’s fraught with peril—because centralized user reg means that someone has to maintain the spammers, or that you have to build a system on top for people to rate the centralized users, and in any regard, you’re creating a shitload of work; elsewise, you’re asking me to user reg every site I want to TrackBack? Oi!.

I started this thinking that challenge/response along a user reg system would work, but man … it’s still a hell of a lot of work. Of course, so is cleaning up TrackBack spam.

But … TrackBack was originally, in some ways, a nice way to say, “Hey, I linked to this, or I saw that your entry had something to do with it; I think my words on this are worth your time to read, so I’ll send you a TrackBack ping … and you can do with it what you will!”

All of that was meant, originally, to save people the time and the … embarrassment factor of saying, “Yeah, I wrote something about this … I’d love your feedback” in comments. Because, really, if Brad posts something cool, and that inspires me to write something in response, well … where does the conversation go? Ideally, I want my feedback to happen on my site, because that’s where I want conversation about what I said, and not what my thoughts on someone else’s thoughts are.

I’m beginning to wonder why I even bother with TrackBack.

That’s kinda sad.

Brad … JohnJeff … any ideas? Anyone?

The Case for a User Registration System

There are many reasons to have a localized comment user registration system for Weblogs. The hottest topic at present is to have registration to keep lazy spammers out by raising the barrier to commenting from minimal to slight. I think that advocating comment registration primarily as a spam-stopping solution gives the whole idea short-shrift.

I think there are a variety of reasons for having a comment user registration system. I think that they involve security for the commentor user, the ability to edit comments after posting [eliminating double-posted comments as well as grievous mistakes], the ability to have follow-ups to you comment flagged to you for your attention via email, as well as comment-spam stopping. Let me take these ideas on one-by-one.

Commentor User Security

This seems a bit silly, I guess, but let me give a good hypothetical situation:

Say I post comments on Alex King‘s Weblog. I submit a name of “Geof”, an email of “gfmorris AT gfmorris DOT com”, and an url of “http://gfmorris.net/” with my comments. Alex comes to expect, after a time, that comments with that data triple are mine.

Say someone decides that they hate me and starts posting comments in my name. They haven’t hijacked my computer at all; they’re just posing as me. They appear to be me, and there’s nothing to verify that the comment is from me. Maybe the impostor makes a comment such as, “Hey Alex, I hate you and your assface. Your wife is dog ugly, Tasks sucks, and you should have never been born!”

Alex has three possible choices in his decision tree:

  1. “Geof has lost his frickin’ mind.” Net result: I lose respect in Alex’s eyes. This is a decidedly Bad Thing™.
  2. “Geof was clearly drunk when he posted this. What have I done to piss him off so that he’d get drunk and post on my site?” Net result: Alex spends needless time soul-searching for ways he could have injured me, and there’s a loss of trust in the relationship.
  3. “This has to be some clown pretending to be Geof.” Net result: Alex thinks nothing of it, but starts to worry about comment-spoofing.

In all situations, there’d be an email from Alex to me going, “What the hell, over?” There’d be confusion on my end, and I’d wonder if he was pulling my leg. We’d probably sort it out—Alex is a reasonable guy—but it would be a snookering that would really drive me nuts until we resolved it.

I think it makes sense, in this world where Weblog comments often end up having as much value as the posts themselves, to place the same worth on the comments as you do on the posts. From a logware perspective, you do this by allowing registration for comments. With a user/pass scenario, Alex clearly knows which comments are from me. If someone tries to spoof a comment user-reg-optional system, well, Alex will know that it wasn’t from me. In fact, one could design the comment user-reg-optional system to not allow data triples that are identical to—or similar to, which would be harder, given that you’d have to spend a chunk of time thinking up some regexps to do that for you—registered users.

I think this is a net benefit to the Weblogger and the commentor user, and since net.kooks have long gotten their rocks off of posing as others, well, it’s to be expected.

A brief aside: when Cliff Young, one of the members of Caedmon’s Call, started posting on our forum, we didn’t think it was him. We were convinced that it was someone posing as him–because we’d had someone try that once. The long-time denizens of alt.books.tom-clancy know the name “Adam Yoshida” to be synonymous with “that ass-clown kid who posed as Clancy that one time and trolled a bunch of folks who should know better with a bunch of text about a supposed new book”. Now, I don’t claim to be famous, but if someone decided to slander me—or anyone else—it wouldn’t be hard!

Comment Editing

I’m sure that you’ve posted a comment on a site and wanted to edit it an oh-no-second later. We all have. We either see the typo, or we think of something more to say–or a less inflammatory way to say it, once we’ve realized that we’re being a punk.

How do you solve this? In first generation commenting systems, you have to post a second comment amending the first, which means that you have two comments where you needed only one. If you’re working with a second-generation commenting system—one with the ability for the Weblogger to edit comments, as well as to delete them due to comment spam considerations—your second comment has a “[Weblogger], if you’ll edit the first comment and delete the second, that’d be great” feel to it. Then [Weblogger] gets to edit it for you—doing your bidding, which takes time—and then posts a comment of their own to note that they’ve made the change.

That’s inefficient to me.

Now, there are some reasonable limits here; you don’t want someone being a clown and then retracting it in a later edit. [I hear some people screaming, “Oh, like Dave Winer would if he could?”] It makes sense to have the comment-reg system note how many times an entry’s been edited, and the time of the last edit. This allows folks who come along later to know that there has been an edit. In a database, this is pretty simple; the logware_usercomments table would have a column that increments on every edit, and you timestamp the last bit. Heck, if you wanted, you could store every version of a comment so that people could roll back the versioning; that’s anal-retentive, but some folks are that way, and we love them for it.

I think this provides another service to the commentor user, and it saves work for the Weblogger.

Comment Followups

I don’t know about you, but I find it hard to keep up with all the comments I make on Weblogs. Perhaps this is because I’m a compulsive commentor who thinks that you get to hear my opinion since you’re not asking me to pay to give it. Now that I use a syndication feed aggregator to read a ton more sites, I don’t follow-up on a few sites multiple times a day to see if I’ve gotten a reply to something I’ve written.

An example: just now, I made a comment on a post my friend Christiana wrote. When I made the comment, the logware she uses sent her an email, notifying her of the comment. [This is common to first- and second-generation commenting systems.] If she replies to my comment with one of her own, who gets the email? She does. That’s … perverse.

Now, she could reply to the email that the logware sent her when I commented and say, “Hey, I replied,” but who wants to do that for every comment? Plus, that only works for one-off comments; if one commentor user replies to another commentor user—rather than to the original post itself—the only person who gets any notice is the Weblogger.

I don’t know about you, but I consider that to be poor software behavior. If good software design is that which allows a user to efficiently use his/her time, then the current generation of comment systems is not well-designed in this regard.

Stemming the Tide of Comment Spam

I think that a comment-reg system has been discussed to death in terms of stopping spam, but let me state some clear objectives:

  • Comment|user-reg needn’t be mandatory. Only really anal Webloggers—potentially including me, heh—will completely close comments to non-registered users. In cases where you leave commenting open to non-registered users, it’s easy to stop comment spam with current techniques–blacklists, disallowing HTML, etc. I think this would keep the bar low enough for non-clowns who don’t see the benefit of [or have privacy concerns about] registration systems.
  • A decentralized system means downtime of the system is localized only to your server, so you’re not doing centralized authorization with a TypeKey-like system [or YACCS, or any of the Blogger comment platforms].
  • A decentralized system also can allow you to do FOAF-ish applications, if you wish. Someone more familiar with FOAF than I would need to address that better.
  • Known spammers are easily culled from the system with one click. You keep the data, and that makes it easier to spot punks.

Known Objections

The objection to comment user registration seems to be, “Why bother? That’s an awful lot of work.” I don’t see it like that. Most commenting systems already do authorization by cookie. How do you handle a comment-reg system? User/pass stored in a hash in a cookie. What’s the net difference? Not much. What’s the net expense to the commentor user? They have to expend some effort at one time to register, and I hope that I’ve shown that the commentor user would get a lot of benefit from that effort.

Comment User Registration in Use

If you’re interested in what a system like this would look like, you should consider perusing Amy’s Domesticat, whose logware, Quarto, has comment user-reg out-of-the box. [No, Quarto isn’t available publicly. I don’t know if it ever will be. Please do not pester my friend for the code. She’ll hammer me for even mentioning it, and then I’ll track you down.]

I would be very interested in comments to my thoughts here. I’ll send you an email to any replies I make. 😉

Nota Bene

Please note that this post has should have has changed names. It was originally entited The Case for a Comment Registration System. I realized that this was a bad name for two reasons:

  1. It’s semantically incorrect: we’re registering commentors, not their comments.
  2. It lumps me in with the TypeKey solutions of the world, people who think that comment_reg is the savior of the world in comment spam salvation terms–which it’s not.

I also then further considered that what I’m hoping to improve is user behavior. Logware writers have long sought to improve the experience for their *loggers, but past some nice things in the default templates—which the *logger is free to change at their whim!—not much has been done for the end-user–that is, the poor sap reading the log. I think this is worth doing.

Unfortunately, because I don’t want to break permalinks, I can’t change the title. Such is the issue at hand when you use titles to eliminate crufty URLs.

That said, please pretend that it says “user” and not “comment” in both the happy title and your browser’s location bar. I will if you will.

Since I have upgraded to WordPress 1.2, this is no longer a problem, because WP 1.2 uses a post slug to create a cruft-free URL, rather than sanitizing the post title. It’s a better process, and this entry is now appropriately named.

The Network Rules

It’s about using the network.

I have become absolutely enthralled by Over the Rhine in the last week. As I’ve noted, I have Jeff Holland to thank for this.

Let’s talk about how I got to this point with OtR. You know that I babble incessantly about this idea about the network helping you find music. This is, essentially, how I found OtR.

A couple months ago, I bet Jeff’s wife, Adriene, that she’d like The Normals’ Coming to Life. The bet? If she didn’t like it, I’d buy it from her, postage costs included, and give it to someone else. [That someone else was probably going to be Rick.] I won the bet; she loved the music, and so did Jeff.

Fast forward later on to the release of Andy Osenga’s Souvenirs and Postcards. In the meantime, J&A had bought The Normals’ A Place Where You Belong and Andy’s Photographs. They’d become Osenga-heads. They were stuck in my world now.

I’d read Jeff’s praise for OtR for well over a year, and I finally said, “I think I want to get into these guys.” Jeff sent me a mixtape, but I never did listen to it. [I’ll admit it!] I finally just decided, in a fit of consumeristic largesse, to buy a bunch of stuff. I got some recommendations across the breadth of their discography, and I plunked down ~$60 on it.

Damn good investment.

This is collaborative filtering across the network without a good tool. I came to understand that Jeff and I had very similar musical tastes. I decided that it was a good risk for me to take a wing at something Jeff liked. I was very much betting on a good track record, and I hit a stinking home run.

As I said, though, this was done without a tool. I had to divine this on my own, which was a pain in the ass. I efuse to do as Jeff Veen seems to do, which is to sample a bunch of stuff available on Usenet and then support the artists. I have too many musician friends who get hurt by file sharing.

I think that a tool like what I suggest is a better way. You have trust. You have similarity scores. You don’t have the concern of a friend wondering if you’ll reject their musical tastes. People don’t like that.

Heck, next month, I’m going to take a chance and see an Eric Peters concert, and I’m already worried that I won’t like it as much as Christiana does. I don’t want to insult her musical tastes, because we don’t have a friendship level yet that I think can withstand it.

People are attached to their music something fierce. If someone came on here and started ripping Osenga, I’d get very mad. Irratational reaction, but honest.

I have a need for new music. That’s why I’m in the network.

Fora or Mailing Lists?

Alex asks a good question: should Internet-based software technical support and features discussion be offered via Web-based fora or mailing lists?

My answers to him were:


I’m a large fan of fora, and I run a rather large phpBB install. Unless a community develops around Tasks, it’s not going to be an issue for you to run something like phpBB. Fora also allow interested power users to step up and help you do lots of tech support. People need to be needed!


Well, I’ll argue for Web fora for another reason: you want an accessible solution for your users. Tasks is Web-based—it makes sense then that the support function should be Web-based.

While I love email and I love RSS, I have tools that manage those formats well. Most folks don’t. The common tool that people will have to manage content is the Web browswer.

Alex’s personal IM comments to me before and after the second comment reflected a “right tool for the job” desire, which is unsurprising since he built the right tool for managing hierarchical tasks via the Web. He didn’t want to kludge a bunch of solutions together; he just wanted a good solution for him, and found that others wanted it as well.

I think this is a Very Good Practice™, and I certainly commend Alex for it. [That’s why I pay him for good software—he think stuff through!] But I want to expand a little on best practices.

I’ve been around the Internet for a while—in fact, I’m coming up on nine years. [Oi.] As such, I remember when the Web wasn’t so big, and it was all about Usenet and mailing lists. I’m comfortable with both—I’ve owned a copy of Agent for nigh on five years now. I still find the Web-based format simpler-to-use, if paradoxically so. Let me explain.

On Usenet and mailing lists, I found myself always wanting to read everything. Even when I began to recognize the limits of my time, I still read most everything. [Google Groups proves this … go search alt.books.tom-clancy for morrisg@uah.edu sometime.] I felt compelled to reply–frequently.

On the Web, I don’t read everything. I run a rather large community-centric forum, and while I am still a prolific poster there—10.9% of the posts are written by me, which is damn frightening—I don’t read everything.

That’s weird behavior by me, because Agent [and most other newsreaders] have killfiles and filters and ignore thread functions. I can’t really explain it from an end-user perspective …

… until I get to thinking about the nature of the Web and the nature of email/Usenet.

The Web is an open community. There are generally zero barriers to entry. Folks know Web browsers, thanks in large part to Microsoft bundling Internet Exploiter with their OS. The tool isn’t always great—IE sucks dead bunnies through a bent straw—but it works.

The email clients that most folks use suck. Outlook and its ilk are horrible about managing email. Few email programs are any good about organizing stuff. [Mulberry is, but that’s another entry.] And while Agent and its ilk absolutely kick ass, most folks haven’t ever used it.

Email is generally considered one-to-one, although it’s always a forward away from one-to-many. 😉 Usenet is many-to-many, but it’s also a closed community because of its very nature [text-based, fugly, etc.].

I have helped run Web-based support fora before, and I found that the people who used them typically aren’t serious, power users. The people on mailing lists tend to be far more serious users, and the same is so for Usenet. [Usenet’s so fugly and hackneyed that you really have to want to use it.] I think that you would generally find the following to be true:

  1. Web-based fora are for the masses.
  2. Mailing lists and their ilk are for the power users.

I welcome comments to my hypothesis and general thinking.

More On Spamming

Let’s specifically address comment spam here for a moment, since that’s the topic du jour.

Phil Ringnalda presents another view on TypeKey. I tried to avoid any one solution in yammering about spamming the other day, but TypeKey clearly was on my mind. Phil brings up a point that’s so painfully obvious that I feel stupid for not thinking of it before now:

I want the first class to post whatever they want, whenever they want, with any HTML they want. I want the second class to post, but I might not want to let them use HTML, or link from their name, until I’ve looked at what they have to say, and if their noise got to be too much I might even want to hide them like a Slashdot comment below the normal browsing level, so that they were visible, but only with an effort. The third class? They can find their own place to talk, there’s plenty of places other than here.

There I was, thinking about the privileges to even post, when I should have been thinking about privileges to post different things.

Now, Phil was talking about a variety of levels, but say I have a good friend who posts horribly malformed HTML in their comments. [I don’t know that I have a friend like that; this is abjectly hypothetical, not passive/aggressively ignoring the elephant in the room.] I would, eventually, remove their ability to post HTML. Why? It’s not worth my time to go and fix their bad markup in their comments, and their bad markup fouls my page.

Wholly untrusted users wouldn’t get to post anything, and while they could submit an URL with their comment-authoring information, it wouldn’t get presented to the user until I’d figured that it was okay.

With a solution like this—one that doesn’t allow links from unknown users—the comment spamming problem largely goes away. If comment spammers can’t post HTML, they have to build my trust before abusing it.

Again, that’s a potential situation, and it is a case where I would probably not seek to rely on a centralized authentication system. I still think that shared whitelists is the way to go.

Stepping over into the WordPress world for a moment, I want to invite the developers to consider reforming the user-registration system. Currently, there are 11 levels of users in WordPress, and only a couple of them matter. A user with a level of 1 can currently post new entries to the database; a user with a level of 5 or greater is generally considered an administrator. A user with a level >N can edit level N posts; the default admin account is given a 10, and there can only be one level 10 account.

Realistically, though, you only need two or three gradations of postability levels: admin [top dog], editor [middle dog], writer [sniffin’ butts]. If you set these levels at 10, 9, and 8, you still have a user system with eight remaining levels [0-7]. That’s probably more gradation than any of us needs—shoot, Slashdot does 0-5, and that works for them—but it’s enough to allow the start of a great commenting system to be glommed onto an in-place database.

On Spamming

Okay, let me state this more clearly than I did here:

Comment spammers seek inbound links.

Individual links have little value.

Aggregated indivudal links have lots of value—presumably, lots of links for the same word are pointing at a source for a reason. [So goes the thumbnail sketch of Web search thinking.]

Any system that seeks to foil comment spamming must seek to make it difficult to aggregate individual links.

What does this exclude?

  1. Open, anonymous commenting. The days of open Weblog commenting are probably nearing their end. If you don’t police who comments on your Weblog, you’ll end up with a very low signal-to-noise ratio, because you will be an easy target.
  2. Centralized comment authentication. All you have to do is hire a bunch of people to act as honest brokers, and then have them turn tail and become spambots. It’s easy money for the commentors, and since spammers don’t do this for joy but to improve sales, this is their equivalent of advertising.
  3. Crapfloodable systems. If your system can be overwhelmed by a crapflood of comments, you’re not only hosed from a server-resource-usage perspective, but you’ll also be helping the spammers aggregate. [Yes, some crapflooding is done as an annoyance. Not all of it is, though.

All spamming is easy because there’s a very, very low barrier to entry. Email spam is simple because SMTP doesn’t really require authentication that you are who you say you are. How do you defeat email spam? Software solutions that filter your mail based on algorithms or on whitelists. Not the greatest—you will lose some emails, always—but on the whole, not bad.

Where is email spam defeated? Client-side.

That’s probably the same place that you’ll defeat comment spamming on Weblogs—client-side. [Stay with me here.] Consider that each Weblog is a client [regardless of the fact that it resides on a server]. If I implement a comment spam-stopping solution here—and I have, in requiring that I must approve all comments before they appear—I have made a solution for my Weblog client software. I have made a local—not global—change.

A centralized system can do this—requiring Weblog owners to approve folks based on behavior—but unless you’re approving them on a per-comment basis, you still leave yourself open to the paid Trojan spambots.

Of course, you can trust certain people. Rick King is never going to spam my Weblog comments. [If he did, I would drive over to his house, let myself in, and do something really dastardly. Some ideas come to mind, but his wife reads this site, and she might hurt me. Jess is small, but she’s wiry!] If I had a user-registration system, I think I’d grant Rick permission to make comments anytime he wanted.

Other commentors would not get this treatment. There are always a few folks who comment on this site more than a few times because they find it via Google. Sometimes, these folks end up becoming net-friends [say hi, Ruminator David! :D]. I would probably grant David full posting privileges … but only now. Would I do that in the first, oh, month I had comments from him? Probably not.

It’s about trust. This is where the little voice in the back of my head that approximates what I’d imagine that Mark Pilgrim sounds like screams, “FOAF!” Yes, Friend Of A Friend is, in a way, what I am describing. The Wondergeeks community would probably all grant each other full-privileges. There is significant overlap in who reads our sites, but it’s certainly not a closed group. Would Rick trust, say, Mark Traphagen to post comments without censure on his Weblog? Perhaps. Rick’s a trusting soul. But there’s no guarantee.

But again, I want to drive home this point: a monolithic answer to this is inappropriate. With a monolithic approach, people [being lazy] will just say, “Any approved Centralized Commenting System User with a No-Spam Score above 0 can post whatever they like on my site.” That’s easy to Trojan horse, as noted. You have not raised the barrier to entry one whit.

If you want to stop spam, you have to do it yourself. No one is going to do it for you—not for free, anyway, and even then, probably not well.