On 2/24/10 8:37 PM +0200 Timo Sirainen wrote:
- Online mode: Don't download all message headers at once at startup. If I open a mailbox, I'm seeing only about 20 messages on screen. That's all it needs to download. When I scroll the message list, download more as needed.
I disagree.
You are conflating UI blocking with network blocking (download), probably because that's how TB does it. IMHO, when you open a mailbox, messages should fill in and be accessible immediately, ie as soon as the headers are downloaded. Beyond a screenful, the client should continue to download headers so that when you do scroll down, there is no delay. This is especially useful when you are on a slow link. You spend SO much time doing nothing, ie reading messages, while the client could be doing work for you, and then when you scroll you have to wait again?
Also you have to adjust this behavior if server-side sorting is not available and the user wants something other than message order.
If you're worried about "wasting" bandwidth, a valid concern, the client need only prefetch another screenful of messages at a time.
If your client is configured to sync message bodies, it should go ahead and do that before you start actually reading them, so that you are not waiting on download.
Apple Mail, for one, seems to implement things as I've described. Note I am in now way endorsing Apple Mail as a good IMAP client.
-frank