Mutt releases version 2.0
lwn.net
lwn.net
This seems somehow wild to me. Why don't other email apps use the appropriate header fields? Why do they even try to use the subject field? Why do they insist on quoting the whole thread text below the message body? Why not do all this the proper way?
I’ve had discussions with various groups that I’ve worked with where some people get the idea to move to Slack or some other platform, because email is not working well enough. When I ask them what the problem is with email, they start describing the shortcomings of...Gmail. They actually have no problem with email, they’ve just never used an email program.
anyway one shouldn’t blame gmail. it’s outlook that forced gmail’s hand.
furthermore, like a bike vs car accident, you can be correct and still dead. mutts insistence of “keeping the thread” when users change the subject is “correct” yet still dead. 99% of users — aka normies — reply to an existing message when starting a new thread. changing the subject in almost all cases is intended to create a new thread, not a new subthread.
one has to work with the users you have, not the users you wish you had.
Things like this, along with tools like t-prot¹, allow you to live the mail you want while still interacting with others ;)
what i find fault with in the lwn article is the "attack" on gmail. gmail has its reasons for doing the things it does, good reasons.
i actually liked mulberry quite a lot. especially the feature where 'reply' brings up an interstitial allowing you to select to/cc/bcc for each recipient. another aspect of email completely lost on normies. but it's day has passed.
I take your point, very well. But a fundamental disagreement we have is your generous opinion of the 90 %ile user's ability and desire to become an email expert. The loss of that battle was recognized in September 1993.
gmail didn't relinquish its duty to educate users as it became popular; it became popular (in part) because it did things in a simpler way, that users didn't have to "learn" how to use. The vast majority of folks do not care about such trivialities as following a thread. It requires forethought that they do not want to invest.
You have to meet users where they are at. One can wish for better users, sure. That's not a winning strategy.
As well, I still maintain it's unfair to pick on gmail. They had to follow Outlook. Outlook willfully broke threads for other MUAs by not including In-Reply-To headers. That was just evil. At least gmail generates In-Reply-To and References headers! Which Outlook drops. Outlook should be the bogeyman for your article, not gmail!
Thank you for informing me about the role of Outlook in this. I used Gmail as my example because it seems to be taking over, at least for “normies”, as you call them. So the average person’s idea of what email is comes from experience with Gmail. It’s possible I’m underestimating the importance or prevalence of Outlook, as I deal less with corporate types than academic and publishing types.
That's exactly what I always do. And I don't do that to find the address. I do that intentionally because I actually want the whole history of communication (even if it spans years and hundreds of messages) with a particular party to be a single huge tree thread.
This all started with Microsoft Outlook back in the '90s. At that time, most email clients, even the GUI ones did handle threading using the References and In-Reply-To headers (even Outlook Express oddly enough). IIRC, the online webmail clients took the same approach that Outlook did in terms of message threading and quoting. As they became more popular and desktop clients fell by the wayside, the Outlook convention took over. FWIW, Thunderbird is one GUI based email client that also properly displays threaded messages.
More recently, email clients have introduced the conversation view where they can display a thread as a conversation by only showing the parts of the series of messages before the quoted original message. This has an unfortunate side effect of essentially not displaying any message where someone decides to trim quoted material and post their responses inline. In a client that expects top-posted responses, an inline response shows up as a blank message (making the recipient think that you sent a blank email by mistake).
But I do find it interesting that people want to treat email like a synchronous chat with a single thread of messages, but people want to have threaded conversations in chat clients like Slack.
For example, I am a moderator for a popular subreddit. I've written a Python app that uses the requests module to interact with the Reddit API and displays the items on the mod queue via curses, Mutt-style. I use columns to give me succinct metrics on each element, such as the number of times the author of a submission posted the same URL across other subreddits (that's a strong indication of spamming). I move around the list with vim-like key bindings (i.e. k/j for up/down), and when I want to approve a post or comment, I just hit 'a'. If I want to remove a post or comment and ban the author, I just hit 'b'. If I want to dig in to the post or comment to get more data about it, such as view its full contents along with all the reports on the item, I just hit space or enter. From there I can hit one of the usual keys to approve, remove, etc.
Since I'm a huge fan of instant UI feedback, I immediately remove the item from the list once I've hit a keystroke to take action on it. I asynchronously schedule the Reddit API call on a queue that implements the action, making sure to .join the queue on the app quit path so if I'm feeling especially twitchy about blasting through the mod queue and leaving before all the API calls can complete, I don't leave them dangling.
Any time I have any tasks at work that require manually making quick-fire decisions about largely homogeneous tasks, I routinely evaluate how hard it is to hack up a similar Python+requests+curses app to mimic Mutt. It's addictive. It's also mildly infuriating when someone builds a tool and forces you to use their "super special value-add web UI" without providing a stable and documented RESTful API.
Even if I can funnel only 90% of the stuff through my Mutt-like app and need to resort to the web UI for 10% of more special-case items, I still count that as a big win for my personal productivity (and sanity).
https://github.com/SnakeyHacker/modpy/blob/main/main.py
I'm not proud of it. It's completely undocumented. I'm smack in the middle of completely rewriting what I had yesterday, and I haven't tested it in its current state. I've discovered PRAW and am trying to use it rather than make direct requests to Reddit's API. I'm not yet convinced that's a good idea. So it's almost certainly somehow broken right now. I can't promise I'll maintain it or pay any attention to bug reports or pull requests.
But hey, sometimes random code on the internet just needs to be random code on the internet. Maybe it can inspire someone more competent and dedicated to a project like this to fire something up.
auto_view text/html
in your startup file, and Mutt will consult your mailcap file to see what viewer you prefer. It will use that (lynx, w3m, etc) to display the HTML email in the pager as a default.For calendar invitations: I've never tried to integrate that, but if they are attachments with a mime type, you can put instructions for processing them in the mailcap as well.
Seems also like it is not actively maintained currently, but I'm hoping it's probably feature-complete and stable enough to be in mostly maintenance mode. For anyone else who might be interested: https://github.com/astroidmail/astroid/issues/669
There's .mailcap and dumping the HTML through w3m trickery that I know about now that probably bears revisiting mutt.