jump to navigation

InterIMAP Progress Update #1 April 11, 2008

Posted by atmospherian in Projects.

Work on the library has been moving along quite nicely. I’ve built a new Visual Studio solution and project structure to better organize the classes and i have finished the basic object model.

The next step is to write a wrapper class that will be the main API users of the library will use to access the underlying functionality. The main goal of the API is to make connecting to an IMAP server and managing the messages stored there as easy and a quickly as possible.

One method that i plan on employing to increase the efficiency is to only fetch the message headers and message bodies when they are requested. This will be handled automatically whenver a property is accessed on either the folder or message object. For instance the first the developer accesses the Messages collection of a folder, first that folder will be examined, and the message headers will be pulled down and stored in the collection. This will give access to the bulk of the messages information. If at that point the content or attachments collection are accessed, then the full body of the message will be downloaded.

Hopefully this method will help to reduce calls to the server for unneeded information and reduce that amount of bandwidth that will be needed for the IMAP client to do its job.

I welcome any comments or criticisms on what i am planning to do. All suggestions will be given serious consideration if the community decides a different way is a better approach.



No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: