SnapperMail 2.0, Mobile IMAP Frustrations

I bought a ‘lifetime upgrades’ license of SnapperMail over a year ago and have used it as my e-mail client on my Treo. I evaluated all of the Palm e-mail clients I could get my hands on (I think 5 or 6) and at the time, SnapperMail was hands down the best of the bunch. Version 2.0 (currently in beta) brings long awaited IMAP support; the 1.x versions were POP3 only.

I’ve been using the 2.x betas since they were released a few months ago and while I enjoy some of the IMAP functionality, overall I’m quite disappointed in what they’ve implemented. Many of these points have been covered in the SnapperMail Yahoo Group, but these are my observations.

  • Expectations – The IMAP functionality was released in public beta a few months after the expected (previously announced) release date. The longer the release was pushed out, the more I probably expected when it was released. I’ve never built an e-mail client (and the experience I’ve had implementing one in PHP hasn’t been much fun), but I expected a little more polish.
  • Poorly Designed for Mobile Usage – My biggest complaint has to do with the way IMAP has been implemented. SnapperMail 2.0 beta behaves generally like a desktop IMAP client. This may seem like a good thing, but it is not. I’ll explain in more detail below.
  • Folder Behavior – IMAP folders are actually treated in a somewhat non-standard way in SnapperMail. To access a folder, you need to first map that folder to a folder in SnapperMail. Setting up these folders is a step I’m not at all fond of.
  • Moving Messages – To move a message from your Inbox to another IMAP folder, you first have to set that folder up as mentioned above then you can move the message to one of those folders. If you haven’t set up a folder locally, you can’t move a message to it. For some bizarre reason, you can’t move a message while you’re viewing it, you have to close the message then move it from the list of messages. It would also be nice if commands to move messages to folders were stored, then executed on the next check or send.
  • Viewing Messages in a Folder – Once you set up a folder, you have to set the folder’s sync behavior. You can choose to check the folder for new mail, get only mail from a week old, etc. I can’t figure out any way to select a folder and say ‘download all headers in this folder’.
  • Speed is part of Usability – It takes just over 1 minute and 15 seconds to check my Inbox for new e-mail when I have about 45 messages in the Inbox. The old POP3 implementation would do this check in about 5 seconds. I know IMAP needs to do more, but this is slow enough that it is almost unusable.
  • Storing messages on the PDA – There is no option to ‘purge this folder on the PDA only’ (while leaving the messages on the server). I know this isn’t standard IMAP behavior, but a handheld isn’t a standard IMAP client. I’ve got way more e-mail in my IMAP mailbox than I have space on my PDA. I shouldn’t need to save a copy locally (permanently) just so I can read it once.

Specific suggested improvements (as implied above):

  • Allow the folder list to be dynamic. I should be able to move e-mails to any folder on the server. I shouldn’t need to specify local folders to sync to, SnapperMail should create them as needed.
  • Treat folders and message lists more like web mail, don’t keep a local copy of e-mails unless I specify I want to do that for a given folder. I should be able to purge mail from the PDA w/o deleting it from the server as well. A PDA is a special case, not a standard IMAP client.
  • I should be able to open any folder for browsing, and should have the option (as mentioned above) to download all messages (headers only, etc.) in that folder. Additionally, I should be able to specify a ‘chunk’ size: get 50 headers at a time, etc.

I’m actually considering making a mobile interface for SquirrelMail as a possible solution for myself. Does anyone know of an existing product I should check out before I dive into that?