Tags, Contexts and Conversation
Jul. 1st, 2008 04:44 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
A conversation pointer: I've just made a post over in CommYou that some folks here might be interested in. Basically, I'm mulling over the concepts of tagging and context, as they relate to conversations -- it's all still rather vague, and I'm looking for any insights and opinions people may have. Anyone ought to be able to follow that link (although the look and feel may be a bit crappy in old browsers); if you don't have a CommYou account, feel free to comment here...
(no subject)
Date: 2008-07-03 03:10 am (UTC)Sometimes a context has a context. You use the Twitter example; I might not be interested in Twits, but if someone comments on a twit and someone else comments on that, that could take things in an interesting direction. So it's all "derived from Twitter", but some of it is categorically uninteresting and some of it is potentially interesting. How would using contexts affect that? Do we need some notion of "Nth-degree contexts" -- the twit is 0, comments on it are 1, comments on that are 2, and so on, with a user specifying both a context and a level to filter on?
Some filtering criteria are about the declared content (tags), some about context (Twitter) -- and some about context + modifiers. I find myself thinking back to my kill/read file in the usenet days, where the rules for rec.org.sca included logic such as: "kill if Subject includes X, but read if the poster is Y". A more sophisticated rule that would have been interesting (but was not implementable in rn) is "read anything by Y and anything that Y directly replies to" -- which I think of as filling in context. I don't know if that leads anywhere useful, but I thought I'd throw it out there.
LJ tags are specified by the poster and are meaningful within that journal but not necessarily globally. (You and I might not use the same tags, or use the same tags differently.) External tags (del.ic.io.us, as I understand it) are supplied by anybody (poster or reader) and might start achieving some consistency that way (or not). Context as you're describing it is specified by nobody, so it's more objective, but this pushes the rules for interpreting context out to the users. (Any post has lots of possible context; which bits are the interesting ones?)
(no subject)
Date: 2008-07-03 02:40 pm (UTC)For the moment, you probably can't. Mind, Facebook doesn't actually *enforce* the "real name" rule except in rare cases -- but I suspect that's not really a comfort to you.
So I'll post here instead; sorry. I do want to actually use CommYou...
Well, I'll probably set up LJ logins as an alternative sometime in the next month or two, so at least you can come in then. (CommYou was never intended to be Facebook-specific; it was just a convenient starting point.)
Do we need some notion of "Nth-degree contexts" -- the twit is 0, comments on it are 1, comments on that are 2, and so on, with a user specifying both a context and a level to filter on?
Interesting question, and related to other points that have been made in this discussion. There's clearly a relationship between context and threading, although I suspect it's going to take some experimentation to figure out how it works best.
It does continue to argue for the notion I was already thinking about, that contexts apply to *messages*, rather than conversations per se. I've already been moving in the direction of thinking of a "conversation" as simply a pointer to a root node in the overall graph, and this makes sense in that light. The context leads to that particular node, and you can follow subsequent replies in it from there. That may actually suffice; I'm not sure it's necessary to worry about the relationship of subsequent replies to the context in a more formal way. We'll see...
I find myself thinking back to my kill/read file in the usenet days
Good reminders. I've actually got killfile-related stories already in the list, but I'd forgotten how sophisticated the mechanism could be. I want to have that sort of power available to the users -- the issue is just going to be figuring out how to expose it without over-complicating the UI. (Likely through basic/advanced views of the filtering capabilities.)
Context as you're describing it is specified by nobody, so it's more objective, but this pushes the rules for interpreting context out to the users.
Actually, *some* contexts will probably be user-specified. For example, I'm thinking that a website that embeds conversations should be able to programatically specify the contexts for those conversations. But it's true that those are of a somewhat different order: more metadata factoids about the conversation, rather than interpretive data the way tags are.
And good point about the local/global nature of tagging. That said, even in LJ it's a complicated question. LJ really has at least *three* tagging systems (that I think of offhand), all of which produce different behaviours. "Tags" are creator-defined, and are there for -- well, honestly, I'm not entirely sure *what* they're for, because LJ has never leveraged them well. "Memories" are defined by readers, for lookup by those readers. "Interests" are more like a del.icio.us tag cloud model, where the semantics are collectively defined. But they're all essentially tags, and I'm trying to understand how they should be unified as well as where they ought to be separated...
part 1
Date: 2008-07-04 02:07 am (UTC)Context and threading: good point; there's a connection there, but I'm not sure how to articulate it. Will comments have subject lines? We know from mailing lists that conversations meander all over the place with the same subject line, but also that when someone actually does change the subject, that usually signals something important.
Contexts applying to messages sounds right to me.
I seem to have left my killfile thoughts half-baked. The feature I most craved then (and still would like now for mailing lists) is the option to use points. It's not as simple as "always read $subject", "never read $subject unless $clueful-guy posts", etc. There are times when that's true (I read anything from Cariadoc in rec.org.sca and anything from JMS in the B5 group), but most of the time I want weights. $subject_keyword is -2, $interesting_poster is +3, $known_loon is -20, etc. And then I would set a threshold, either a default one or what I have time for today, and let the software sort it out.
This isn't about contexts per se -- but as soon as you provide hooks, some subset of your users will want to use them in expressions. (I'm still frustrated that LJ doesn't give me the ability to write a boolean expression for looking up tagged entries, for instance.) I guess I'm just urging you to think about the use cases for contexts now; it might help you figure out what the design needs to take into account. (You're probably already doing that and this comment was redundant...)
[Comment too long, eh? Ok, to be continued...]
Re: part 1
Date: 2008-07-04 03:53 pm (UTC)Yes, no and maybe. Internally, the schema supports them. (Indeed, main conversation posts are largely the same objects as responses internally.) So far, the UI doesn't expose them, but that may well change. I'm still messing around with that, to see what seems to be useful.
The feature I most craved then (and still would like now for mailing lists) is the option to use points.
Hmm. That's damned interesting, and quite powerful; on the downside, it's so complex that I doubt that most users would go near it, and it's potentially expensive to compute. It's worth chewing on, though -- not just for the mechanism itself but for the *approach* it implies about conversations.
There's a general issue here that I'm still wrestling with: how much is a conversation a clear collective object, and how much is it really just a bunch of individual atoms that should be treated separately. LJ is off at the first extreme (that is, the comments have little existence outside of the main topic); Twitter is off at the other (insofar as there is a "conversation", it is really just a loose convention defined by the participants).
So far, CommYou is sort of squishily in the middle -- which, to be fair, is rather the same as Usenet was. I do (so far) have a concept that messages belong to specific conversations, but I'm not wholly wedded to that, and some of the stories (such as killfiles) imply a different attitude. So we'll see where this winds up going.
but as soon as you provide hooks, some subset of your users will want to use them in expressions. (I'm still frustrated that LJ doesn't give me the ability to write a boolean expression for looking up tagged entries, for instance.)
Oh, absolutely. Indeed, I am explicitly not introducing tagging until there are ways to *use* tags, for exactly this reason -- I find LJ's tags downright irritating precisely because I can't use them for filtering. (And I agree that features without use cases are a bad idea.)
I've been tending to think in somewhat simpler terms -- more binary logic than weightings. But the broad concept is certainly intended to go in...
Re: part 1
Date: 2008-07-04 07:31 pm (UTC)Hmm. That's damned interesting, and quite powerful; on the downside, it's so complex that I doubt that most users would go near it, and it's potentially expensive to compute. It's worth chewing on, though -- not just for the mechanism itself but for the *approach* it implies about conversations.
Yup. The reason I phrased it as "I wanted this there" and not "I want this on CommYou" is that I don't know enough yet to judge the latter. Usenet, CommYou, and mailing lists are all somewhat different. Usenet messages might have also been a little more independent (vis-a-vis the conversation/thread) because you couldn't assume that all the other messages in the thread had made it to the reader at all, let alone in order. That's a consideration that doesn't apply with CommYou; I don't know if it makes a difference.
By the way, I do not recommend that you make a scoring system the primary or only interface. Most Usenet users were happy with the simple killfile. If you go down this path at all (and I don't know if you should), it should be exposed as a refinement for advanced users.
There's a general issue here that I'm still wrestling with: how much is a conversation a clear collective object, and how much is it really just a bunch of individual atoms that should be treated separately.
Yes, that's a fundamental question, and I'm not sure how to determine it or even what all the variables are. Even on LJ you see the occasional desire for a per-user killfile ("I never want to see anything this person posts"), and readers will tune out on some comment threads while continuing with others, but that's pretty coarse. Mostly, if you cut out certain messages in the thread the whole thread will stop making much sense. (Consider posts where someone later deleted/screened some comments but you still see the replies. Weird.)
One more factor that might affect all this: the size of the community. The larger it is the harder it is to read everything and know everyone, and so the less social pressure there is to do so.
part 2
Date: 2008-07-04 02:08 am (UTC)Tags are for publication (signalling content) or for indexing. This tends to vary from user to user and occasionally from entry to entry. I'm an indexer; almost all of my tags are so I can find things later, and if they're informative to others, well, nice bonus but that's mostly not why I do it. My tag sets are crafted to work around limitations in LJ's implementation (which offends my inner purist, but the inner purist is tamed by an outer pragmatist). I think it's because I'm an indexer that the lack of boolean expression grates so much. Anyway, some of the people I read clearly use tags to signal content; whether they also use them for indexing I couldn't say.
My indexing is primarily for me, but I'm mindful of the fact that other people might click on those tag links too. All I can promise, though, is that my "foo" entries will all be of a kind. They will probably not have much in common with your "foo" entries, as we've discussed. And some of them should never be combined in that way; my "my family" tag is categorically different from your "my family" tag. I would never submit such a tag to del.icio.us, but these aren't del.icio.us tags; they have a context (my journal). (Heh. You think of tags as contexts, and that's true too, but tags also have contexts.)
"Memories" are defined by readers, for lookup by those readers.
Sometimes. Look around; there are different uses out there. Some people record only their own entries in "memories"; this was especially useful before LJ implemented tags. Other people save only other people's entries in their memories, using other means to look up their own entries. Other people use a hybrid approach. I haven't kept it up, but I have one memory category for what I think of as my most significant posts (on anything), and almost all of those are cross-entered into some other category too. It seemed like an interesting idea several years ago but, as I said, I haven't been dilligent or consistent about it.
If I could put my own private tags on others' entries, I might not need memories at all. (Note that I don't mean "if I could tag others' entries"; that feature exists, but it's not what I mean. I think a journal's tag set has to make sense in the context of that journal; how I would tag your entry for my use is different from how either of us would tag it for use with your journal.)
"Interests" are more like a del.icio.us tag cloud model, where the semantics are collectively defined.
Good point. I hadn't thought about interests, but you're right -- just another (common, not local) tag.
Re: part 2
Date: 2008-07-04 04:00 pm (UTC)Amusing -- whereas for me, the lack annoys me because I want to be able to filter *other* peoples' entries better. That is, I'm focused on content-signaling, but I want to be able to *use* that in a formal way.
I use tags for indexing a little as well, but of course that's what the Memories mechanism is *supposed* to be for. Unfortunately, having two half-baked indexing schemes proves to be far worse than having one good one would have been -- part of why I lean towards a single, powerful, flexible concept that can be leveraged in a lot of ways.
(Heh. You think of tags as contexts, and that's true too, but tags also have contexts.)
True. It's all about metadata, and the ways that metadata combines.
If I could put my own private tags on others' entries, I might not need memories at all.
Yep -- I've already got a story for that one, for precisely that reason. This is also why I want contexts/tags to apply to *messages*, not conversations -- because sometimes what you want to remember is one specific node in the tree, not the whole thing...
Re: part 2
Date: 2008-07-04 07:37 pm (UTC)Ah. Whereas to me, filtering others' entries is always going to be haphazard -- people use different tags, and some people's posts on X are interesting while others' are not, and... I guess it's more reactive: "reading this post reminds me that I don't want to see any more of those from you".
I use tags for indexing a little as well, but of course that's what the Memories mechanism is *supposed* to be for.
That's how I used to use memories, but having to look at the messages one at a time means I can't easily scan for the one I want, unlike a tag-specific view. These are implementation details, but I think one reason LJ has so many ways to do similar things is that they're all half-baked and implementation details matter. (Another reason is that it all developed organically over years but you can never take a feature away without causing a ruckus.)
This is also why I want contexts/tags to apply to *messages*, not conversations -- because sometimes what you want to remember is one specific node in the tree, not the whole thing...
Absolutely. To take an extreme case: I have one mail folder (called "people") whose sole purpose in life is to collect contact information -- which might well be buried in something else, like a party invitation. I don't care about the invitation two years later; I kept it for the street address.
Re: part 2
Date: 2008-07-04 08:28 pm (UTC)Oh, sure -- what I really mean is that I want to be able to combine tags in with my other filters. For example, fond though I am of
Indeed, one possible UI element is, on the line where I say whether or not to follow a particular friend, I can select from their tags as part of that -- someone might want to specifically follow just your daf bits, or "ignore everything this person tags as TMI".
(Another reason is that it all developed organically over years but you can never take a feature away without causing a ruckus.)
Yeah -- I have to admit that one motivation for trying to cram in a lot of wild experimentation on CommYou right now is that it becomes a lot more difficult and dangerous down the road. While I only have a couple dozen users, it's still feasible to say, "Okay, that was a dead end" and take it out...