Michael Carter wrote:
Hello,
I'm a developer on the Orbited project (http://www.orbited.org), which provides a TCPSocket interface in javascript (emulated over HTTP using ajax and comet.) This TCPSocket allows true bi-directional communication between a web browser and an arbitrary tcp server. One of the other developers pointed me to a recent dovecot thread about webmail. Sorry for the new thread (I just joined this list and couldn't reply to the old emails).
Timo Sirainen wrote Wed Aug 13 23:37:11 EEST 2008:
I wrote this a while ago: http://imapwiki.org/ClientImplementation
One thing that would be nice, that pretty much no webmail does, is to keep a stateful connection open all the time (or at least some of the time) instead of creating tons of short-lived connections that ask the same stuff over and over again. With a stateful connection you could basically run IDLE and wait for changes there instead of asking all the time "is there new mail?" "is there new mail now?" "what about now?".
Coincidentally, we have just began work on a JavaScript IMAP client. With it, building a webmail app should be *entirely* a UI concern. The good news is that our Socket interface is very stable and is being used in production for protocols like IRC for webchat. The bad news is that none of the the Orbited developers have experience with the IMAP protocol.
We are putting all of our protocol implementations in the soon-to-launch js.io project (www.js.io). As soon as we have any kind of IMAP client prototype, I'll let you know. In the meantime, would anyone be interesting in helping us develop the imap client? Its 100% pure JavaScript, and will greatly ease the development of feature-rich webmail, as a webmail deployment will become a matter of simply running Dovecot, the js.io.imap client, and an HTML gui.
-Michael Carter
Hi Michael,
I'd be interested to see what you are planning with this so keep me informed. We've been thinking of creating an entirely custom UI layer for squirrelmail for some time (though their templating functionality has been a loooooong time in development).
Our goal is to have a very fast webmail interface that does not rely on server speed - actions are queued client side giving instant responses to the server by using asynchronous communication to the backend.
What stage are you in creating an IMAP client framework for js.io? Timo's wiki page looks like it is filled with a LOT of sense in implementing IMAP clients.
Daniel