POP3 is only efficient if you download all mail to the client and immediately remove it from the server. But nobody does that, everyone leaves their mail on the server. Then everytime you synchronize the server has to go through all the mail it has to see what you don’t have, which is very inefficient if you have 10000 mails in your inbox, like most people have these days.
It’s optimized for a usecase that doesn’t exist anymore and it will work in the usecase that does exist while wasting a lot of resources. Truly the worst you can have. It’d be better if it didn’t work at all.
I don't think it is at all fair to call POP3 inefficient on this basis. It is fine if you use it in the way it is intended (and presumably optimised) for. It was designed as a delivery mechanism back when people didn't tend to have permanent connections and space on servers wasn't cheap. Users wanted mail locally for disconnected use and servers wanted rid of it once delivered onward.
Where it is not the right tool for the job, use the tool that is instead (IMAP presumably in this case).
It seems that something that doesn't meet your needs (but did match many people's requirements in the past and may still meet some people's needs now) exists is causing you some offence.
Have you been "burned" by problems with POP3 in some specific way that has made you feel this bitter towards it rather then using the right tool for a job it presumably isn't right for and moving on? Or are you being forced to use it in some circumstance?
> something nobody wants
You are not everybody. Just because you can't imagine a valid use case these days does not mean that one does not exist. While IMAP-with-local-caching can replace most use cases for POP3, does it replace all of them in an optimal manner?
> But nobody does that, everyone leaves their mail on the server.
Absolutely not. I have a personal e-mail address which is IMAP and a shared mailbox with my wife which is POP (I don't want my mail read if she reads it). Mail clients are configured to leave mail on the server for 1 month. It's not complicated.
I for one use pop3 and am really content with it. I cannot bear the idea of keeping my personal mails on a remote server. And that of having to use a web interface to configure splitting rules via a web interface, unable to easily version control and undestructibly and easily test.
You seem to have a personal (!) problem with POP3. Why is that? Are you forbidden to use IMAP because of it? Are you forced to implement a POP3 server?
Clearly you’ve never had to do tech support for people that inadvertently chose POP3 because in many systems it’s still the default selection, along with the default behavior of deleting mails from the server as you fetch them.
What do you mean the only copy of all my mail is in some bizarro mail client specific proprietary database? Why can’t I also read my mail on my phone? I dropped my laptop in the toilet and now my mail is gone. Isn’t it on the server? Why can’t I use folders? Don’t you have backups?
No, your mail is gone, because you used a protocol designed for the 90s. It’s a great idea if you have a mail account with 10mb quota and you download your mail to a fixed, reliable workstation and you don’t mind if you lose it all if the disk crashes, it doesn’t happen that often. Not hardly as often as laptops getting stolen, Windows breaking itself and phones going bust.
I’m not sure why I need to have personal problems with your pet protocol to have an opinion on it, especially on one that stinks as much as POP3. It’s obsolete.
> I’m not sure why I need to have personal problems with your pet protocol to have an opinion on it, especially on one that stinks as much as POP3. It’s obsolete.
Because you're trying to fight people that use it.
In another comment I write how I use it. Clearly you can lose mail with IMAP too. There is a reason we do backups. Also, people not knowing how to use it or you not liking to deal with these does not make a protocol obsolete.
I have an iMac, a MacBook Pro, an iPad, and an iPhone, and I want to be able to access my email from any of them. POP3 is simply not designed to handle that situation gracefully. If a POP3 client is set to download email and delete it from the server, then the messages get "stuck" on whatever client happened to download it first; if it's set to keep copies of the emails on the server, then it pretty much becomes IMAP. Except stupider, since POP3 doesn't treat "downloaded" and "read" as separate concepts.
While I suspect I'm relatively uncommon in having four devices that I want to be in sync, wanting two or three devices -- computer, phone, and possibly work computer -- to be in sync probably isn't very uncommon at all.
I use POP3 for fetching mail from my remote mail server, and I don't want to keep mail on it (my current pipeline is: mpop > procmail (clamav, spamassassin) > gnus (nnsplit & nnml)). This does not bar me from using IMAP locally to sync mail among my devices (which is a problem I haven't handled yet, mostly because has not really been necessary for me up until now). But because I don't use folders and spam checkers on the remote, and never keep mail there, using IMAP to communicate with it is unnecessary.
It's fine if it's used to simply pull down mail to a local spool. The inefficiency complaints usually stem from attempting to maintain mail on a remote server across multiple clients. POP3 does not implement a sufficiently rich protocol to make this possible without downloading the entire spool onto each client.
No, it's highly inefficient in the face of latency, because there essentially is no batch fetching primitive. Fetching messages over a high latency connection (e.g. to a server on the other side of Earth) takes forever if you have a lot of messages.