Oct 21, 2001 12:00 UTC, by Chris Simmons, Senior Journalist.
From the duelism department...
The BeOS Journal had a chance to speak with two team members working on the Mail Daemon Replacement. Nathan Whitehorn and Bruno "BGA" Albuquerque both have lots to say.
Thanks guys for doing this interview, it's great having some exciting news these days.
Whitehorn: Happy to be providing it. I hope that the trend changes, and you get some more news soon (hopefully good, like Be releasing R6 :).
BGA: Sure thing!
I'll start by asking, how long have you been working on the Mail Daemon Replacement? ("MDR" from now on...)
Whitehorn: About seven months. I think we started in late March of 2001. The rewrite we're working on now started in early July.
BGA: Hmmmm... I'm not 100% sure, but it has been for a long time now. 5 months I think.
Who are the people involved with this project?
Whitehorn, BGA: That would be Nathan Whitehorn, Bruno G. Albuquerque, Peter Folk, Axel Dorfler, Alan Ellis, and Stephen Assmus.
How robust is the MDR right now, today?
Whitehorn: Quite robust. It hasn't crashed in quite a quite a while now (weeks), and everything is working very well. In fact, this message is being sent using a modified version of BeMail and our new mail kit.
BGA: Right now it's a complete mail kit replacement, including a BeMail replacement. Excluding some small bugs that we still have to fix, I would say it's pretty robust (there are people using it in a daily basis now).
What are some of its abilties, and features that might interest the average BeOS user?
Whitehorn: There are lots. First of all, we now have IMAP support. In addition to this, we support SMTP authorization, both via ESMTP and via the screwed up POP3 authentication scheme some ISPs use.
There are also some very cool message-management features. The new mail daemon creates a new Thread attribute, so that you can sort your messages by thread. Also, if you reply to a message, its status is set to "Replied" and you can set an option that will make all replies be sent via the account they were received on.
We also now have an extraordinarily flexible addon scheme that should make it possible to implement any imaginable type of mail handler, such as a PGP addon. We also support regex based filters on header data. Messages can also be delivered anywhere on your system instead of just to ~/mail//in, and are named "Subject": instead of %$#&$#&$#-1534!@foo.bar.com or somesuch.
BGA: Too much to enumerate but, basically, we have multiple accounts support, support for IMAP, SMTP Auth, APOP, POP3, add-on based filters and more.
Are there any potential pitfalls to watch out for that the average BeOS user should be aware of?
Whitehorn: Because we have now actually completely replaced the BeOS mail kit and because some of the Mail Kit (thankfully, the least used portion) simply did not apply to the new mail kit, we may break some applications. So far, we have yet to discover any, but this is important to keep in mind.
The settings format has also changed drastically, so you will need to reconfigure everything. Also, if you were using Leave Mail On Server in the old release, the new MDR will redownload everything because of the new settings format. Sorry.
BGA: Right now the only pitfall is that there are still know bugs. Also, we do not provided added functionality for libmail anymore... Instead, we completely replace it.
So it *IS* possible that users have problems with apps compiled for the old libmail.
Do you feel the MDR is as complete as it can be, or might there be other areas you wish to see expanded, not necessarily by your team?
Whitehorn: Addons. It would be *really* nice to see things like PGP added to the mail daemon. With the new addon API, it is ridiculously easy.
BGA: As it is completelly add-on based, it can always be expanded by a third party. Most of the work in this expansion will probably be related to filters... People can come up with really neat filtering ideas.
What were some of the more difficult issues you overcame, and some that perhaps you're still working on?
Whitehorn: Compatibility. We have been replacing the whole mail kit, and there are so many non-RFC compliant e-mail clients out there, it is ridiculous. Also, large portions of the Be Mail Kit are effectively undocumented, so we have been fighting this battle on two fronts.
BGA: Replicating all the functionality in the old libmail was a huge task. Keeping it compatible to plain R5 PPC, R5 Intel, R5+BONE and the internal BeOS version at Be (a.k.a. Dano) was not easy either. I think there are no more real chalenges from now on.
Do you see a definate future for the MDR?
Whitehorn: Yes, as long as BeOS has one. All the various parties that would be continuing BeOS development have expressed interest in using our code.
BGA: Sure. Personally I will keep improving it for as long as BeOS runs on my computer (that would be forever). I'm pretty sure the same stands true for the other members of Dr. Zoidberg Enterprises.
Can you share with us some features that are "in the works" for the MDR?
Whitehorn: We're in a feature freeze to get things ready for release, so there aren't any just now. :)
BGA: It's pretty feature complete now. All we still intend to do is a general filtering interface similar to what you find in Mail-It, Postmaster and Scooby. Improvements to BeMail will come later.
We keep hearing murmers about some file named "libmail.so".. What's the big deal? ;)
Whitehorn: This contains the Be Mail Kit. Our library (historically libmail2.so and libnumail.so) has now become the first third-party software ever to replace a portion of the Be API. As such, we now bundle a libmail.so. Yay for us!
All applications that used the old libmail should accordingly notice both a slight speed boost and the ability to use multiple accounts.
BGA: Until last week, we provided a separate library (libnumail.so) that held all the stuff we implemented. Now we just renamed it to libmail.so (the original name of the library in the old mail kit) and provided full compatibility.
Do you have any plans after the MDR to work on other parts of the BeOS?
Whitehorn: We have been looking at writing a new network stack, but this is still very much a wish list project.
BGA: Yep. A net_server replacement is being considered. If we don't do that, we will probably do something easy, like replacing the app_server. ;)
Thanks very much for your time, and information today, I'm sure our readers will be eager to try out the new MDR. Relax, and take some time off from all your hard work. ;)
Whitehorn: You're welcome. As for taking time off, I'm now off to see the boat races on the Charles River. Bye!
BGA: You're welcome.
Nathan Whitehorn,
Bruno G. Albuquerque