These last weeks Dape and me have been working really hard fixing bugs in Modest and Tinymail here and there. Best Modest ever is coming.

But today, I don’t want to talk about fixes but features. I want to talk about BODYSTRUCTURE. This is one of the coolest features we could have added to Modest. Tinymail had some initial support, but due to the many bugs it had and the fact that some use cases were not supported forced us not to use it so far. But thanks to the time Igalia gives us for hacking we managed to get it working.

Oh wait! I didn’t tell you what BODYSTRUCTURE is about. Email messages are made of a group of MIME parts. One of them could be the subject, another one some footer and some others could be attachments. Without BODYSTRUCTURE support we were forced to download all those MIME parts when you wanted to see a message. This meant that if the message had some heavy attachments and you only wanted to see a small body with just a couple of words, you had to wait until the full message was downloaded,

With this new feature, we can download every MIME part one by one, and thus saving you time, disk space and specially if you’re using a mobile device like N900, money in your GPRS connections. Do you want to read only the body? No problem we’ll show you that you have some attachments but we won’t download them until you request us to do so. Do you want to forward the full message? No problem, we properly detect that and include the full original message whether or not it was completely downloaded before.

This will most likely be included in the next N900 software update that will be eventually delivered by Nokia. In the meantime, if you don’t want to wait just download packages and build it by yourself. Remember that you can find us in #modest channel @ Freenode.

20 thoughts on “Modest with BODYSTRUCTURE support

  1. @Andrei
    Well, we have a preliminary work that would add “Live Search” (like in Contacts application in N900) to the window with the list of headers. As soon as you type it starts to filter the list of headers. We’ll try to get that in if we have time.

  2. Great work!
    I wished you in the same time implemeted locally caching the already loaded bodyparts, this will:
    * Speed the loading of email
    * Keep the cost at minimum as people can update on WiFi and then read the body later.

    We got alot fo diskspace, there should be enough room for this…

  3. In newer versions will IMAP work like it’s intended? I notice currently it doesn’t sync with the IMAP server, it only downloads the mail locally.

  4. @Toygar34
    If you’re a newbee then you’d have to wait for next Nokia software update.

    But if you know how to build packages you need to download
    * modest-3-2 branch of modest from git.maemo.org
    * modest-3-2 branch of tinymail from svn.tinymail.org

    Build packages and install them.

  5. Sergio :
    @Andrei
    Well, we have a preliminary work that would add “Live Search” (like in Contacts application in N900) to the window with the list of headers. As soon as you type it starts to filter the list of headers. We’ll try to get that in if we have time.

    Thanks, this is the feature I am waiting for.

  6. @Toan
    Not really. The problem was that we need to sort and filter the list of emails. As sorting and filtering is performed by gtk, if there are a lot of headers, then gtk+ does not have enough time to filter, sort and display headers fast enought. Actually the time Modest spend downloading from server is very reduced, but sorting and filtering something like 5000 messages is too much for gtk+ in the device.

  7. @Sergio
    Well, what I found out after testing it a little bit more, it seems like Modest tries to connect to server to fetch new email, the it (probably) must sort and filter, and last show the email. In that order.

    When not having connection to server, the display of emails if much faster, we talk about delay approx 1-2 sec.

    Maybe you should consider first should already downloaded/cached emails, then do the update in the background, sort and last append it to existing view. This will make Modest _feel_ more responsive.

  8. @Toan
    Definitely reading first emails from cache will make modest more responsive. The problem is in tinymail’s architecture. Basically tinymail has an object called TnyDevice that represents the status of the connection. If that TnyDevice is online the the function that retrieves the emails will always check the server first. Forcing that TnyDevice to be offline will only provoke strange behaviours and continuous reconnections. But we’ll investigate that. Thx for the suggestion!

Leave a Reply

Your email address will not be published. Required fields are marked *