Wednesday, September 24, 2008

Email Grail

Warning: Lengthy rant ahead.

Email, my friends. Sounds so simple--a program that will reliably send and receive email, and has just a few reasonable bells and whistles to help me through my day.

Yesterday I went through a dozen and a half email clients for Mac OS X, and found not one that met all my needs.

I used to use Eudora, and I was happy. But Eudora has become decrepit: it is unsupported, and unreliable on Mac OS X Leopard. (It even lost some mail once. I used Eudora for over a decade and never lost a byte, but under Leopard it can lose mail. Unacceptable!)

So a while back I switched to Apple Mail, and groused about it because I lost some of Eudora's niftier features. But it mostly does what I want, and has its own virtues including really excellent search capabilities, tied into Spotlight. But...

Apple Mail has some bizarre problem in talking to my ISP's SMTP server. It takes forever to send outgoing mail, and most of the time it fails. Other folks on the Web have reported similar troubles, but none of their suggestions have helped. In despair I have had to go hunting for yet another email client.

I found 17 candidates, and every one of them is lacking in some fashion. My requirements are fairly simple—or so I thought:

  • Keep messages in individual files (this is a standard, RFC 822)
  • Handle large amounts of mail and multiple accounts gracefully
  • Good search capability
  • Good filtering capability
  • Supported product

There are three reasons I wanted one-file-per-message. First and foremost, I do not trust proprietary database formats. If the database gets damaged, I've lost everything. If the product stops working, I've lost everything. Yes, most of them have an export-to-standard-format ability, but I have to know that I'm about to lose everything before it actually happens, or else the capability is useless. Database storage is a deal-breaker for me.

Second, on rare occasions I need to actually edit received mail. (Usually this is because some misguided customer has sent me their credit card number, which is information I don't want and shouldn't have. I edit it out of the email immediately when that happens.) Mail should be stored in an editable format, even if the mail client itself doesn't overtly support such editing.

Third, monolithic mailbox files have to be backed up every time a message is added or deleted. This is inefficient and wastes space on my backup media.

During my research, I discovered several more requirements, stuff I'd been taking for granted:

  • Rich text (aka HTML mail) - Maybe the world would be better without it, but my customers use it. A lot.
  • Folder/subfolder organization for saved mail - Other paradigms exist, but I have tens of thousands of messages organized in folders, and I'm not about to reorganize them now.
  • Import from Apple Mail - Right. Duh. Almost forgot about that detail.
  • Decent spam filtering - I get about a thousand spams a day.

So how did all the candidates stack up? Here they are, each with their primary deal-breaker:

  • Balzac - Can't organize in folders.
  • Correo - Somebody's hobby. Too new, too feature-poor, too little support.
  • Entourage - Database. (Also, Microsoft. Feh!)
  • Eudora - Unsupported, crashy.
  • GNUMail - Unsupported since early 2007; home Web site is offline. OS X info sketchy.
  • GyazMail - No outgoing HTML mail. (Man, that was disappointing. This one looked good otherwise.)
  • Magellan Pro - Unsupported since 2004.
  • Mailsmith - Database, and no HTML mail.
  • Mulberry - Poor spam filtering, poor import capabilities.
  • Musashi - Old. Documentation is thin and in poor English.
  • Nisus Email - Irritating UI: no built-in text editor, omnipresent floating window even in other apps.
  • Odysseus - Supposed to be a Eudora clone, but it's still in beta.
  • Opera Mail - Integrated with Web browser, feh.
  • PowerMail - Database.
  • SeaMonkey - Integrated with Web browser, feh.
  • Thunderbird - Ah, Thunderbird...

I finally decided it would have to be Thunderbird. It's open source, vigorously supported, mature, and feature-rich. It keeps mail in mbox format like Eudora: not ideal for backups, but at least it's standard, editable, and recoverable. Its ability to import from Apple Mail was poor and clumsy, but the Web site explained how to do it and it works. (As of this writing, I've imported less than half my mail. It's a multi-step operation for each mail folder.)

Just when I was starting to relax, I hit a near-deal-breaker: Thunderbird has no ability to redirect mail! Redirecting is sending a piece of received mail on to another address, without altering the message body. Thunderbird only has forwarding, which does alter the message body. Redirection is crucial to our home business, where I receive customer purchase notifications and have them auto-redirected to Helen, who imports them into our customer database. Her importer relies on the format of the messages, which is why we need redirection and not just forwarding.

I was stunned. Every mail client I've ever used has had redirection. It never occurred to me that a mature, feature-rich product like Thunderbird would lack it!

Well, Thunderbird is extensible, and there are hundreds of extensions. After some searching, I found two that add a redirection capability. But one doesn't work well with recent Thunderbird releases, and neither allows redirection as a filtering action. It took me probably an hour to get all that figured out.

