Hacker News new | past | comments | ask | show | jobs | submit login
Gmail vs Pine (snarfed.org)
79 points by njn on April 28, 2010 | hide | past | favorite | 37 comments



"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".


You can also select messages that aren't on the screen. You click "Select: All" and then "Select all conversations that match this search".


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.


Did you try Wanderlust(emacs)? I previously used to have offlineimap(gmail) + Mutt. Wanderlust has wonderful support for IMAP.


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")


This sounds really cool. How does it deal with conflicts?


I believe like IMAP normally does -- newest takes priority.


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.


How old is this article? It says April 2010 at the top, but most the comments are from 2005-2006.


There is a Dublin Core meta data embedded in the HTML head:

<meta name="DC.Date" content="2010-04-17T21:45:00Z" />

No idea about its accuracy.


"Tue, 01 Mar 2005"


I think it's from 2005. The Gmail logo he uses still says 'beta', and he links to this blog entry from 2005: http://www.zeldman.com/daily/0405d.shtml


The last releases of Pine appear to be in '05 too.


Univ of Washington switched to an Apache License, and started calling it "alpine". Last release appears to have been in August 2008: http://www.washington.edu/alpine/changes.html


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).


I was a little confused by this one - what's the usecase for manually bouncing mail?


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'm not sure about manually bouncing but allowing a filter to bounce an email can let you trick spammers into believing they reached a bad address.


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.


You can use C-y to yank killed text back, unless the application is specifically interfering with it.


Thanks! Firefox or one of the plugins must be interfering then.


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?


Actually, isn't there a 'forward all' option now? I know I've used it several times.


Oh, thank you, I haven't realized that they added this!


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.


And it has one of the best IMAP-centric rants, ever:

http://sup.rubyforge.org/svn/trunk/lib/sup/imap.rb

"fucking imap fucking sucks. what the FUCK kind of committee of dunces designed this shit."

Classic.


Using Labs "Mark as Read Button" will reduce the steps required to mark messages as read to two steps (mentioned as the first in ugly)


Alternatively, you can type <period><down><enter>. Period opens the "more actions" menu and you can then use arrows/enter to navigate the menu.


Even better, just hit Shift+I ...


the last thing I need switching from gmail to pine :)




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: