snarfed.org

draw group stream of consciousness

gmail vs pine

Wed, 01 Jan 2003 [comments (39)] [history] [rdf] [raw]

/space/pine.png/space/gloves.jpg/space/gmail.png

I've used Pine as my email client for, well, pretty much forever. I use it because it's fast, powerful, stable, and very keyboardable. (I hate the mouse.)

However, since I work at Google, I'm constantly bombarded with people who ask me why I don't use Gmail. After hearing the nth person brag about how much it increased their productivity, I finally broke down and tried it. I didn't expect much, since I've never liked web-based email clients. However, I made myself use it as my only email client, for a month, to give it a fair shot.

I ended up using it for five weeks, and while I eventually switched back to Pine, I liked Gmail a lot more than I expected. It made me question lots of things I took for granted, and showed me that there's plenty of innovation left in email clients. I'm currently writing patches for Pine to implement the features I miss most from Gmail. (Many people have gone the other direction and written Greasemonkey scripts for Gmail to add features and customize it to their liking.)

Here's the good, the bad, and the ugly of Gmail, compared to Pine. My opinions are not those of my employer, look both ways before crossing the street, don't run with scissors, etc.

The Good

The Bad

The Ugly

See also:

comment bubble OpenID paulproteus, Sun 10 Apr 2005

If you add labels support to PINE, that would rock. Similarly, what is the best/fastest way you have found to view conversations/threads in PINE?
    • Asheesh.

comment bubble OpenID ryan, Mon 11 Apr 2005

hmm. i never really found a need to apply multiple labels to emails, so folders work just as well for me. i don't have any plans to add label support to pine.

you're right about threads, though. pine doesn't handle them nearly as well as gmail. gmail's big win there is the way it treats threads as a single entity, specifically in conversation view (which kicks ass), and applying user actions to whole threads by default.

pine has sort by thread - $ H in an index page - but it's rudimentary, and dog slow. eduardo chappa's fancy thread patch is better, and can apply user actions to whole threads, but there's no "conversation view" patch. to be truly competitive, threading support would need to be built in from the ground up.

still, nancy mcgough or gopi sundaram might have something i missed. let me know if you find anything!

comment bubble OpenID ryan, Fri 26 Aug 2005

check out Pine's keywords. they work pretty much the same as tags or Gmail's labels. (M)ain, (S)etup, (C)onfiguration, and add them to the keywords option. then you can set them on messages individually with (*) Flag, in aggregate, and with filters.

comment bubble OpenID Guest, Tue 21 Mar 2006

Great post. I'm a fellow PINE junkie who is similarly pestered to "get with the program" and use a "real" mail client.

I do want to ask you a technical question. Do you know why PINE doesn't quote replies to gmail messages correctly and how to fix this? It seems it may have to do with the fact that Gmail base64 encodes their messages. For example, here is a simple message from a gmailer, as it's displayed in PINE (the following is NOT a real mailing address):


Date: Sat, 11 Mar 2006 19:01:10 -0800

From: A Friend <xxxxxxxx@gmail.com>

To: Michael <msa@xxxxx.com>

Subject: Address

101 N. Kingsley Dr.

Los Angeles, CA 90000

A Friend


and here is how PINE quotes it in a reply


On Sat, 11 Mar 2006, A Friend wrote:

> 101 N. Kingsley Dr.

Los Angeles, CA 90000

A Friend


Only the first line is indented with a '>'. The rest are not.

This is a very annoying "feature" of PINE. Any thoughts?

- Michael

comment bubble OpenID ryan, Tue 21 Mar 2006

hi michael! i agree, i hate this too. it's not at all clear whether it's pine's fault or gmail's, though.

my first guess would be that gmail isn't formatting line endings as specified in RFC 2822. maybe they're leaving line feeds or carriage returns out. either way, i'd bet someone on the pine-info list would know!

comment bubble OpenID Guest, Wed 22 Mar 2006

News Flash!

Eduardo Chappa of pine-info fame has made progress on the "replying to GMail" issue. We don't have a definitive solution yet, but as a workaround if you put a "." in your display-filters variable the problem should go away. Try it!

- Michael

comment bubble OpenID Guest, Wed 22 Mar 2006

Eduardo Chappa has posted a patch to Pine which fixes the "replying to GMail" issue. Check it out:

http://www.math.washington.edu/~chappa/pine/info/prefixbug.html

- Michael

comment bubble OpenID ryan, Thu 23 Mar 2006

cool! that's really really nice. i haven't tried the patch yet, but the display-filters workaround works.

