rethinking how we manage email development & delivery

31
Rethinking the transactional emails approach

Upload: cedric-dugas

Post on 02-Aug-2015

5.284 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Rethinking how we manage email development & delivery

Rethinking the transactional emails approach

Page 2: Rethinking how we manage email development & delivery

HELLO!

I am Cedric DugasProduct manager & senior front-end dev

(worked 3+ years at CakeMail, building 2 emails wysiwyg)

@posabsolute

Page 3: Rethinking how we manage email development & delivery

A small bit of historyWhy is it so hard to do emails?

Page 4: Rethinking how we manage email development & delivery

A bit of history

It’s 2007.

Page 5: Rethinking how we manage email development & delivery

A bit of history

Page 6: Rethinking how we manage email development & delivery

“We’ve made the decision to continue to use Word for creating e-mail messages because

we believe it’s the best e-mail authoring experience around…

William Kennedy

Corporate Vice President, Office Communications and Forms Team

The power of Word in Outlook

Page 7: Rethinking how we manage email development & delivery

The Outlook madness

OUTLOOK

2000 2003 2007 2010 2013

Page 8: Rethinking how we manage email development & delivery

The Outlook madness

OUTLOOK

2000 2003 2007 2010 2013

IE? IE?

Outlook 2000 & 2013 use the IE version installed on your computer, to this day it is possible to have it with IE11 (but it majorly fails)

Litmus seems to show with IE6 which should be the most used version.

Page 9: Rethinking how we manage email development & delivery

The browsers madness

OUTLOOK

2000 2003 2007 2010 2013

Custom Custom Webkit Custom

Mobile

Custom (no responsive) WebkitWebkit

Page 10: Rethinking how we manage email development & delivery

The Browsers madness

You thought that integrating for IE6 is hard?

Page 11: Rethinking how we manage email development & delivery

The Browsers madness

Give it to the intern!

Page 12: Rethinking how we manage email development & delivery

Let’s fix our emailsWith some nice (javascript) tools

Page 13: Rethinking how we manage email development & delivery

Zurb Ink

Page 14: Rethinking how we manage email development & delivery

Zurb Ink

Ink responsive trick

When you view an email on a device with a viewport less than 600,

Ink use the row table & put all wrapper td to display block

Page 15: Rethinking how we manage email development & delivery

Zurb Ink

Ink is not a silver bullet

1. Weird reset rules on img & margins on elements2. Still LOTS of tables3. No SASS or LESS structure, one big mangled css file4. Will not save you on everything else you write

outside of ink like background images

But you should still use it

Page 16: Rethinking how we manage email development & delivery

CSS Inlining

Premailer

1. Generate an html version with your styles inlined2. Fix stuff you don’t even know3. Warn you when you use stuff you should not.

Page 17: Rethinking how we manage email development & delivery

Premaier

Page 18: Rethinking how we manage email development & delivery

Premailer

Page 19: Rethinking how we manage email development & delivery

Premailer

Stop copy pasting! There is a grunt plugin

Page 20: Rethinking how we manage email development & delivery

Automation Tools

Stop wasting time doing these things by hand

1. Litmus

grunt litmus:dist/output/sidebar_hero/index.html

2. Send test emails (grunt-nodemailer)

grunt email --fileSrc=dist/output/example.html

Page 21: Rethinking how we manage email development & delivery

Thinking about how we manage & send email

Page 22: Rethinking how we manage email development & delivery

Processes & Architecture

Page 23: Rethinking how we manage email development & delivery

Processes & Architecture

Page 24: Rethinking how we manage email development & delivery

Processes & Architecture

“Hey guys,

We need to change our email header everywhere, we are changing of identity, it’s going to be awesome!”

Page 25: Rethinking how we manage email development & delivery

Processes & Architecture

?*(&#$(*&$(*#$& ?*(&#$(*&$(*#$&

?*(&#$(*&$(*#$&

Page 26: Rethinking how we manage email development & delivery

Processes & Architecture

Page 27: Rethinking how we manage email development & delivery

Processes & Architecture

Other things to think about

1. Failover! sendgrid goes down, what happen to your forgot password emails?

2. Asynchronous, your customers should never wait for your provider response.

3. Logs, you really want to know when you stop sending email or if your provider is down.

4. Providers have poor templating languages, do not get stuck in them.

Page 28: Rethinking how we manage email development & delivery

Is there a silver bullet?

Yes & it’s called Inker.

Page 29: Rethinking how we manage email development & delivery

Inker

Coding

1. Base templates goodness2. Sane CSS components structure 3. Sane HTML components 4. Localization5. Keep it clean, generate templates

with inlined CSS6. Auto deployment on litmus7. Auto deployment to any email

address for testing

Email Delivery API (nodejs)

1. Automatic Failover2. Asyncronous3. Generate emails with custom data

on the fly4. Integrate all major email delivery

providers5. Logs! hipchat, slack, logtenries,

winston, push notifications.

inker.position-absolute.com

Page 30: Rethinking how we manage email development & delivery

Processes & Architecture

inker.position-absolute.com

Page 31: Rethinking how we manage email development & delivery

THANKS!

Any questions?You can find me at:

@posabsoluteposition-absolute.com