MailEngine is a high speed email delivery program that I wrote starting in the fall of 2000, releasing the first version in February 2001.

For years, people told me that they loved that ListManager was so fast, and wished they could use the delivery engine inside ListManager all alone, so that their programs could send email quickly.

In the year 2001, I finished the first version of MailEngine. People's speeds vary hugely, depending on their "surrounding environment" (i.e.: DNS server, Internet connection, computer speed) so my company is careful to keep expectations low, so that customers will be happy with the speeds they get.

Typically, with the first version of MailEngine, we see speeds in the 100,000 to 300,000 emails delivered per hour range. However, on one client's machine, we regularly see delivery speeds of 1.8 million messages per hour (this on a dual-cpu Linux system with 1gb of RAM).

Speed can be fun (programmers love working on algorithms, and super-high speed is a macho high, like big TVs and big cars). At the same time, it gets dull after a while, and if speed is not all that interesting to the client (or, more likely, MailEngine is way faster than they need it to be), then adding more speed doesn't make sense. That's why, in future version, I'm going to add more features that people need with from their email (and making it easier for more people to get the higher speeds).


GUI Talk

For the MailEngine GUI:

I re-used the existing MailShield GUI:

which is written in Tcl, with the Tcl Web Server, but changed the look to match our www.lyris.com web site:

The "web site look" for the MailEngine GUI is prettier, but more importantly: it's much less cluttered and easier to look at. I added collapsing feature categories (the left column), which really helps keep that left column under control (way too much information in that left MailShield column). I also removed a few features (I know how much programmers hate to do that: most of us never met a feature we didn't like!).

The pull down list of all features


from the top right of the MailShield web interface went away, because it caused clutter, and wasn't all that helpful in the real world (who looks at features alphabetically?).

The "bread crumb trail" feature:

was also removed, since looking at the collapsed categories in the left column gives you the same information (note the unlinked text, which therefore tells you what the current page is):


GUI Theory

I'm pleased with the current incarnation of the MailEngine GUI: it is a radical departure from traditional user interfaces, in that it assumes that users are now used to the "web pages world", and that a web site is a natural way to organize a program interface. A program can now be thought of as a "web of tasks", with the user deciding how to organize those tasks to their need.

When people surf the web, they expect single pages to contain only what they are interested in, they expect easy linear and user-directed navigation, text searching, and hypertext links. I've never seen a program interface that had those three key features that exist in all good web sites.

Most HTML based web interfaces mimic traditional Windows/Mac GUI interfaces, and steer you toward "what's important" and "the next step" rather than giving you power to move as you wished.

The closest thing to a web-centered GUI is the Microsoft-created "wizard" -- these give you linear and user-directed navigation, and a "back button". User's love these "wizards", and Microsoft has been putting more of them into their applications. But still, programs don't take the next logical step, of making programs be a "feature web", with the user deciding how they interact with the program.

The single most radical feature in the MailEngine/MailShield GUI: text searching. It's so obvious that you'd want to have this, yet no program does. Text searching the manual is some what similar, but this GUI does the next step: it allows you to search your own settings. It is frequently the case that you want to find a feature based on what you entered in the setting at some prior date (say: "c:\doc" as your MS Word document directory), yet no program that I've seen (except the MailShield/MailEngine GUI) lets you do that.

You can try out the MailEngine web interface here.