out of curiosity, i've never seen "." in display-filters before. is it an undocumented feature?

comment bubble OpenID Guest, Thu 06 Apr 2006

Ryan,

Have you tried using pine WITH gmail? I'm using it now and it works wonderfully. Pine accesses my GMail box through pop3, copies the messages down to local storage, and aside from entering a password when I launch pine, it's almost as fast as if it were reading /var/mail/christine instead :)

- Christine

comment bubble OpenID Guest, Thu 06 Apr 2006

Ryan,

Have you tried using pine WITH gmail? I'm using it now and it works wonderfully. Pine accesses my GMail box through pop3, copies the messages down to local storage, and aside from entering a password when I launch pine, it's almost as fast as if it were reading /var/mail/christine instead :)

- Christine

comment bubble OpenID ryan, Thu 06 Apr 2006

hi christine! good point. i have tried using pine as my MUA (ie email client) and gmail as my backend email provider, through POP. i actually found it slow, especially searching. IMAP supports most kinds of searching natively, which makes it much faster, assuming the server is halfway decent.

still, that was a while ago. i should try it again.

also, many people have noted that pine is just a MUA, while gmail is both a MUA and a mail provider backend. this article was meant to compare just the MUA part of gmail.

comment bubble OpenID ryan, Thu 06 Apr 2006

hi slashdot, digg, mynews, etc! thanks for your interest, and sorry for the outage. my poor little server never had a chance. :P

as many of you have noted, gmail has changed substantially since i wrote this. after i repair the damage to the site, i'll update the article to fix the parts that are out of date.

comment bubble OpenID Guest, Thu 06 Apr 2006

Are you sure tha "implemening" gmail features in pine doesn't broke any patent?

- gabrielvc

comment bubble OpenID Guest, Thu 06 Apr 2006

i have used both pine & gmail. i agree they are both great solutions.

the main problem i have with gmail is that it includes a "sender" header with all outgoing mail. the sender tag reveals your gmail address even if you use a custom "from" header. some email clients, such as outlook, display the sender header along with the from header.

i realize this is not a ui issue, but gmail needs to revisit this issue before people will feel comfortable using it with their own email addresses.

comment bubble OpenID Guest, Thu 06 Apr 2006

One REALLY ugly feature of GMail is its spam filter! Sure, it mostly works well, but it has too many false positives. People report up to 2.5% - I am stuck at about 1.5%. That basically means I have to scan the spam manually :-(

Pine, and most other mailers, allow to a) use an alternative spam filter, and b) to turn the spam filter off, or tweak it for specific patterns...

Cheers, Andre.

- Andre Merzky

comment bubble OpenID Guest, Fri 07 Apr 2006

If you like pine, try mutt some day. Some things are different, but after a short readjusting time I never looked back.

comment bubble OpenID Guest, Fri 07 Apr 2006

since you are working at google, can't you make them fix those problems? :-)

Especially the Filter is something that should be worked on. I simply need to be able to filter for any mailheader...

Your reasons are exactly the main reasons why I don't use gmail and stayed with mutt yet.

Balu

- Balu

comment bubble OpenID ryan, Fri 07 Apr 2006

Balu said:

since you are working at google, can't you make them fix those problems? :-)

absolutely! it's one of the many things i love about working at google.

having said that, many of my gripes are more "i'd like it that way" rather than "everyone would like it that way." so, i did a cost/benefit analysis on what it would take to patch few pine gripes vs. writing greasemonkey scripts for my gmail gripes. patching pine won out. :P

comment bubble OpenID Guest, Fri 07 Apr 2006

I mentioned this on the /. comments, but mihai on the google reader team did most of the greasemonkey work.

http://persistent.info/archives/2006/03/21/gmail-macros

Naturally, I recommend my patched version of the script but I find the macros addition serves me well enough.

I actually prefer to use gmail because I find writing greasemonkey scripts simpler than learning a mua code base and patching there. I patch stuff like linking bug numbers to bugzillas and expect mihai to take care of the major patches.

- Karl G

comment bubble OpenID Guest, Fri 07 Apr 2006

> You can't OR or NOT filter conditions.

Yes you can.

Just write it all in the "Has the words" field, and use a few keywords. For example:

to:a@example.com OR from:a@example.com

