• @abhibeckert
    link
    English
    16
    edit-2
    10 months ago

    IMAP is a mess. None of the major email services or clients properly implement the protocol and pretty much all of the major email services have a proprietary replacement of their own with IMAP as an afterthought. That’s why so many of the best email clients these days only work (or only have all features enabled) with Gmail or Office365.

    For the user mostly it’s just slow. It can literally take ten seconds just to check if there’s any mail and that’s if there are no new messages. When there are messages it takes much longer.

    It’s not slow because the servers are slow, it’s slow because IMAP sucks. Too many requests and the requests are not really in a format that works well for the actual database format used by clients and servers.

    For developers there are bigger problems, it’s incredibly difficult to write an IMAP client that even works at all with all with all email servers.

    JMAP fixes all of those issues. It’s still not perfect, I think a perfect protocol would use Activity Streams, but it’s definitely the best (open) email protocol available right now.

    • Dave.
      link
      fedilink
      English
      8
      edit-2
      10 months ago

      For the user mostly it’s just slow. It can literally take ten seconds just to check if there’s any mail and that’s if there are no new messages. When there are messages it takes much longer.

      I have my own IMAP server (Dovecot)with 20 years of messages on it. It’s on a linode instance in Hong Kong, I’m in Australia.

      When I open my Thunderbird on my laptop, it takes less than a second to authenticate and grab a dozen headers. If I pop open the Gmail app on my phone and select that account, again, it connects and refreshes in the same amount of time. Manually doing the drag-down-to-refresh motion gives me one spin of the spinner at the top of the page, possibly 1.5 seconds.

      So my question to you is, what’s wrong with your IMAP server?

      Small edit: Did a totally unprofessional test with Wireshark and a cold start of Thunderbird and my laptop at 5 percent battery and heavily throttled. It takes 1.3 seconds for it to connect to my IMAP server, authenticate, and then check for unread messages. To grab the headers for 9 unread messages in my 2023-2024 inbox (containing about 3500 messages) takes another 3.5 seconds. To transfer approximately 5MB of data for the message bodies takes another 6 seconds on my wifi at home. For an application that lives in my system tray 90 percent of the time with a persistent connection, this seems fine.