I noticed lately that there’s not much ‘webby’ about ‘webmail’. Webmail is just an interface for reading a POP- or IMAP-server. In fact, it’s just an idiotic construction from server to server to client.

Currently, e-mail uses POP3, IMAP and SMTP to communicate between client and server. This are, in my opinion, dated specifications (1982, 1985 and 1986 respectively). At this moment, implementation of XML is rising. So is there XHTML for showing web pages, are RSS-feeds widely used for keeping up to date and is Microsoft doing all whithin it’s power to standarise Office Open XML. Still, e-mail lacks a XML-based specification.

XML for e-mail, I’ve called it SXMP, would make it quite a bit easier for especially webmail clients. E-mail was never designed to be read using webmail and it’s complicated to write a good webmail application, not in the last place due to the fact there are two different servers needed for sending and receiving.

A new server type would replace the two servers. In every message the server receives there’s a field which tells the server what the user wants (like retrieving the latest X messages, send a new e-mail…) and the rest of the fields depends on this field.

A good, but overhead generating, example is XML-RPC. This specification is used in many weblog applications and it serves both as server and client. It can send, for example, a simple OK if someone posts a new message, but also a list of all weblog items.

Another advantage is that the new server type could make it much easier for small businesses to offer email services. Many of them don’t offer POP because they don’t have the means to implement this with their own member database. With a new protocol, this could be taken into account too.

Of course, there are much more applications thinkable, but this is a nice overview of my line of thought.

I understand that the creation of such a protocol is very complicated and that it will take some work to make this protocol adopted, but it can exist next to the current protocols (like IPv4 and IPv6 do). That’s why I think SXMP should be made client side first. My proposal is to let SXMP specify how messages should be send and received, but not how they get from server A to server B.

However, I haven’t made a specification, but in my opinion it is a great idea. This way, other applications, which don’t support POP or IMAP natively, can still use e-mail.

Update February 11, 2008:

I’ve send my ideas to a professor at my university, which explains why there isn’t such a protocol yet. It’s translated from Dutch.

Dear Ralph,

Nice question, but there are multiple answers.

Firstly, and in my opinion the most important one, you could ask why you would replace something that works good with something else. Known from experience it’s very difficult to make changes in networks with many users (like IPv6, Mobile IP, secure mail, etc). Only if the user immediately sees the advantages of the change, there’s a chance. And big companies, like Microsoft, should support this change.

Secondly, the costs for the use of XML aren’t negligible. DOM for example needs much memory space, something that isn’t always available at mobile devices.

Thirdly, XML is just a document structuring method; it’s not a protocol like SMTP, POP and IMAP. Of course, you can think of a protocol which smoothly implements XML documents. Netconf is an example of this. However, while we are at it, why not using web services to exchange the XML documents.

I agree that, if we could start from scratch again, we probably would use XML-based e-mail. However, thinking of something new (and better) isn’t the problem; migration from something working to something new is a much bigger problem.

I hope that I’ve answered your interesting question.

Aiko Pras

This post appeared earlier in reduced form and in Dutch on my previous weblog.