Conversation view does not group together all posts in a conversation



Outlook 2013

I can't get OL2013 to properly thread together multiple e-mails in a
conversation. It will thread my reply to the parent message but
someone's reply to me start a whole new conversation. The messages look

Message #1:
Subject: string1

Message #2 (reply to message #1):
Subject: string1
Message-ID: <[email protected]>

So far, so good. Message #1 added its MID header and message #2 listed
it in its References header.

Message #3 (reply to message #2):
Subject: string2
<[email protected]>

Again, good. This message lists the other messages in its References

Message #4 (reply to message #3):
Subject: string2
Message-ID: <[email protected]>
<[email protected]>

So both client are adding the References header to track the hierarchy
of messages so they could be properly threaded together. The thead
should look like:

Message #1: Subject=string1
Message #2: Subject=string1
Message #3: Subject=string2
Message #4: Subject=string2

So why is Outlook 2013 incapable of threading these messages into one
conversation? Instead it shows the first 2 messages threaded together
but show the 3rd and 4th messages as a separate conversation. In
OL2013, I get:

Message #1: Subject=string1
Message #2: Subject=string1
Message #3: Subject=string2
Message #4: Subject=string2

Is Microsoft ignorant of what the Refences header is for? Threading by
the Subject header is a moron's means of grouping messages into a
conversation. Just because the e-mail web apps on mobile devices are
dumbware that don't include the References header doesn't mean the
References header, when available, should be abandoned to thread
together the messages. The References header was part of RFC 822 way
back in 1982 to properly thread together the messages and NOT have rely
on the Subject header (which can change on every reply).

That says "In Outlook, a conversation groups messages that share the
same subject and belong to the same thread." So Microsoft remains
ignorant of how to properly thread together e-mails by using the
References header.

If Microsoft can't figure out how to use References to properly thread
together the messages in a conversation then there no point in using the
Conversation view in Outlook. It's not working and appears deliberately
designed to not work properly (using Subject instead of References). I
had hoped to use the Conversation view to organize multiple discsussions
with multiple participants (all using the References header to allow
proper threading) within the same folder in Outlook. Looks like that's
a no-go and I'll have to create a separate folder for each conversation.


More info:

It appears Microsoft discarded the References header (defined in 1982 in
RFC 822 and then tightened it up in 1987 in RFC 1036). Tis typical of
Microsoft to ignore industry stardards, like RFCs, and go their own way.
It looks like Microsoft uses a threading scheme proprietary to them: add
a Thread-Index header and append IDs for each reply onto that header's
value. This has a key or base value which gets assigned within Outlook
to all messages that are to get grouped together. Obviously different
instances of Outlook (one installed on your computer, another installed
on someone else's computer) aren't sharing the same message store to
know what ConversationID was assigned in a "key" field in the record for
a message. So Microsoft uses their own Thread-Index header to relay
that information to other Outlook users.

This is a Microsoft proprietary header. Other clients won't know what
to do with it. It is not defined by RFC. It is not defined publicly.
Other clients are very likely not to replicate this header in a reply
message. Even if they did, they would need to know Microsoft's
algorithm as to what addition string to append to the base value. My
Outlook instance assigns a ConversationID to my reply and puts this
value into the Thread-Index header. The other person gets my e-mail and
can see the Thread-Index header. When they reply but because they are
NOT using Outlook, their client doesn't add a Thread-Index header and
doesn't know what to do with Microsoft's proprietary header. So when I
get back their reply, it doesn't have a Thread-Index header with a
ConversationID that my instance of Outlook can use to correlate with
other messages in my instance of Outlook. The client is trying to use a
header in outbound e-mails hoping that the other clients will retain
that header in a reply. Yeah, dumb, I know.

So in my conversation with someone else, my Outlook is adding the
Thread-Index header in my outbound messages but the other person's
e-mail client (in this case, probably the Gmail webmail UI) doesn't
carry this information forward by also adding a Thread-Index header with
the same ConversationID value and appending onto it. In his replies,
his client doesn't bother carrying forward headers from my e-mails. So
every time he replies to me, there is no Thread-Index header. Well,
it's a Microsoft proprietary header so it is not surprising that
non-Microsoft e-mail clients do not retain my Outlook's ConversationID
in their replies.

The only way conversation view is guaranteed to work is if you are
talking with other Outlook users. Threading works between Outlook users
because their client, Outlook, coordinates on the Thread-Index header.
Threading doesn't work within the greater e-mail community because
Microsoft snubbed the References header in favor of their proprietary,
non-standard, and non-published Thread-Index header.

With the Microsoft-only Thread-Index, the threading is tracked by
appending onto the Thread-Index header of the parent message to which
you reply. That is, the base key for the parent post is retained while
appending to it a unique ID key for the reply. Each reply will lengthen
the value of the Thread-Index header: basekey+msg1key+msg2key+... This
is already handled by the References header but Microsoft's IDs are
shorter versus appending the complete Message-ID of the parent post onto
the References header. Any time anyone's reply is generated by a
non-Microsoft e-mail client, the threading gets broken because those
non-Microsoft clients are not going to use the Thread-Index header.
This is similar thread breaking when respondents use and e-mail client
that does not include the References header (and which confounds many
members of a mailing list).

Since Microsoft won't use the References header and because
non-Microsoft clients don't know what to do with Microsoft's proprietary
Thread-Index header, Microsoft falls back to grouping by Subject header.
Well, if anyone changes that header's value then grouping fails. If,
for example, you communicate through a server that modifies the Subject
header, like adding an index count, or a spam/ham flag, or so on, then
you can't get Outlook to group those messages despite you can see how
they should be threaded using the References header. Outlook will add a
References header in your outbound e-mails, like in replies but the
won't use it for threading on the inbound e-mails.

Microsoft didn't have a clue how threading worked using the References
header or they deliberately made threading a feature available only to
Outlook users. Since I deal with a number of e-mail users all using a
variety of e-mail clients, including non-Microsoft clients, and because
I obviously cannot force everyone with whom I communicate via e-mail to
use Outlook, the threading feature in Outlook is unreliable and
deliberately made that way by Microsoft. Outlook uses a threading
scheme that no other e-mail client can use. Other e-mail clients use
the RFC standard scheme of using References that Microsoft won't use.

I was first going to say that Microsoft has their head up their butt;
however, upon reflection, I think they take anal pleasure in pushing my
head up their butt. Conversation mode in Outlook stinks. Now I know why.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question