mail-ng
[Top] [All Lists]

Re: Setting the stage

2004-02-01 16:19:21


On Feb 1, 2004, at 1:30 PM, Paul Smith wrote:


But, (to play devil's advocate), let's assume that we take SMTP. Make all 'user readable' headers (subject etc) into UTF8, make message content UTF8, make it support binary transport, etc, and make it so you KNOW that whatever mail server you talk to, it MUST support that stuff.

Now, would it be as hard to send that Korean text? Could you make it much simpler?

I'd argue yes.

One way it'd be simpler is that we could depend on clients at least doing the rational thing. I spend a lot of time working around client issues. I'm not even talking about issues where they haven't implemented an RFC -- I'm talking about them implementing them blatantly wrong.

But ignoring that aspect -- yes, it'd simplify life for generators and reader software alike. We could unwind some of the complexities we've created by taking email, then inventing MIME, then layering MIEM with this, and MIME with taht, and then layering those extensions with this extension, and... how many RFCs are there that define various things about MIME now, anyway? 15?

So simply by taking all of that back to square one, and re-implementing it in a way that takes all of those needs and requirements into consideration, you simplify life for e-mail massively.

This is what I was saying MAY be an alternative to totally redesigning everything and throwing away all that has been learnt from SMTP.. I'm not saying that's the way it should go, just that this possibility shouldn't be ignored. It's not some more SMTP extensions, it's a new standard which is based on SMTP but with problems fixed.

we're probably in violent agreement here, actually, because email-ng probably looks a lot like SMTP. but I argue strongly that they have to be separate, not layered, and gatewayed, not interoperable.

Why? because otherwise, we'll never make that old mess go away. Legacy code is a bastard, and you need to make the transition clear, or you end up supporting BOTH code bases forever, and that's not a solution here, that's just even more chaos. Even if it takes ten years to make that transition, or whatever, that's better than realizing your saddled with both systems forever...

I agree with the first part. The second part I have issues with, because it lends itself to never pushing the legacy stuff out the door and into retirement.

But why throw away mature, bug fixed code and bring in new, buggy code?

mature, buggy code? (grin)

Same argument can be made in the physical world: why do we sometimes choose to tear down a building and build from scratch instead of adding on to an existing building or repairing it?

1) because the existing building can't be saved, it's beyond repair

2) because the existing building doesn't serve the new needs and can't be retrofitted in a cost-effective way

3) because it's cheaper to start over than patch up what you have

aspects of all three relate back to this discussion. The "mature, bug fixed code" started out as a one-story bungalow, and now forty remodels later, is a five story office building with 12 bathrooms and a hotel on the top floor. And the building inspectors have warned us it has termites and isn't earthquake safe, and it'll take more money than we have to retrofit it -- and even if we do, it'll look like hell, because each retrofit had a different architect so none of the updates match styles...


<Prev in Thread] Current Thread [Next in Thread>