Finally I had to get Helen's attention (she wasn't pleased, she was busy with aggro of her own) and have her investigate her parser to see whether it could handle a forwarded purchase notification. And we dodged the bullet: her parser handles a Thunderbird-forwarded message just fine. Whew!

I think Thunderbird will work out. If I get really upset about some lack or other, I might be able to write an extension of my own to fix the problem. Hope I won't have to, though. Email ought to just work.

Monday, September 22, 2008

The Need for Speed

I fence foil, and I've been at it for several years now. Most people enjoy doing things they're good at, and often don't enjoy things they're bad at, and I'm usually no exception. But, but, but... I love fencing, and I'm not good at it. Oh, I'm not hopeless: I look pretty good during drill because I pay attention and practice hard at correct form and technique. But when it's time to actually fence, it's a different story.

Let me explain. There's no such thing as an unstoppable attack, nor an impenetrable defense. Any attack can be foiled (literally) with the right parry. The trick is to use the right move at the right time, and that's been my bête noir. You can't know what the right move is until you see what your opponent is doing, and that means you have to observe and react very quickly.

Recently I had a bout with a relative beginner. At one point she launched an attack. Since she expected me to parry, her attack included a circling movement intended to evade my parry. And I expected that, so I executed a viciously fast, perfectly precise parry-four-counter-four: a simple parry followed by a circular parry. The circular parry was to pick up her blade in case she succeeded in evading the first parry.

And it didn't work. She hit me, poink, right on target. While I was showing off with my fast, precise parries, she was still executing her circular attack, so wide and so slow that it went all the way around my fancy tight maneuvers, and hit me well after I was done.

Had I actually responded to her attack, I could have stopped her easily. There was plenty of time. But instead I just chose a defense I hoped would work, and it was completely wrong. Even with that slllloooooowwww attack, I was unable to respond appropriately.

So now I'm wishing I hadn't so thoroughly ignored my kids' video games all these years. Maybe my reflexes would be better if I'd had more practice! But I'm working on it--it's never too late to learn. Someday, I might even be good enough to handle a complete noob!

Sunday, September 21, 2008

Heir and Regent

Years ago, I began designing a game called "Heir and Regent." I didn't get far with it; it felt like a formless blob to me and I couldn't see how to bring any order to it. I dropped the design as a result and ignored it for several years.

But my good buddy Seth Jaffee always liked the basic idea, and periodically pokes me to see if he can get me to revisit it. Recently I did, finding that the intervening years of playing and designing other games has given me a much larger toolbox of ideas. I've dusted it off, re-thought some of the basic notions, added some new ideas, and the design is now taking some real shape and even showing a little progress.

There's still a long way to go with it. It's a two-player card game with a custom deck of cards. The rules, scoring, and card deck composition are all still up in the air; I make changes every time I try a solo playtest.

I've begun a "Game Journal" (a blog of sorts dedicated to a single game design) over at the Board Game Designers Forum, where Seth and most of my other design buddies hang out. If you'd like to follow its development, here's the link to Heir and Regent.

Thursday, September 4, 2008

ConQuest SF

Helen and I spent most of Labor Day weekend at ConQuest SF, a four-day gaming convention. Although ConQuest is primarily for wargamers, they offer plenty to interest the non-war boardgamers, like us and our friends.

We had a very good time, although in some ways it was pretty low-key. These conventions offer tournaments, demos of new games, seminars, and more; and in the past we've sampled all of these activities. In addition to scheduled events, I usually look forward to some playtesting of unpublished designs-in-progress, and I hope to discover at least one really exciting game that I haven't played before.

But this time, we mostly just played games with our friends. We skipped the scheduled stuff altogether, except for the flea market, and even that was pretty small and disappointing. We did pick up a copy of Hare and Tortoise, and Helen spotted a vintage copy of Risk that I was able to score for a measly $8. I'm not a big Risk fan; what attracted me was that this version of the game contains approximately a bazillion little wooden cubes in each of six colors -- a real prize for a game designer who needs bits for prototypes!

I played a number of games that were new to me, but nearly all were disappointing and there were several that I outright disliked. (These included Ruse & Bruise and Phoenicia). The one new game that I did rather like was Metropolys. It didn't make me want to rush out and buy a copy, but I certainly wouldn't mind playing it at least a few more times.

There were no interesting prototypes being played, at least that I noticed (there were one or two that I deemed uninteresting). With one exception: Candy Weber's Coronets. I missed that session, but that's okay because I've played it before and expect to be able to play it again. She tells me it's coming along nicely and that some of my feedback from an earlier session has been incorporated. (Yay, I'm helping!)

On Monday the con was still in progress, but we were exhausted; so we slept in and then invited a friend over to play a few more games quietly at home. That was a good day, too.