Poll: what number comes at the beginning?
Jul. 24th, 2008 12:47 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
One of the most important concepts in CommYou's new integration with IM is the notion of a "thread slot" -- the number that is assigned to a particular thread of conversation. Since you are potentially juggling several conversations in a single IM window, you need an easy way to refer to a specific one.
At the moment, I'm allowing ten slots at any given time (which seems about as many as you can keep track of anyway). These are, of course, numbered 0 - 9. One of the first points made yesterday (by
laurion) is that that's pretty geeky. Every computer science student knows that the number line starts with zero, but most other people in the world thinks it starts with one.
I suspect he's right, and am leaning towards simply slicing slot 0 away, so you get threads 1 - 9. But before I go changing the code, I figure I may as well do a quick survey of opinion among my admittedly-unrepresentative friends:
[Poll #1228967]
At the moment, I'm allowing ten slots at any given time (which seems about as many as you can keep track of anyway). These are, of course, numbered 0 - 9. One of the first points made yesterday (by
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
I suspect he's right, and am leaning towards simply slicing slot 0 away, so you get threads 1 - 9. But before I go changing the code, I figure I may as well do a quick survey of opinion among my admittedly-unrepresentative friends:
[Poll #1228967]
(no subject)
Date: 2008-07-24 05:57 pm (UTC)But, haven't you heard of the Law of Non-Random Numbers? There can naturally be 0 of something, 1 of something, or N things. Anything else is an imposed limit. If you've got a power of 2 or (n^2)-1, at least that suggests a data representation limit. Round numbers in decimal sound really forced.
Personally, I rarely have more than 3 or 4 IM conversations open at a time, and almost always 1 or 2.
(no subject)
Date: 2008-07-24 05:58 pm (UTC)If you are showing numbers, go with 1-9. Normal people will not feel warm and fuzzy about zero relativity.
(no subject)
Date: 2008-07-24 11:27 pm (UTC)Yeah, a message shows up in IM as something like:
#4 Mark Waks responded: Thursday sounds reasonably good for dinner, at least IMO. ? for help
The thread number is there at the front, and used in places where you need to be able to refer to a specific thread. (For instance, "i 4" means "ignore thread 4" -- that is, I don't want to hear from this thread any more.)
(no subject)
Date: 2008-07-24 06:02 pm (UTC)"Conversation Number XXX" is, of course, ambiguous -- does that mean the Conversation NAMED XXX, or the XXXth conversation. I think that that ambiguity lies at the heart of the problem, and you want to stomp it out. Don't let implementation details sneak into your UI.
(no subject)
Date: 2008-07-24 07:10 pm (UTC)(no subject)
Date: 2008-07-24 07:20 pm (UTC)Now you have to avoid the mathematician's mistake of numbering everything. Do you really keep track of spoken conversations you have, by a number assigned when you start them? Of course not. Often just the person is enough to identify it, sometimes it is person plus a subject. Sometimes something else. Heck, a random icon, for subject might be more useful than a number. (wordpress, for instance, assigns a geometric icon to any identified but not registered user).
(no subject)
Date: 2008-07-24 11:31 pm (UTC)I'm of course not going to bother the user with these slot numbers when they aren't necessary. But the lowest-common-denominator IM integration seems to require them...
(no subject)
Date: 2008-07-25 12:58 am (UTC)I have 1 IM window with two conversations in it, one with you about CommYou, the other with my sweetie about what's for dinner. I get a message saying 'you're crazy'. If it is from B, I know my thought for pork tartar has been vetoed, from you that my programming needs work. I don't care which conversation I started first, nor probably do I remember. If the last comment from either of you has scrolled off, I would have to scroll up just to get the right context. If however, the person's name of icon was there, that would tell me all I needed to know.
Second scenario, I am having two conversations (with possibly overlapping groups of people), knowing who said what isn't enough to unambiguously identify context. Here is where I need a subject identifier. The number of conversation would serve that purpose, but again, I either have to keep that bit of knowledge in my brain at all times (not going to happen), or scroll back and look at previous bits of conversation, find one which matches the current number, and identify the context from it (which may be difficult), then scroll back down, and re-evaluate the new material in the proper context. Or, I could have a more useful indicator of context in each new entry. Ideal would be a user specified one, but I think even a random one with enough uniqueness might do the trick.
You are providing an information-less tag, and if that is all you want to do, you would be better off with one which takes up less space (color for instance).
One of the lessons I took from Tufte is that you don't want to force people to do table lookups. It is better to label things directly than to label them with something that they then to look somewhere else to find the meaning.
Thank You Kindly.
(no subject)
Date: 2008-07-25 03:58 am (UTC)User specified isn't appropriate -- indeed, it misses the point. The identifier in question isn't the user, it's the *conversation*. And insisting that users choose a unique identifier for every conversation is a clear non-starter.
Color is a theoretical option, sure (for clients that support it, which isn't all of them) -- but that provides no handle for reference. How does the user say which conversation he wants to drop out of, or follow more closely? How does he refer to specific messages within it? These are all crucial functions, and you're not providing a handle to hang them off of. You're saying that the tag should take up "less space", but less space than one character is zero -- and that kills all sorts of functionality. That one-character tag is used in many ways. I wouldn't be bothering with it if it wasn't going to be *used* extensively.
(Nor is the scrolling necessary, BTW -- simply type "6", and it instantly spits the conversation info for #6 back at you. This is an interactive system.)
I'm not claiming that numbering is ideal; far from it, it's a stopgap to work with the lowest common denominator UI, which is IM. Ideal would be a client properly designed for this purpose, and that's in the plans for a few months down the line. But it's functional, and the other options you cite aren't. You're making assumptions about how things work that simply aren't true...
(no subject)
Date: 2008-07-25 01:26 pm (UTC)Perhaps, but I have used many conversation systems, starting back in 1981, and I know what I hate.
"The identifier in question isn't the user, it's the *conversation*."
Yes, I *understand* that. That is why I talk about 'subject'. On a side note, you also need 'speaker', but I assume you have that in some way. But really, it is 'subject' that I care about, not some number. If someone comes up to me in person, and says 'remember what we were talking about, I just had another idea.' I might ask for a reference. 'oh the conversation we were having in the grocery store' or 'the one back on Tuesday' are useful responses. 'The one on public transportation' is the best answer, and 'conversation #4' is completely useless.
"And insisting that users choose a unique identifier for every conversation is a clear non-starter."
No doubt, but that wasn't what I was suggesting. I was suggesting that you _allow_ the user to _choose_ a unique identifier. After all, they are the one with the best understanding of what will jog their brain into the proper context.
"How does the user say which conversation he wants to drop out of, or follow more closely? How does he refer to specific messages within it?"
I would want to click on it (that is one of the conversation pieces) and get a menu of such options.
How *does* he refer to specific messages in it? 45th message of conversation #5, isn't going to happen, of course. Clicking on a message long ago scrolled off is a huge pain. I would tend to think users would solve this as they do in verbal conversations i.e. 'going back to your point about doves, I think...' Have you got a better solution? That would be cool.
"I wouldn't be bothering with it if it wasn't going to be *used* extensively."
And I am saying I don't want to use it. WoW uses channel numbers and they are a PITA. Actually they use both numbers and subjects, subjects are much easier to remember (though even that implementation sucks). It should be noted though, that all messages have both the number and subject (and speaker) at the front.
(Side thought: How long are conversation numbers maintained? This is one area that WoW really falls down. If you leave a channel the number gets reassigned, so a channel you are often in, isn't consistently the same number. I would probably want a sweetie conversation, that I could access easily at any time (even between sessions) which never changed. Other conversations would come and go of course, but while numbers would need to be recycled, subjects could be kept longer (again, between sessions even).)
"Nor is the scrolling necessary, BTW -- simply type "6", and it instantly spits the conversation info for #6 back at you. This is an interactive system.)"
Which conversation information? Participants yes. Last comment? Last comment by the same speaker? Subject?
How is this better than clicking on a message and getting the same thing?
I think perhaps you are getting a little too close to the implementation. If you want me as a customer, I will want something better than numbered conversations. You are arguing like I do when I have already coded it, and love my code, but the customer wants something completely different (or even something just better, that they can't articulate). Take a step back, reread my posts, think like Steve Jobs.
Here is an idea which I might find acceptable. Subject can be entered by the user at any time. Subject can be selected from a word in any comment. Subject will be chosen by the system from frequently used, uncommon words in the first message. Subject is shrunk (somehow) and used for all messages. Better ideas no doubt exist.
Here is an idea if you still don't believe me. Go into your email program and reduce the size of the subject field to 1 character (turn off threading if you have it). Useless, yes? Now go in and manually change the subject of a bunch of messages by inserting a number in front (one for each different subject), so that is what you see instead. Did that help? It wouldn't help me.
Thank You Kindly.
(no subject)
Date: 2008-07-25 03:12 pm (UTC)And that's appreciated. But keep in mind, I've been doing the same for pretty much as long, with probably at least as broad a collection of systems. And I've been working on this project for a year now. So while I'm quite open to changes (indeed, I expect to do a lot of iterating over the design of the IM integration over the next three months), please remember that the design wasn't arrived at lightly. There are a lot of considerations that I'm balancing here.
No doubt, but that wasn't what I was suggesting. I was suggesting that you _allow_ the user to _choose_ a unique identifier. After all, they are the one with the best understanding of what will jog their brain into the proper context.
Fair enough; that isn't what I thought you were talking about. If you're suggesting essentially the same thing
I would want to click on it (that is one of the conversation pieces) and get a menu of such options.
That would certainly be great (and is kinda-sorta what the long-term client will probably do), but remember that we're talking about interacting through bog-standard IM systems here. I don't even really have the full power of XMPP to work with, because most clients don't seem to leverage that power well.
Essentially, I have a single command-line environment to work with (maybe, but not necessarily, with HTML available) -- I'm going to make that as intuitive and useful as I can, but the options are highly constrained. So the only thing I can really do with clicking is a hyperlink to a web page. (Which already does the right thing -- it takes you to that conversation, so you can see the larger context.)
How long are conversation numbers maintained?
Initially, it's a simple LRU, so conversations age out once they die down. If the conversation comes back to life later, then it will change numbers, yes, but it's not related to login session like WoW -- this is server-maintained. (Indeed, login doesn't really have anything to do with this mechanism.) I'm open to making that smarter, and there are a bunch of things we might try out to do so, but I want to see how it works in practice first, before screwing with it.
Assuming I go with the user-assigned labels, those will age away similarly in the first version, but if it looks like folks are using the mechanism and liking it, I'll make them persistent. (Which isn't hard, but it's enough work that I want to make sure the tool is useful before I do it.) The slot numbers will still age away, but the labels will be permanent. (Modulo some complications of ambiguity.)
Which conversation information? Participants yes. Last comment? Last comment by the same speaker? Subject?
Initially just subject, but that's fairly arbitrary -- we can fiddle with that and see what information seems appropriate and useful. Adding any of the above is straightforward, if we decide it's useful.
[...]
(no subject)
Date: 2008-07-25 03:14 pm (UTC)You are arguing like I do when I have already coded it, and love my code
No, really not -- I am more aware than anyone of the limitations here, and am not only willing but actively planning to evolve it quite aggressively. But you haven't played with it yet, and I really think you don't understand the environmental limitations I'm working with for this particular feature, nor the scope of what's going on. If I seem to be pushing back hard, it's because some of your suggestions flatly aren't possible; indeed, some don't even make sense in context. I think you're over-reaching in your recommendations, without actually knowing much about the system you're talking about.
Also, you seem to be treating this as the be-all and end-all of the system, which is far from the case. This is already just one piece of the puzzle: one particular mode of interacting with CommYou. It is, without a doubt, the most constrained and least powerful of the bunch -- however, it is also the one that has massive desktop penetration already, so I can't simply write it off. The commercial reality is that CommYou needs to be able to play with IM as best it can; the question is simply what the most appropriate compromises are within that environment.
The fact is, this thing is as far from locked-in as it can be. In the first two hours of it working, the active users came up with a dozen suggestions for changes that I've put into the near-term story list; indeed, several have been implemented in the 36 hours since it went live. But those come from actually *using* the thing. Without that, it's hard to understand the problem well enough to come up with consistently coherent suggestions for changes...
(no subject)
Date: 2008-07-25 05:48 pm (UTC)(no subject)
Date: 2008-07-24 11:27 pm (UTC)(no subject)
Date: 2008-07-24 07:23 pm (UTC)(no subject)
Date: 2008-07-24 08:33 pm (UTC)(no subject)
Date: 2008-07-24 10:43 pm (UTC)noo,noo,noo,noo; they aren't geeky; they don't care what a number line starts with. Counting starts with one. 1 uno.
My sisters use Facebook. They start the count with one. Think like a kindergartener, not a g'rup; the app will be much easier to use.
(no subject)
Date: 2008-07-25 03:32 pm (UTC)(no subject)
Date: 2008-07-26 05:19 am (UTC)(no subject)
Date: 2008-07-26 03:08 pm (UTC)(Really, I *do* know that intellectually; I simply goofed. While it seems to have been taken otherwise, this poll was mostly intended as, "this was a mistake, wasn't it?")
(no subject)
Date: 2008-07-26 03:45 pm (UTC)(no subject)
Date: 2008-07-26 08:08 pm (UTC)(no subject)
Date: 2008-07-24 08:56 pm (UTC)The masses don't start numbering things at "0". They start at "1". You should start where they do.
(no subject)
Date: 2008-07-26 03:12 am (UTC)(no subject)
Date: 2008-07-24 09:16 pm (UTC)For basically "normal" humans, one seems the better choice.
(no subject)
Date: 2008-07-24 11:11 pm (UTC)Unless there's something special/unusual about #0.
(For instance: If you're numbering comments, I could see the original post being #0.)
But that doesn't seem to be the case here - and even then, it could be confusing.
(no subject)
Date: 2008-07-25 03:36 am (UTC)Subject lines are good for conversations but verbose for IM. But subject lines can be compressed -- one key word or an abbreviation -- at a little more pixel load but less cognitive load than numbers. In a later use case (I don't expect this in an early version), it would really rock if clients get to set that tag locally. 'Cause the conversation might be mainly about new features in Java 7, but I'm watching it because I just got a resume for a senior-guru position from one of the participants. Or it's about styling of 15th-century Italian balli, but I'm really just following the entangled thread about the class that Master So-And-So is going to teach on this at Pennsic. Conversations aren't about the same things to every participant, necessarily.
(no subject)
Date: 2008-07-25 04:03 am (UTC)Yeah, that's a story I'm contemplating -- essentially a command "Assign the label 'PennClass' to conversation 3 for me". I'm waiting to see whether it proves important in practice (we'll see over the next week or two), but it's on the list of serious possibilities. It's actually pretty easy to implement (probably just an hour or two for a first cut, maybe a day to do it well), so it's mostly a matter of whether and when it fights it way up the priority list, and what the command looks like...
(no subject)
Date: 2008-07-25 09:27 am (UTC)I appreciate your earlier comment that this is easy from IM, but it's still something that could be avoided if I could have a tag that is more likely to trigger my memory attached.
(BTW, this page (http://commyou.com/) is a 403; might want to just force a redirect to the real site, as I thought I got the domain wrong...)
(no subject)
Date: 2008-07-25 02:30 pm (UTC)Fair enough. Given that this is fairly easy to implement (at least well enough for test purposes -- making the labels persistent will be a little more work), I may push up the initial version to higher on the priority list, and we can see how it works in practice.
(BTW, this page is a 403; might want to just force a redirect to the real site, as I thought I got the domain wrong...)
Hmm. Good point -- I'll point that out to Aaron (my CIO). Thanks!
(no subject)
Date: 2008-07-25 02:39 pm (UTC)(no subject)
Date: 2008-07-25 03:16 pm (UTC)(no subject)
Date: 2008-07-26 02:29 am (UTC)Okay, now working right. Not sure what happened, but I suspect it was a casualty when we did some DNS rearragement recently. Thanks for pointing it out...
(no subject)
Date: 2008-07-26 06:43 am (UTC)I won't say that for sure, just something to put on the back of your mind. I've never put effort into caring about it, but I've never put any effort into SEO in general.
(no subject)
Date: 2008-07-26 03:01 pm (UTC)(no subject)
Date: 2008-07-25 04:31 am (UTC)