Of course this is not as straightforward and one expects it to be, but it works. (I haven't tried NOTing BTW)

You can also do ORs in a single field. For example, in the "From" field, you can type:

a@example.com OR b@example.com

- Roflo

comment bubble OpenID Guest, Sat 08 Apr 2006

The NOT operator is "-", eg " dinner -movie" searches for dinner but not movie.

A list of search/filter operators can be found here:

http://mail.google.com/support/bin/answer.py?answer=7190

comment bubble OpenID Guest, Sat 08 Apr 2006

The NOT operator is "-", eg " dinner -movie" searches for dinner but not movie.

A list of search/filter operators can be found here:

http://mail.google.com/support/bin/answer.py?answer=7190

comment bubble OpenID ryan, Sat 08 Apr 2006

thanks! quite true. they added or and not after I wrote this. i've updated the article and removed that complaint.

comment bubble OpenID Guest, Tue 11 Apr 2006

Since you specifically mention fixing gmail bugs....

We noticed a minor (but annoying) problem on a mailing list I'm on.

Mutt seems to have some vague support for "Mail-Followup-To:" headers, though it doesn't follow them exactly as you'd think (*only* replying to the address in the m-f-t header).

Given a message like this:

To: list@EXAMPLE.org Mail-Followup-To: list@EXAMPLE.org Reply-To: LIST@EXAMPLE.org<br>

(in other words, there's an explicit Reply-To header AND an M-F-T header, with the same address, but differences in case)

Gmail replies to:

list@EXAMPLE.org, LIST@EXAMPLE.org

In theory, yes, the LHS can be case-sensitive, but in practice, the two addresses are likely to be the same - and if I send a message to:

To: ADDRESS@example.com, address@example.com

gmail only tries to reply to:

address@example.com.

- William

comment bubble OpenID Guest, Thu 13 Apr 2006

...but will the tight integration with calendar and future google utilities make you rethink this at all? or will that all simply prompt you to work more on pine?

- dave

comment bubble OpenID Guest, Sat 15 Apr 2006

BUFFERING

My biggest problem with Gmail (as a regular user) is that whenever I issue a command (say, archive this message), I have to wait for Gmail to finish chewing on the command and communicating with servers and finally re-updating the screen before I can issue any more commands. Mutt buffers keyboard input, and I'll bet pine does too. It seems like a Javascript program like Gmail could, in principle, buffer input as well.

Until the Gmail team gets around to it though, thanks Ryan for the Pine patches, and if anyone learns of Gmail-ified mutt, please post here.

- crwth

comment bubble OpenID Guest, Sat 15 Apr 2006

I disagree that the 'y' shortcut has inconsistent semantics. It always removes the attribute that causes the selected messages to be displayed in the current view.

Pine is hardly an example of consistency in UI design. Some letters have different meanings in different contexts. This is presumably fixable only by adding a key remapping feature.

I hope gmail's shortcuts will be extended to keep up with the addition of UI features. Mapping the <del> key to delete the selected messages would be a start.

- Chuck

comment bubble OpenID ryan, Mon 17 Apr 2006

william, i can't promise much, but i'll definitely pass on your bug report.

dave, you're right. google calendar is really slick, especially the gmail integration. i doubt i'll start using it though, mostly because i'm not usually at a computer when i need my calendar. i've always just used paper calendars and phonebooks. (pdas and cell phones aren't for me.)

chuck, great point. a few people mentioned that on our internal mailing lists too. you're right, with that mental model, the Y key is consistent. however, compared to the archive mental model, remove attribute that causes messages to be displayed in current view is pretty damn unintuitive. it definitely violates the Rule of Least Surprise.

you're right, pine definitely has its inconsistentencies too. i guess this one of gmail's just rubbed me the wrong way.

comment bubble OpenID Guest, Sun 21 May 2006

This is a very good article. i'm a big fan of testing out other software and what not and plan on giving Pine a good run.

Right now i use Thunderbird software for all my domain mail and a Gmail account for a back up and a second non-business.

as for gmail, i've been waiting for a IMAP that worked and flowed like much of the desktop software i was used too. lets face it, others like hotmail and yahoo, just to give an example, always seemed like a chore trying to check and compose. now when noobs to the net ask about setting up an e-mail i just tell them to get a gmail account. it's easy and even if you don't know all the tips and trick you can still navigate without pulling out your hair.

- robin

comment bubble OpenID Guest, Sun 23 Jul 2006

One of the worst things by switching to Gmail is obviously that you are losing your archived emails. I have therefore created a script that, one-by-one, forwards all your emails in a specific folder to your gmail address.

Because Gmail refuses to receive emails at a higher rate than a specific level, I recommend setting up 10 other gmail-accounts that are all set to forward to your main gmail-account (and delete any copy).

The script is below. Call the file ".mm". The syntax is .mm FolderName sent|inbox Firstmsg# Lastmsg#

for example: .mm INBOX inbox 6 transmits all mails in your folder called INBOX, and adds in the subject-line the tag "inbox:DATE" which means that you can search in gmail for "inbox:2004-12" for mails received in december 2004.

.mm sent-mail sent transmits all mails in your folder called sent-mail. For sent-mails, the subject line will also contain the recipient of the emails, otherwise Gmail will only display your name as the sender.

questions can be sent to tindlundcom(a) bigfoot. com


RECIPIENT0="mailaddress01@gmail.com"

RECIPIENT1="mailaddress02@gmail.com"

RECIPIENT2="mailaddress03@gmail.com"

RECIPIENT3="mailaddress04@gmail.com"

RECIPIENT4="mailaddress05@gmail.com"

RECIPIENT5="mailaddress06@gmail.com"

RECIPIENT6="mailaddress07@gmail.com"

RECIPIENT7="mailaddress08@gmail.com"

RECIPIENT8="mailaddress09@gmail.com"

RECIPIENT9="mailaddress10@gmail.com"

MAILQ="/usr/bin/mailq"

WAIT0="0"

WAIT="10"

INTERVAL="50"

if test -z $3; then FIRSTMSG="1"; else FIRSTMSG="$3"; fi

THISMSG="$FIRSTMSG"

ECHO="/bin/echo"

READMSG="/usr/bin/readmsg"

FORMAIL="/usr/bin/formail"

SENDMAIL="/usr/sbin/sendmail"

MAIL="$HOME/mail"

SED="/bin/sed"

FRM="/usr/bin/frm"

TAIL="/usr/bin/tail"

HEAD="/usr/bin/head"

FOLDER="$1"

FOLDERNAME="$FOLDER"

if test ! -z $2; then FOLDERNAME="$2"; fi

if test -z $4

then

LASTMSG="`$FRM -n $MAIL/$FOLDER | tail -n 1 | $SED -e 's/:.*//' -e 's/ //g' -e 's/"//g'`"

else

LASTMSG="$4"

fi

while test $THISMSG -le $LASTMSG

do

DIFF=`expr $LASTMSG - $THISMSG + 1`

if test $DIFF -gt $INTERVAL

then

DIFF=$INTERVAL

fi

echo "Reading messages $THISMSG - `expr $THISMSG + $DIFF - 1`..."

TOGET=""

for (( j = $THISMSG ; j <= `expr $THISMSG + $DIFF - 1` ; j++ ))

do

TOGET="$TOGET $j"

done

$READMSG -h -f ~/mail/$FOLDER $TOGET > .temp

for (( i = 1 ; i <= $DIFF ; i++ ))

do

if test `expr $i % 10` -eq 0; then RECIPIENT="$RECIPIENT0"

else if test `expr $i % 10` -eq 1; then RECIPIENT="$RECIPIENT1"

else if test `expr $i % 10` -eq 2; then RECIPIENT="$RECIPIENT2"

else if test `expr $i % 10` -eq 3; then RECIPIENT="$RECIPIENT3"

else if test `expr $i % 10` -eq 4; then RECIPIENT="$RECIPIENT4"

else if test `expr $i % 10` -eq 5; then RECIPIENT="$RECIPIENT5"

else if test `expr $i % 10` -eq 6; then RECIPIENT="$RECIPIENT6"

else if test `expr $i % 10` -eq 7; then RECIPIENT="$RECIPIENT7"

else if test `expr $i % 10` -eq 8; then RECIPIENT="$RECIPIENT8"

else RECIPIENT="$RECIPIENT9"

fi; fi; fi; fi; fi; fi; fi; fi; fi;

VAR=`expr $THISMSG + $i - 1`

$READMSG -h -f $MAIL/.temp $i > .temp2

DATE=`$READMSG -h -f $MAIL/.temp2 1 | $FORMAIL -xDate: | $SED -e 's/A-Za-z,*(0-9*) (A-Za-z*) (0-9*) (0-9*:0-9*).*/3-2-1 4/' -e 's/-(.) /-01 /' -e 's/Jan/01/' -e 's/Feb/02/' -e 's/Mar/03/' -e 's/Apr/04/' -e 's/May/05/' -e 's/Jun/06/' -e 's/Jul/07/' -e 's/Aug/08/' -e 's/Sep/09/' -e 's/Oct/10/' -e 's/Nov/11/' -e 's/Dec/12/'`

if test "$FOLDERNAME" = "sent"

then

TOALL=`$READMSG -h -f $MAIL/.temp2 1 | $FORMAIL -xTo: | $SED -e 's/=?ISO-8859-1?Q?//' -e 's/?=//g' -e 's/=3A/:/g' -e 's/=C5/??/g' -e 's/=D8/??/g' -e 's/=C6/??/g' -e 's/=E5/??/g' -e 's/=E6/??/g' -e 's/=F8/??/g' -e 's/=20//g' -e 's/=3D//g' -e 's/=22//g' -e 's/=2C//g' -e 's/=?iso-8859-1?Q?//' | sed -e 's/(.*) <(.*@A-Za-z0-9_-*)..*/1|2/' -e 's/^ //' -e 's/_/ /g' -e 's/(@A-Za-z_-*)..*/1/' -e 's/"//g'`

TO=`echo $TOALL | $SED -e 's/|.*//'`

if test ! "$TO"; then TO="`echo $TOALL | $SED -e 's/.*|//'`"; fi

TO="<$TO> "

fi

SUBJECT="$FOLDERNAME:$DATE] $TO`$READMSG -h -f $MAIL/.temp2 1 | $FORMAIL -xSubject: | $SED -e 's/=?ISO-8859-1?Q?//' -e 's/?=//g' -e 's/=3A/:/g' -e 's/=C5/??/g' -e 's/=D8/??/g' -e 's/=C6/??/g' -e 's/=E5/??/g' -e 's/=E6/??/g' -e 's/=F8/??/g' -e 's/=20//g' -e 's/=3D//g' -e 's/=22//g' -e 's/=2C//g' -e 's/=2E/./g' -e 's/=A-Za-z0-9/ /g' -e 's/_/ /g' -e 's/=?iso-8859-1?Q?//' -e 's/=?iso-8859-1?B?//'`"

QUEUE=`$MAILQ | $TAIL -n 1 | $SED -e 's/.*in //' -e 's/ .*//' -e 's/Mail//'`

if test -z $QUEUE; then QUEUE="0"; fi

echo "Sending $VAR/$LASTMSG>$RECIPIENT (q $QUEUE): `echo $SUBJECT | $HEAD -c 25`...`$READMSG -h -f $MAIL/.temp $i | $FORMAIL -i "Subject: $SUBJECT" | $SENDMAIL -oi $RECIPIENT`"

echo "$FOLDER $VAR of $LASTMSG..." >> $MAIL/.log

for (( w = 1 ; w <= `expr $WAIT0 + $WAIT * $QUEUE * $QUEUE` ; w++ ))

do

wait

done

done

THISMSG=`expr $THISMSG + $DIFF`

done

- Andreas Tndl

comment bubble OpenID Guest, Sun 23 Jul 2006

Sorry, seems like many special characters have been removed by the submit form so the script won't work. If anyone is interested, try send me an email.

- Andreas Tndl

comment bubble OpenID ryan, Sun 23 Jul 2006

thanks andreas! there are also solutions that move emails into GMAIL using POP, or at least bounce them, so that the original sender, recipient, subject, and other headers remain intact.

For example, check out Mark Lyon's Gmail Loader, among others.

comment bubble OpenID Guest, Sun 30 Jul 2006

Hi,

Great article.

I'm in a similar conversion using pine at work and gmail at home.

While address books are good for individual aliases, they are poor at mailing lists. I miss the ability in pine to be able to extract all the recipients of a given email as a list, or even better from a selected group of emails. The tools provided with gmail to import existing contacts are very limited and have no means to import multiple recipeints into an existing list.

I found a few dead links to a pine address book migration tool . Anyone using such a thing ?

- Jonathan Ives

comment bubble OpenID mc Neil, Sat 14 Oct 2006

how do I configure Pine to access my pop.gmail.com???

comment bubble OpenID William, Thu 19 Oct 2006

Mutt for ever!  That being said, I still use gmail!  Heh.

comment bubble OpenID TerrisRacoon, Wed 06 Dec 2006

Can you please tell me how to set up pine under Linux so using it I'll be able to recieve and send mail? I have a Gmail account and I'd love to have a good text-based e-mail client' because IHMT (I Hate Mozilla Thunderbird). Or maybe you know any others console mail clients like pine and a way of setting them so I''d be able to use Gmail? Please reply to my e-mail: szop.terris@gmail.com

comment bubble OpenID Ryan, Wed 06 Dec 2006

pine will help you set it up. just run pine from the command line. also, google is your friend!

comment bubble OpenID funk, Sun 15 Apr 2007

funk-brasil funk

comment bubble OpenID Guest, Mon 12 Nov 2007

I just use Alpine ("Free" pine) to check my Gmail...

Post a comment...



Simple HTML and wiki markup are allowed.