Ted Matavka - 2019-01-04

HERMES Mail, an initiative to bring the massive codebase of Qualcomm Eudora for Windows into the 21st century, is through childhood and well into puberty. As the project's "father", in near every sense of the term, I have done much soul-searching in terms of what's possible and what isn't, and I've reached the conclusion that it's time for our family to grow once more.

The keystone of my plan, even before the first line of code was written, has been agnosticism with respect to software platforms: a spiritual successor to QUALCOMM Eudora capable of running on every variant of UNIX (including OS X) as well as Haiku and Windows. At this point, it must be noted that Eudora (as originally written by QUALCOMM) wasn't cross platform in the sense of having one codebase that could be compiled for different architectures; instead, it had parallel teams producing two programs that shared the same features and interface, and were designed according to the same philosophy.

Although the original intent of the HERMES project was to develop the Windows version into a truly cross-platform application, the feasibility of this option is... sharply dwindling. Windows Eudora is so pervasively intertwined with the Microsoft Foundation Classes that porting it to a UNIX system would mean rewriting it twice or thrice over.

Instead, what with HERMES Mail for Windows almost ready for release, I've taken it upon myself to dust off the old Macintosh Eudora code and set it up in a Mercurial repository on SourceForge---a return to the /status quo ante mortem/, essentially. Unfortunately, the people on the teams I currently lead specialise in Java, C++, and MFC. With that in mind, the HERMES Mail/X project (X as in OS X, UNIX, POSIX, you get the idea) seeks developers proficient in C and experienced in programming for the Macintosh.

This is a project to resurrect dead (but much-loved) software; ergo, it comes with some unique challenges with which any prospective coders ought to familiarise themselves.

  • The CodeWarrior IDE is deprecated and the project needs to be converted into Xcode format. I do not know how difficult this will be, but it is undoubtedly the easiest task to fulfil.

  • OS X 10.14 is the last version compatible with 32-bit software, and as of OS X 10.5, support for Carbon in 64-bit applications has been deliberately withheld, for reasons of commerce rather than technology. It was originally thought that this would be catastrophic, because Eudora was written in 100% Carbon, but it turns out that Apple oversimplified: the primary parts removed were the "UI portions of HIToolbox".

  • Eudora was originally compiled for PowerPC only, and as such, the compiled binary requires Rosetta to run. How this will impact development of HERMES Mail/X is largely unclear; the last version of Eudora came out before "fat" binaries were commonplace, and my possibly flawed recollection is that most PowerPC programs could be compiled for Intel without substantial change.

  • The resource forks are corrupted and unusable. This is most probably immaterial, because HIToolbox will have to be replaced with its Cocoa equivalent. New resources will have to be created, using HERMES Mail for Windows as a guide.

If you wish to participate in the project and have the required skills (or a solution to any of the above problems), please contact me through the usual channels (forum reply or eMail is best). The project is located at https://sourceforge.net/projects/hermesmail-x/. A Mercurial repository is provided.