* * * * *

                              Feeping creaturism

I've spent the past week or so adding a new feature to The Boston Diaries and
I'm finally rolling it out—email notification of updates!

A week for a simple feature might seem like overkill, but I did want to do
this right and with as little breakage as possible. And it's not quite as
straight forward as you may think either.

Design strategy number one: avoid complaints of spam as much as possible. As
a result, I added a verification scheme. Upon first submitting an email
address, the program displays a page saying the email address has been
collected and at the same time, an email has been sent to the email address
requesting verification. This is to keep a malicious person from submitting
an email address to some unsuspecting person who then starts receiving emails
about some oddball site being updated. So simply adding an email address to
the end of a list is right out.

To this end, there are two lists maintained—one list of addresses that I am
waiting a reply from, and the second one that actually gets sent the
notifications of updates.

When the person subscribing replies, the reply email is sent to a program
that gets the email address that doing the replying, and looks it up in the
pending list, and if so, removes it from the pending list and adds the email
to the notification list, and sends an email saying as much.

The program that processes new entries then goes sequentially through the
notification list and sends out an email message.

Fairly straightforward, although there are some details I skimped out on
(like checks to see if the address is already in one of the lists,
unsubscribing, just small details) that's pretty much how it works. The time
spent though, was making sure I got all the details (big and small) right.
Oh, and making it such that Spring [1] could use it for her journal [2] as
well.

[1] http://www.springdew.com/
[2] http://connected.springdew.com/

Email author at [email protected]