04 December 2003

Data Preservation

Jeremy Hedley of Antipixel writes today about the problem of data preservation. I’ve been (very slowly) re-reading The Shadow of the Torturer, which has gotten me thinking about the state of the our world as it will be many years from now. I think we have a problem that’s burning from both ends: we’re both losing lots of data and accumulating lots more. Great works may well be lost to data corruption or fires, but just as many may be lost of the inaccesible vastness of Raiders of the Lost Ark-esque information stores. There are already too many books I’d like to read that I’d have to stop socializing to get through them. Today, when I want to read about a topic, I look it up in Google and maybe read the first three or five hits I see. I can see a future where that same search turns up hundreds. Obscurity by abundance.

02 December 2003

On Comment Systems

What good is an opinion without someone to tell you why you’re wrong? The rise in popularity of weblogs has given voice to over a million people across the internet. If the best thing about them is their ability to provide an open channel for individuals to say what they want, then their most crucial feature must be the comment systems that allow the rest of the world to respond. A good-sized group of my friends stays in touch daily by posting and commenting on each other’s LiveJournal pages. Comments move fluidly from serious discussion to inside jokes to event planning because the system that manages those comments is robust enough to proctor such conversations. Still, though online discussion boards predate the visual World Wide Web, I’ve yet to see a comment system that does it all.

In “It’s all about Context,” Mena Trott remarks that in developing TypePad, “we learned that commenting methods evolve […] and we hope we never claim that anything we do can’t be improved.”

While the behavior of discussion modules in weblogs allows for an amazing amount of interaction between people all over the world, there are a number of areas that still need to be honed. I’d like to lay out below a number of features that I think would improve that ability to have online discussions.

It’s All About Context

As discussed in the above-mentioned article, comments should always appear on the same page as the post they’re talking about. They should never collapse into “headers-only” mode if their number soars above a magic threshold, and should also not continue onto a second page even if their number continues to soar. It’s important that the full context for a discussion is always available on the page, and discussion tends to stop when comments spill over to a second page.

WYSIWYG HTML

While maintaining a webpage requires some knowledge of HTML, leaving a comment on one should not. All comment fields should have WYSIWYG formatting buttons above them. The set of WYSIWYG, or “What You See Is What You Get,” buttons would work just like those in MS Word. Highlighting text and clicking the “Bold” button would make the text appear bold, while under the hood remembering to put <b> […] </b> (or strong) around the text when the user clicks the submit button. A “link” button would launch a little dialogue box asking for the link destination and link text, and would inset a working link into the text field. Colors, text-alignment, and fonts would be marked-up using in-line styles. The person leaving the comment would always see the text as it will appear, and would never see the underlying, valid, XHTML. And, of course, the user would be free to type out his own code if he’d prefer.

A spell-check button would also be nice.

eMail Addresses Should Never Be Displayed

Spam is a big problem these days. Even the best encryption can eventually be broken or foiled by people with the patience to hand-copy addresses. People leaving comments on your page don’t want their email addresses harvested by spam-bots so that they can get more ads for male enhancement. The only reason someone leaves their email address is because they don’t know any better (which you shouldn’t penalize them for), you make them do it because you don’t allow anonymous comments (which doesn’t mean you have to display their address on the page), they know you might want to write them about their comment (which, again, doesn’t mean that you have to display their address), or they want to receive emails containing future comments so they can follow the discussion long after they’ve forgotten your URL (bingo: why else are they giving you their address?).

Notification

What LiveJournal does pretty well and MovableType/TypePad doesn’t do at all is notification. There’s little point in making comments on a weblog entry if no one ever checks the entry again to respond to you. Every discussion should be available via email and RSS. ScriptyGoddess write a nice plug-in for MovableType that gets this feature mostly right. Here’s how I think it should work: every comment form should have a checkbox labeled “Subscribe to This Post.” If a reader enters his email address and leaves this box checked, he’ll get an email every time someone leaves a comment on that entry. Below the comment form is a separate form in which he can enter his email address to subscribe to comments without having to leave one of his own. Each email should contain the text of the newest comment, a link to the full post, and a link to unsubscribe to the mailing list for that discussion.

