From: "W. Trevor King" <wking@drexel.edu>
To: sup-devel@rubyforge.org
Subject: [sup-devel] email threading - tree vs. graph
Date: Thu, 18 Feb 2010 06:49:44 -0500 [thread overview]
Message-ID: <20100218114943.GB911@mjolnir> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 2523 bytes --]
Hey all,
I thought I'd ask this on sup-devel, since you guys have been thinking
about email organization and "a better mutt" sounds pretty awesome ;).
Sorry if it's too far off topic.
Since email can have multiple parents [1], why does everyone make
threads trees rather than directed, acyclic graphs (DAGs)? DAGs seem
really common for version control systems, and completely missing for
email clients, even though the inheritence structure is identical.
For example, here's a slice from the recent be-devel list as a graph:
...............
| *-|-\ | | Mon Jan 25 W. Trevor King Re: Project releases
| * | | | | Sat Jan 23 Gianluca Montecchi Re: Project releases
| | | | t | | Sat Jan 23 Gianluca Montecchi Re: Project releases
| *-|-|-|-\ | | Fri Jan 22 Ben Finney Re: Project releases
| | | * | | | | Fri Jan 22 W. Trevor King Re: Project releases
| | | *-/ | | | Thu Jan 21 Ben Finney Re: Project releases
| * | | | | | Thu Jan 21 Gianluca Montecchi Re: Project releases
*-|-|-/ | | | Thu Jan 21 W. Trevor King Re: Project releases
...............
^--- inheritence graph.
You can see that Ben's Fri message and my Mon message both have two
parents.
On a sup-specific level, problems with the graph (vs. tree) is that it
may make threads too 'sticky'. With your thread-centric approach,
you'll want to break threads when the topic mutates too far from the
original, and that could be difficult for meshy-graphs. Perhaps you
will want to leave the sup guts unchanged, tack on an optional graph
view, and add an 'other-parents' option when browsing from messages
with multiple parents.
On an implementation level, I've got the above graph browser going
in python/curses, so it should be easy to port to ruby/curses.
Thoughs?
Thanks,
Trevor
[1] RFC 2822, section 3.6.4, http://www.faqs.org/rfcs/rfc2822.html
The "In-Reply-To:" field will contain the contents of the
"Message-ID:" field of the message to which this one is a reply (the
"parent message"). If there is more than one parent message, then
the "In-Reply-To:" field will contain the contents of all of the
parents' "Message-ID:" fields.
--
This email may be signed or encrypted with GPG (http://www.gnupg.org).
The GPG signature (if present) will be attached as 'signature.asc'.
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy
My public key is at http://www.physics.drexel.edu/~wking/pubkey.txt
[-- Attachment #1.2: Type: application/pgp-signature, Size: 198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 143 bytes --]
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel
next reply other threads:[~2010-02-18 12:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-18 11:49 W. Trevor King [this message]
2010-02-21 6:38 ` Tero Tilus
2010-02-21 13:42 ` W. Trevor King
2010-02-21 17:52 ` Nicolas Pouillard
2010-02-21 19:29 ` W. Trevor King
2010-02-22 14:00 ` Nicolas Pouillard
2010-02-22 15:54 ` W. Trevor King
2010-02-22 16:04 ` Nicolas Pouillard
2010-02-22 16:48 ` W. Trevor King
2010-02-23 10:29 ` Nicolas Pouillard
2010-05-25 18:50 ` W. Trevor King
2010-06-03 4:27 ` Rich Lane
2010-06-03 10:21 ` W. Trevor King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100218114943.GB911@mjolnir \
--to=wking@drexel.edu \
--cc=sup-devel@rubyforge.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox