Solution for IMAP Headaches Out of Beta

Kin Lane
Dec. 22 2011, 12:58PM EST

I don’t think you have to be a developer to know that IMAP is a pain in the ass.  Anyone who has used IMAP knows how wonky the experience can be, and as a developer if you have done more that basic folder listing and message display, you know IMAP is a headache. The Context.IO API is working to alleviate common IMAP headaches and it's now out of beta.

The company is aiming to provide a much more solid way to integrate a user’s email into any application:

In IMAP, folders are separate, and to fetch desired data, it’s necessary to search each folder individually to extract what’s needed--with Context.IO the whole mailbox is one database and folders are optional filters.

In IMAP, there are no fixed/persistent message IDs, just a sequence ID and UID, but the sequence ID is reset every time a client deletes a message and the UID is set on a per-folder basis, and can be invalidated by the server at any time--context.IO assigns a unique and persistent ID to every message.

Using IMAP as a live datasource is not realistic when a simple query like history of messages with a contact turns into long sequence of IMAP commands--Context.IO takes care of that by maintaining its own metadata index exposed via an HTTPS interface that can be used as a live datasource.

Context.IO goes beyond what IMAP exposes, and provides five key resources on top of standard email boxes: contacts, files, messages, threads and webhooks.  Emails are much more than just folders and lists of messages, your email is a knowledgebase.

Context.IO API replaces multiple complex IMAP requests with simple RESTful API requests with JSON responses, providing a much more  stable connection with mailboxes that scales and provides more flexibility than standard IMAP.

Kin Lane I am a programmer and entrepreneur, with a focus on the business of APIs. I study how APIs are changing the business landscape, and the rise of API driven developer ecosystems. I share my insights by blogging on API Evangelist and ProgrammableWeb, and put into action as API evangelist for CityGrid.

Comments