I have the vague understanding that RSS 2 has a feature that accommodates comment notification. This would be useful as long as readers are given the option of a comment-free feed as well. It’s downright annoying when every post gets marked as new whenever someone comments on it. If I care about a particular post, I should be able to subscribe to it individually.

Referring to Previous Comments

Having the entire text of a conversation readily available is a strong advantage that online discussions have over verbal conversations. If I want to directly refer to something that someone else has said, I can simply copy and paste the quote and respond directly to it. This works fine for instances in which I want to talk about a specific part of a specific comment, but what if I just want to agree or disagree with the entire comment? I could say, “I agree with Sally,” but it’s very possible that Sally’s said four different things already in this thread.

Comments should be numbered. The weblog system should automatically number and label each comment as it gets added to the page. This way, I can say, “I agree with 5,” referring without question to the fifth comment left on the page.

Each Comment Should Have Its Own Permalink

Weblogs thrive because of their interconnectivity. As they continue to mature, they have to grow to allow for themselves. Picture a future student writing a research paper for a webpage. Just as he uses parenthetical citations to refer to the page number of a book, he should be able to use them to cite a particular comment on a weblog.

Threaded Comments are a Bad Idea

I admit, the way that LiveJournal allows people to respond to individual comments adds an interesting dynamic to conversations, but I think it hurts the discussions as a whole.

Conversations in real life happen in real time. Even though you can go back and address a previous point directly, you still have to listen to everything that’s said before you get a chance to speak. Many times in an LJ discussion, there will be five or six good points that get left behind because people are too busy bickering over a previous one. Sure, they’re still there, but they’re sitting at the bottom of the page. The a-temporal grouping of comments commenting on an earlier comment disrupts the natural flow of the discussion, oftentimes neglecting or undermining comments that were made before everyone started ganging up on the earlier point.

It’s in the nature of discussions to twist and go off on tangents, but this should happen, er, naturally. If you line up twenty comments in a row, it’s very easy to follow the conversation from where it started to where it has led. This is because you’re reading the posts in one dimension (moving temporally in a straight line from the time of the original entry to the time of the most-recent comment.) But if you jumble them up so that the threaded view shows the discussion in 2-D, you add an unnatural grouping that often falsely attempts to model the flow of the tangents.

Say there’s a comment with three responses followed by another comment, each of which makes a new point about that comment. Now say that three people want to talk about the second comment. Now we have eight comments. In what order should they be read? In a threaded discussion, they would appear in the following order:

  1. First Comment (10:00AM)
    1. Response One (10:10AM)
    2. Response Two (10:15AM)
      1. Response 1 to Response Two (10:18AM)
      2. Response 2 to Response Two (10:25AM)
      3. Response 3 to Response Two (11:55AM)
    3. Response Three (10:21AM)
  2. Second Comment (10:02AM)

The two comments made the closest to each other chronologically are actually the farthest apart in the above example. Response Three was made before any of the responses to Response Two, but appears after them. By the time you’ve read all of those responses, you may have have forgotten enough about the original context to understand Response Three.

While I appreciate the utility of being able to comment directly on a comment, for the above reasons and more, I think that threaded comments are a bad idea. And since our weblogging system is already labeling each comment with a number, we can just refer to a comment’s label when talking about it. Should a tangent get so off-topic that the proctor (weblog owner) decides it merits its own forum, he can always start a new entry about it. (Or it could move via TrackBack to another location.)

Thoughts?

So that’s what I have to say on the subject. Please discuss. (I realize that my TypePad comment system doesn’t do it all, bear with it.)

25 November 2003

Tofurky Day

Waiting for the elevator today to take me upstairs to buy stamps for my rent check, a random lady asked if I was getting ready to stuff myself on “Turkey Day.” I hesitated for a second before just saying, “yeah.” Then I realized that I had found the statement mildly offensive, and then I realized that that’s a ridiculous thing for me to find offensive. For one, it’s obviously my decision not to eat meat, and besides the fact that I just think “Turkey Day” is a stupid-ass term, I still do “stuff myself” on Thanksgiving full of stuffing, cranberry sauce, potatoes, beans, rolls, pie, etc. Secondly, for some reason I was momentarily offended that the lady would assume that I celebrated Thanksgiving, before realizing that this was even stupider than being offended she wasn’t being vegeratian-sensitive. When did I become such a wuss?

