"If no email is selected, the Y key should archive the email under the cursor. This should be common sense."
Nope, bad idea. I inadvertently hit keys often enough that the message "No messages are selected" is engraved in my brain. Don't make these bad key hits do actions.
If you click the little blue arrow in the top-right corner of an individual message, there is a "Filter messages like this" option. It has been there for quite some time. Also, marking a message as read is "<shift> + i".
Decent critique of Gmail, but the title seems a bit of a misnomer -- it really seems like an article about Gmail, with a few mentions of Pine thrown in. Given that it's presented as "X vs. Y", I would have at least expected the "Bad" and "Ugly" sections to have some comparison showing how Pine was better in those regards.
I actually use Gnus and Mutt with my Gmail accounts, via the offlineimap http://github.com/jgoerzen/offlineimap Python app. It creates a (ridiculously huge) maildir and then I can freely browse it with Gnus, Mutt or any other MUA. It syncs read/unread, labels/folders, etc. both directions. It has filtering, renaming, and other nice stuff you can put between your maildirs and Gmail accounts.
I run it on a cronjob. With this setup, I get the great Gmail interface (and push support to my iPhone/Nexus One) when I'm on the go, and the lightning-fast Gnus/Mutt interfaces for blazing through mailing lists when I'm at a computer.
One problem is that sometimes offlineimap throws exceptions and doesn't finish a sync. I think it needs some touching up or updating. I haven't lost any data, though.
I thought of setting up offlineimap -- I'm a huge Gnus fan -- but more so I don't have nnml hierarchies only accessible from only one machine. How do you handle Gnus's grotesque Maildir support though? I'm given to understand it doesn't support Maildir flags and will put its own flags off to the side where nothing else (including, presumably, offlineimap) can read them. That and it makes a ton of links to the specific filename for its indices so I imagine everything would break and there'd be lots of space lossage if offlineimap moves messages around under it.
If you're having good luck with offlineimap/nnmaildir though then that's encouraging and I might try that.
i use mutt with header+body caching, and a small patch to write those cached messages in a maildir format (http://jcs.org/notaweblog/2008/09/29/making_mutt_useful_offl...). this lets me access imap quickly and directly and always have fresh messages, not have to continually run something from cron on my laptop when i'm not reading mail, and still have a full cache of messages to access offline in maildir format if i need it.
on my server i have procmail setup to write a copy of every incoming message (that isn't to a mailing list) to an "allmail" folder that i rotate yearly. this lets me prune my inbox without fear of losing anything, as i occasionally have to search through the allmail folder to find an old email. using mutt's body searching usually finds what i need, and since all of those messages are cached offline, it's relatively quick.
for the rare times when i need to find something that mutt can't find on its own, i use mairix to search the local maildirs, which writes search results to a new maildir, which i can read in mutt.
Would you mind posting your offlineimap and Gnus configuration (sans passwords) somewhere. I've had a few false starts with Gnus and always get lost customizing something. Maybe there's a nice tutorial for this somewhere?
;; Gnus
;; . http://jfm3-repl.blogspot.com/2007_12_01_archive.html
(setq mail-user-agent 'gnus-user-agent) ; always use gnus for email
(setq message-send-mail-partially-limit nil) ; never split messages
(setq message-signature nil) ; no .signature
(add-hook 'message-send-hook 'ispell-message) ; spell check on sent
;; . encrypt .authinfo file
(require 'epa-file)
(epa-file-enable)
(setq epa-file-cache-passphrase-for-symmetric-encryption t)
;; . define mail/news sources
(setq gnus-select-method '(nnnil "")
gnus-secondary-select-methods
'(
(nnml "")
;; to add rss: type G R in *Group* buffer; when asked, paste url
(nnimap "gmail"
(nnimap-authinfo-file "/path/to/.authinfo.gpg")
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl))
))
;; Accessing the [Gmail] folders http://www.emacswiki.org/emacs/GnusGmail
(setq gnus-invalid-group-regexp "[:`'\"]\\|^$")
(setq gnus-ignored-newsgroups "")
;; After that, S s to the groups as specified above. Before doing
;; anything else, G c configure each Gmail line, and hit [done]. Gnus
;; will pick up “another” group, this time without the nnimap+gmail
;; designator. C-k the old group and it works! (I don’t know why; I
;; originally wanted gcc-self “nnimap+gmail:[Gmail]/Sent Mail” on
;; INBOX and this was the easiest way to arrange that. Magically, it
;; picked up the new INBOX and everything worked, even across
;; sessions.)
;; . save sent items
(setq gnus-message-archive-method '(nnimap "gmail"))
(setq gnus-message-archive-group "nnimap+gmail:[Gmail]/Sent Mail")
(setq gnus-gcc-mark-as-read t)
;; .
(setq gnus-thread-sort-functions
'(gnus-thread-sort-by-number
gnus-thread-sort-by-date
gnus-thread-sort-by-total-score))
(setq gnus-summary-line-format
"%U%R%z %d %I%(%[%-25,25n%]%) %s\n")
The single reason that I choose gmail over desktop clients are the conversations - the ability to see all email bodies of one email exchange in a single page is indispensable for me. Another smaller reason is a search. If some desktop client would implement conversations (but by displaying email bodies, not only headers like Outlook or Thunderbird do), I would probably switch.
It's interesting that so many of his issues still apply.
My personal beef: have you ever had a message mis-identified as part of a conversation? Or, ever had someone reply to a message with a slightly mangled subject line or other hint to GMail that it's a separate discussion?
I will declare my undying appreciation for anyone who tells my how to manually separate a message from (and alternatively, attach a message to) a conversation.
The inability to "bounce", ie. re-send, was also very jarring for my personal workflow. I understand why it's not there by default, both from a user understanding perspective and from a technical "don't break SPF/DKIM" one, but it's unbelievably annoying not being able to "bounce" a message from account to another (ie. from an apps account to a gmail.com account, for example).
I'm surprised to see so many people who are happy with Gmail's labeling; conceptually, tagging email is fantastic, but the UI experience in Gmail is awful. (Too much friction is involved. When I sit down to label something I don't want to select one or two from a drop-down, I want to just type a series of applicable tags in one shot, perhaps with a bit of ajax auto-fill-in. With so many other nods to keyboardists elsewhere, this still surprises me.)
Not that complaining about this stuff on HN will address any of it for me. ;)
I got to agree about the lack of "bounce" - I could never move my work email to gmail for that reason alone (not to mention my preference of writing emails in my native editor).
Sorry, "bounce" is the command for "Resend mail" (not rejecting email) in a lot of unix mailers. Say A sends an email to B who sends it to C.
If B forwards it to C, the email appears to come from B.
If B "bounces" it to C, the email appears to come from A.
(it's the Resent-to header in RFC 822 IIRC)
So say you get a bug report from A than you know only C can fix, by bouncing it to them they get to easily reply directly to A and get on with it, leaving you out of it...
I use emacs_chrome with Google Chrome which allows me to write E-Mail in Emacs (or actually, any editor). Under Firefox you can use the It's All Text! extension to shell out to any editor.
For Mac users who might not know, the standard text widgets in OS X use a subset of Emacs keybindings, so you can use C-a, C-e, etc to quickly navigate, which is handy if you have your Caps Lock key remapped to Ctrl (in the Keyboard system preferences) and are used to Emacs.
Two caveats: 1) no meta key, which makes navigation less handy sometimes; 2) C-k will kill the line, but I haven't found a kill-ring and you can't use C-y to yank the line back! This has bitten me a couple of times.
It's definitely nothing close to having a full text editing Emacs widget, but I've found it handy.
And there is room for improvement in gmail yet. I've always been incredibly frustrated by gmail's inability to forward complete conversations. Here they are, all together. And now I can forward them to someone, one at a time, or I can... do what? Go to "print", copy the HTML output back into an email?
Old as the article may be, if anyone is interested: http://sup.rubyforge.org is a gmail-inspired command-line mail client. Threading, tagging, full-text search, hooks etc.