Wednesday, February 22, 2023

Computer Archeology: UMT (Ultimate Mail Tool)

Between 1993 and 1995, I've been leading a team at a software company in Kyiv, Ukraine, developing a mail client (MUA) with a graphical user interface for Unix (Irix, HPUX, Solaris, and Linux). It was an in-house, build-from-scratch product with the hope of selling it as a commercial offering. Back then, most Unix folks used text email clients, like elm or mutt, which lacked many modern features. In particular, the focus was on the following:

  1. International support (text encodings, fonts, etc.)
  2. MIME support (back then, sending binary attachments by inlining uuencoded text was still quite common).
  3. Rich text (bold, italic, multiple fonts, inlined images).
  4. S/MIME
  5. POP3/SMTP instead of reading local inbox and invoking `sendmail` to send out messages.

It sounds pretty trivial nowadays, but these features were missing from most Unix email clients on the market back then. The built-in address book and message filters were also quite innovative at the time. There were a few technical challenges as well. Since we wanted to be portable between various Unix flavours, we could not use SUN's Open Look, and the Motif toolkit had various portability issues between the platforms. We've chosen a not very well-known InterViews library (developed at Stanford University), which was very advanced for its time. It was in C++; everything was an object, had good Unicode support, etc. The C++ part was a plus but also a problem, as writing portable C++ code for HPUX, SGI, and GCC compilers was a challenge back then. As for network and email stuff, there were no existing libraries, and we had to implement POP3, IMAP, MIME, and related RFCs from scratch.

The project was a lot of fun. We were a small team of young software developers coding an exciting product on high-powered Unix workstations. We worked hard but found time for regular drinks and DOOM LAN parties at the office (often combined). Not surprisingly, the project failed commercially, but some people used UMT (Ultimate Mail Tool was how we named our product) for a few years after that.

Unfortunately, the source code was lost, but I found a copy of the web page (including screenshots) and some binary releases which I've published here, primarily for nostalgia reasons.