Vince Littler <suse@archipelago.eclipse.co.uk> [2003-04-23 12:28]: <snip>
Now we get to the core of it. Firstly, there is some sort of data structure within email which supports threading. But secondly, this data structure is _only_ [partially] visible at the receiving end, but it is controlled at the sending end, where it is not actually normally 'visible' to the sender as part of his Application Interface [ie email client].
It's not a data structure. Threading depends on the presence of the Message-ID, In-Reply-To, and References headers which were specified in RFC822 in 1982 (no typo). If you can't see them (except perhaps the new Message-ID and References that will be created when your message is sent), then you have a poor MUA. The fix is obvious, unless you're mailing from a corporate environment that demands that everyone use a broken MUA.
My own take on this is that although the infrastructure is in place, the threading feature is not sufficiently mature for anything other than voluntary use because: 1] there is not sufficient agreement on the application of the feature [eg the issues raised by Anders] 2] hence there is no actual standard in place 3] hence there is no client support for a threading standard, particularly at the sending end [eg 'reply to current thread' and 'reply to new thread'].
Now, if _all_ these issues were sorted out, I would feel that barking at newbies for violation of thread integrity would be justified. But let's face it, on the majority of clients there is no button to press or drop down dialog or anything to see what thread you are on or change it in any way - the user only has the reply button and the 'subject' fields to play with - I know, you told me how to do this - it is easy, but it is far from obvious.
Users (usually) have the option of picking a compliant MUA. If they choose not to, that's their problem and they should be prepared for complaints from people who use compliant MUAs. It's much like letting one's dog sh*t on a neighbor's lawn. People who do it should not be surprised if they get complaints or worse, and saying, "It's not a problem for _me_. Why are you complaining?" isn't going to make the neighbor less angry.
In other words, the problem is _not_ a User problem, it is a User Interface problem. As such, I think the constructive place for addressing the problem is with 1] 2] and 3] above. The hardest part is 1], but with this, 2] could be easy and a selection of clients supporting 3] would be totally possible. Until then, perfect threading will surely be a dream.
Perfect threading will always be a dream because there will always be broken MUAs and people who use them, either out of ignorance or lack of regard for others (nothing personal intended). This is no reason not to use a thread compliant MUA, because several exist. Good MUAs have implemented threading for many years. Below is an example using Mutt (note that a single r(eply) key serves to both follow up or start a new thread): ====================< message to be replied to >================= Subject: Re: header test Message-ID: <20030423202659.GK1282@syntax.nosyntax.net> References: <20030423202413.GJ1282@syntax.nosyntax.net> In-Reply-To: <20030423202413.GJ1282@syntax.nosyntax.net> rex <rex@nosyntax.net> [2003-04-23 13:25]:
header test
boo =======<note that the relevant headers are (optionally) visible >====== =========< what shows in my editor after hitting r(eply) >====== From: rex <rex@nosyntax.net> To: rex@nosyntax.net Cc: Bcc: Subject: Re: header test Reply-To: In-Reply-To: <20030423202659.GK1282@syntax.nosyntax.net> rex <rex@nosyntax.net> [2003-04-23 13:28]:
rex <rex@nosyntax.net> [2003-04-23 13:25]:
header test
boo ========< note that In-Reply-To: is visible and may be deleted >======== (If nothing is added to Cc, Bcc, or Reply-To, these headers will be automatically deleted before the mail is sent. Note that the From: header can be edited)
========< 1st reply leaving In-Reply-To: unchanged >===================== Subject: Re: header test Message-ID: <20030423203016.GM1282@syntax.nosyntax.net> References: <20030423202413.GJ1282@syntax.nosyntax.net> <20030423202659.GK1282@syntax.nosyntax.net> In-Reply-To: <20030423202659.GK1282@syntax.nosyntax.net> rex <rex@nosyntax.net> [2003-04-23 13:28]:
rex <rex@nosyntax.net> [2003-04-23 13:25]:
header test
boo
Left IRT intact ======< note that References and In-Reply-To are handled properly >====== ========< 2nd reply -- In-Reply-To: was deleted >===================== Subject: Re: header test Message-ID: <20030423202910.GL1282@syntax.nosyntax.net> rex <rex@nosyntax.net> [2003-04-23 13:28]:
rex <rex@nosyntax.net> [2003-04-23 13:25]:
header test
boo
Deleted IRT ======< note that the References & In-Reply-To are gone >============= Note that Mutt allows either posting a thread-compliant followup OR creating a new thread with the same r(eply) key. In the latter case, the In-Reply-To: header needs to be deleted, but it's trivially easy because the line appears in the editor where the reply is being composed. When that is done, Mutt automatically deletes the (unseen) References header. -rex -- In the 60s, people took acid to make the world weird. Now, the world is weird, and people take Prozac to make it normal.