15 November 2003

Setting Up a Sideblog in TypePad

I’ve added a new feature to daveXtreme.com, called eXtremities. During my web surfing I come across lots of interesting sites that seem worth a link, but don’t need an entire post devoted to them. The main page will always show the five most-recent links, and every link will be available in a separate archive page. An RSS feed of the links is also available. (Note: if you came here via a direct link to this article, go to the front page to see them.) LiveJournal users can add LJ User davelinks to their Friends’ pages (though due to LJ’s poor content aggregator, they won’t get the links in HTML, and the first time they add davelinks to their page they’ll get 15 entries at once).

Setting up a Sideblog in TypePad

At first I wanted to use a links TypeList to handle it all, but there’s not yet a way to create an archive of TypeList items, and I didn’t want to have to create a new RSS feed that I’d have to manually rebuild each time I posted a link. Advanced users can use the following method to include a similar “sideblog” on their pages:

  1. Create a new weblog. For example purposes, we’ll call it “sideblog.” In the configure tab of the new weblog, enable syndication in the “Publicity & Syndication” mini-tab. I recommend syndicating the entire post, as they’ll usually be short and you don’t want the HTML to be stripped.
  2. Design the weblog to look however you’d like. While you’ll be including the posts into the sidebar of your main page, you’ll still want a pretty template for the sideblog archives.
  3. In the “Edit Template Sets” mini-tab of the “Design” tab, find the design you just made and check “Convert.” Click “Convert” to clone your template into an advanced template.
  4. Click “Edit” next to the name of your new advanced template. This will take you to the advanced template editing screen. Click “Create new index template,” give it a name, and put “sideblog.inc” in the “Output File” field. This template will be the HTML that your main weblog will display in its sidebar.
  5. Here is a simple example template you can use. It will display a title, the five most-recent sideblog entries, and links to the sideblog archives and RSS feed.

    <h2>Sideblog</h2> <ul> <MTEntries lastn="5"> <li><$MTEntryBody$></li> </MTEntries> <li><a href="http://yoursite.typepad.com/ sideblog/archives.html">Link archives</ a> | <a href="http://yoursite.typepad.com/ sideblog/index.rdf">RSS</a></li> </ul>

I’ve split up linebreaks for formatting above. Here’s the template file without them that you can paste into your page. (Right click to download — your browser may try to render the HTML.) You’ll have to replace yoursite with the address of your site, and if you named the new weblog something other than “sideblog,” you’ll have to change that, too. 6. Save and publish the new template. 7. Now switch to your main weblog, and go to the design tab. In “Edit your Template Sets,” open up the sidebar template you’d like to put the sideblog in. (It will probably be called “sidebar,” sidebar1,” or “sidebar2.”) Paste the following code into the sideblog (remove the line breaks to make it one line and modify it to match the name of your page):

`<!--#include virtual="http:// yoursite.typepad.com/ yoursite/sideblog.inc"-->` 
  1. Save and publish our sidebar template.

Your sideblog should show up on your page now. Of course, you’ll have to add some content to your sideblog, and to make that real easy I’d suggest setting up a QuickPost bookmarklet. With one, you can just select it whenever you find a page you want to post into your sideblog, and it’ll fill in the address of the page automatically. (Remember to enable TrackBack so that you can notify people you’re linking to their pages.)

14 November 2003

The Postal Service

Holy moly is The Postal Service good! I’m usually on the edge of liking whatever Indie’s buzzing about, but… it’s just so darn good. Actually, they’re so good that the U. S. Postal Service actually sent them a cease-and-desist letter for being so good. No, really, they did.

11 November 2003

Kalsey's Comment Spam Manifesto

Comment Spam is becoming a problem for webloggers. Adam Kalsey has written a Comment Spam Manifesto declaring war on people who want to use our pages as advertisement and abuse our hard-earned Google rankings. While I haven’t yet been a victim of this problem, I sympathize with those who’re getting hundreds of fake comments a day. We run our websites because we enjoy them, and getting preyed on isn’t cool.

