

How we send a morning email to users around the world. - adrianpike
https://strideapp.com/blog/2012/11/sending-morning-emails/

======
grecy
I wonder if the cron job should be run every 1/2 hour to catch timezones that
are 1/2 hour offsets?

(There are even more than I thought)

[http://geography.about.com/od/culturalgeography/a/offsettime...](http://geography.about.com/od/culturalgeography/a/offsettimezones.htm)

~~~
46Bit
> There are even more [1/2 hour offset timezones] than I thought

I was pretty surprised at that as well when building
<http://hackertimezone.com>. I always assumed it was mostly confined to small
island chains and so forth, but there's some world cities in there as well.

~~~
statusgraph
my personal favorite is the 45minute offset:
<http://en.wikipedia.org/wiki/Chatham_Islands#Chathams_Time>

------
MicahWedemeyer
Thanks! jsTimezoneDetect is something I've been looking for.

~~~
amiel
I'm glad to have helped you find it.

Thanks to Jon Nylander for maintaining it
(<https://bitbucket.org/pellepim/jstimezonedetect/>).

------
jachwe
I would prefer a settings page where i can opt in oder out for certain
mailings (if not mandatory) and set the timesettings myself.

Relying on the header information might lead to wrong results as some people
changed settings and it relies on the browser. (Though i guess thats not valid
for many users)

But while you're there, one can also set time to receive emails themself.
Maybe i want to have it earlier because half of my tasks already need to be
done by 7am.

Of course, the best is to combine both, having a settings page with default
value gathered from the browser.

Nice article which really covers the problem many people aren't thinking
about.

~~~
adrianpike
We do have a user override for timezone, and we're using it to track how many
mistakes we're getting from the browser - we were expecting it to be pretty
hit & miss, but we've actually seen great success.

Good thought about being able to change when morning emails fire. The 7am is
really a relic from when we first started, even before we had the rolling
timezones - we were trying to hit a time that worked for west coasters & east
coasters alike, and sure enough, we got a ton of overseas users way sooner
than we thought, so out came the rolling timezones. :)

------
mmcnickle
I was impressed when I first recieved the Monday morning recap. One thing
though, the cutsey "Monday's aren't so bad" thing became pretty stale. I was
really hoping they would be different every week, as it came across as being
really personal.

~~~
adrianpike
Thanks for that - we'll take that to heart on our next revision of our emails.
:)

------
pkulak
I thought this was going to talk about how to send 10s or 100s of thousands
(millions?) of emails in a small timeframe, which would be an interesting
problem, and may be for Stride at some point!

------
OzzyOsbourne
> "if cron fails completely"

How often does this happen, and why? If this problem is inherent to cron, are
there alternatives that are [possibly] better suited to server work?

~~~
adrianpike
Cron's probably the wrong term to use there - the failures I usually see are
on the code or environment side, and usually it's a PITA to try and refire
missed cron events once you fix the bugs.