What worries me about the new war on spam is that it could lead to some legal troubles. If people really start going after alleged spammers and succeed in getting their ISPs to shut their sites down, a lot of lawsuits could spring up. What the weblogging world needs is a common comment spam policy. It needs to lay out exactly what an offending post will be, dictate what the host must be able to demonstrate in order to make a claim, and prescribe a list of conditions that must be documented. Likewise, it must also provide legitimate ways an innocent accused party can show that he didn’t do anything wrong. This policy should be something that lots of people agree on, freely distributed, and should be documented on every site that uses it.

Suggestions and TrackBacks are welcome (but not from spammers).

09 November 2003

Matrix: Thought Strands

The more I think about The Matrix Revolutions, the better I think it was. Disappointing, yes, but I’m not sure that has to do with quality or events of the film itself, but more with it not being the movie I wanted it to be. (Spoilers ahead.)

I enjoyed watching it while it was on, but by the time it ended I just felt like I wanted the Wachowskis to start over and try again. Kenji attributes it to the film not lining up to our expectations. We watched the first one, and in our minds we thought that after it ends and Neo flies off all this cool stuff happens, though we don’t know what it’ll be. Then we see the sequels, and it’s not necessarily that they don’t live up, they just aren’t what anyone was picturing. Put another way, we all bought tickets to see The Phantom Menace expecting to see lots of Jedi and eventually Darth Vader, and out of nowhere we get gungans and a little kid. This isn’t to say that screenwriters should always pander to what their audiences expect, but I think Kenji’s idea explains why Reloaded and Revolutions didn’t satisfy me.

The problem I keep having is that the more I think about how the story had to end, the more I end up right where Revolutions ends. I had thought that it was supposed to be about Neo showing everyone in the Matrix that their world wasn’t real. But in Reloaded Morpheus says that they’re freeing people at a rapidly increasing rate, and The Kid’s Story shows that people can even wake themselves up. Put that together with the notion that even people living in Zion don’t believe that Neo is The One, and I think it shows that the people who are going to wake up do wake up, and people who don’t wouldn’t be able to handle it. So it can’t be just a story about Neo building up a following and convincing the world to follow him to Zion. I started Enter the Matrix again today, this time playing as Ghost. Playing it, I realized that it is exactly what I wanted out of the movies: lots of action inside the Matrix. While this is fun, it also shows me that the war can’t be won from inside the Matrix alone. Agents can’t be killed, and Neo’s already stronger than everything out (in) there. It also can’t be a war story about the fight between the machines and Zion. The Second Renaissance Part 2 shows us that even at the height of our military might the humans lost the war to the machines, so there’s no way a few hundred Zion guerrillas could do it in the present (and as we see in Revolutions, they don’t).

So by the end of Revolutions we have Smith having corrupted the Matrix to a point where the machines can’t stop him. We have Neo, who in choosing the wrong door has broken the cycle necessary to reboot the Matrix, and then we have the two of them destroying each other and leaving the Architect with no idea what to do. Nothing like this has happened before, as shown by Sati bringing color to the sky of the Matrix for the first time ever. By saying that those still in the Matrix will be free, the Architect is pointing to the Christian promise that our bodies will be returned to us at the end of days. What bothers me is not this ending (which I think I like), but that it’s an ending which even the omniscient characters in the story don’t understand. They’re for the first time ever in a situation where the don’t know what’s going to happen, so it just doesn’t feel complete.

And, of course, it isn’t complete. The Matrix is still running in some fashion, and from the press material The Matrix Online will take us into that world. My guess is that it will finally be the battle to convince everyone to wake up, now that the machines don’t have utter control over the world. I’d guess also that The Merovingian and the other rogue programs may have an opportunity to gain a foothold in the anarchy.

Clone Wars Shorts

Star Wars: Clone Wars, by director Genndy Tartakovsky (Dexter’s Laboratory, The Powerpuff Girls, Samurai Jack), debuted Friday night. It’s a very strange concept: 20 5-minute short films that take place during the Clone Wars between episodes II and III. The bad news is that each short is only five minutes long. Worse news is that they air on Cartoon Network weeknights at 8 o’clock, so they’re easy to forget about and conflict with most prime-time shows. Fortunately, the good news is that the official website has QuickTime and Realmedia versions of each short. The even better news is that they also have versions with commentary. The visual style of Tartakovsky’s work fits in wonderfully with the tone of the stories (from what I can tell so far), and the high production values equate to pretty, fluid motion and nicely detailed backdrops. The shorts will air over the next two weeks, with ten more coming in a few more months.

06 November 2003

Interpreting Friendster Photos

Funny: The Buttafly Guide to Interpreting Friendster Photos.

Also funny: An Ode to Friendster.

[…] more important than the prose of my acquaintances’ bios were their pictures. One of the things that you will quickly realize is that a picture really is worth a thousand words, and this is never more true than on Friendster. Many of the users need not even waste their efforts typing their bios. Their photos speak the loose string of misspelled words and expletives for them. One could guess that PoisonSexy, who chose a photo in which she’s wearing a leather bustier that emphasizes the indecipherable tattoo on her chest, lists only “PARTAYing, chillin, porn” under interests. And it’s not necessary to read the Relationship Status line to know that the 30-something-year-old man dressed as a robot is “single.” The picture of the fat girl kissing her somewhat attractive friend sends the message loud and clear, “I may be obese, but at least I’m bisexual, and that’s hot, right?” And the countless women who post photos of themselves in bikinis that are smaller than an eye patch don’t even need to write the words, “I will do pretty much anything if you’ll just pay attention to me.” … About every five minutes you’re on this site you’ll find yourself thinking, “Who the hell is friends with these freaks?” And that, in a nutshell, is the beauty of Friendster. Because the answer is always, “MY friends.”

03 November 2003

Instant Messenger Etiquette

Visiting college this weekend indirectly got me thinking about AIM etiquette. Our parents never taught us good cell phone or chatroom manners. It isn’t really their fault. After all, these things didn’t exist when their parents were teaching them etiquette. If you sat most people down and quizzed them on cell phone manners, they’d probably get most of the questions right, even if in practice they’re perfectly willing to stop talking to you without saying “excuse me” as soon as their ringtone sounds. But being told these things as teens goes nowhere near the effectiveness of constant correction as children. Still, it would seem that cell phone manners would be easily extracted from telephone manners, so there’s little excuse. Instant Messenger Etiquette, on the other hand, has very few lower-tech analogues.

The Instant Messenger Handbook by Eric Gillin does a fine job at explaining some of the important points regarding dealing with other people you’re sending IMs to. What it doesn’t discuss, and what’s equally as annoying as the cell phone example, is how to mix people in real life with your Buddy on the other computer.

The AIM Rule for Dealing with Real People: Anyone who has chosen to talk to you in person should be treated as if they’re more important than everyone on your Buddy List.

Common example 1: I wander into my friend’s room and plop down on the couch. I start watching whatever he has on tv and making small talk, but he is only able to respond with grunts because he’s ignoring me in favor of his Buddy.

True, I did walk into his room, effectively interupting his conversation, so it seems like he’s not being all that rude. But he is. Fact: exactly 1.5% of all conversations over AIM are worthwhile. While my conversation may be just as worthless as the one you’re having over AIM, I at least actually came into your room.

Common example 2: I’m hanging out with my friend in his room, and he gets an IM. He starts up a conversation with his Buddy, pausing our conversation every 20 seconds to read and respond to his latest IM.

Because AIM conversations happen slowly, they’re exceptionally annoying to onlookers. If we’re talking and you get a call on your cell phone, the appropriate action is to say, “excuse me,” answer your phone, and find out what the call is about. If it’s about solving a problem, do it quickly and then hang up. If it’s going to be a conversation, tell them you’ll call back later. The same applies to AIM conversations. If they want something, give it to them. If not, tell them you’re busy.

Since in-person visitors aren’t reading your screen, they just feel like they’re being ignored. Snap out of it and realize this. It may be that the person who just sent you an IM is indeed going through a crisis or is a friend who lives very far away. In these rare cases, tell the person sitting in your room that you need to talk to this Buddy. In every other case, give the person actually physically in your room most of your attention most of the time. Everyone knows that all IM conversation are worthless, so they know that you’re intentionally choosing someone else’s worthless text over your face-to-face interaction. It’s just rude.