SlideShare a Scribd company logo
1 of 20
About Me
Currently l am working as a software
developer in a startup - Zendrive. I am
very passionate about Web
development, Data structures,
problem solving and algorithms. I also
love to share knowledge.
ABHINAV SHARMA
About Zendrive
Zendrive measures driver safety using
smartphone sensors: the accelerometer,
gyroscope, and GPS. This is done by measuring
a wide variety of driving behaviors including
speeding, hard braking, sharp accelerations,
driver phone use, and more.
Zendrive analyzes this behavior and returns
actionable insights, including notifications of
collisions, risk analysis, and a guide to coach
drivers for sustained improvement. Zendrive’s
partners use this to offer new features to their
customers.
3
THE OFT-IGNORED ART OF EMAIL DESIGN
4
EMAIL CLIENTS MARKET SHARE
5
CHALLENGES IN EMAIL DESIGN
We need to be compatible with lots of email clients.
Examples:
1. Gmail does not support style tags in head section. All the styles need to
be inlined.
2. Outlook does not work well with div based layouts and tables need to
be used.
<span class="preheader" style="color:#ededed;display:none!important;font-size:1px;line-height:1px;max-height:0;max-width:0;mso-
hide:all!important;opacity:0;overflow:hidden;visibility:hidden"></span>
<table class="body" style="Margin:0;background:#ededed;border-collapse:collapse;border-spacing:0;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font-
weight:400;height:100%;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;width:100%">
<tr style="padding:0;text-align:left;vertical-align:top">
<td class="center" align="center" valign="top" style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-
family:Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
<center data-parsed style="min-width:580px;width:100%">
<table align="center" class="container float-center" style="Margin:0 auto;background:#ededed;border-collapse:collapse;border-spacing:0;float:none;margin:0 auto;padding:0;text-
align:center;vertical-align:top;width:580px">
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font-
weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
<table class="spacer"style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
<tbody>
And the structure continues ….(only approx25% structure is shown here)
6
TABLE BASED DESIGN
Before Inlining
<div class="large ">
</div>
.large {
width: 20px;
}
.primary {
color: blue;
} 7
INLINING EXAMPLE
After Inlining
<div class="large primary" style="color:
blue; width: 20px;">
</div>
8
CONSIDERATIONS TO SOLVE THE PROBLEM
● Our team of front-end developers should love to work with it.
● The setup should support reusability.
● The setup should give developers the ability to implement pixel-
perfect designs.
Use a BoilerPlate template
● Developer should be aware of quirks
of email formatting.
● Need to manage own set of tools for
inlining styles etc.
9
APPROACHES
Use a framework
● Lot of emails with shared components
● Ideal for pixel-perfect designs.
FOUNDATION
● Pre-built templates
● Support for reusability like partials
etc for common footer and header
● Foundation has support to generate a
scaffold
10
FRAMEWORKS
MJML
● Pre-built components
● Reusability is supported through
custom components
● Does not come with a structured set
of folders for content
Foundation
<container>
<row>
<columns>
<center>
<button class="large" href="{{ password_reset_link
}}">
Reset Your Password
</button>
</center>
</columns>
</row>
</container>
MJML
<mjml>
<mj-body>
<mj-section>
<mj-column>
<mj-image width="100px" src="/assets/img/logo-small.png"></mj-
image>
<mj-text align="center">
Please click below to reset password
</mj-text>
<mj-divider border-color="#F45E43"></mj-divider>
<mj-button font-family="Helvetica" background-color="#f45e43"
color="white">
Reset Password
</mj-button>
</mj-column>
</mj-section>
</mj-body> 11
EXAMPLES
1) Install foundation-cli using npm
1) Run foundation new --framework <folder name> :
a) The generated folder has following structure of src folder:
Assets : Sass and image files
Layouts: Boilerplate html that wraps emails
Pages: Html files for emails
Partials: Reusable chunks of html that can be injected into
pages
12
SETUP
npm start
This will kick off the build process, which includes HTML parsing, Sass, image compression, and a
server.
npm run build
Single command (npm run build) will generate the required templates. This will also do Inlining.
13
DEVELOPMENT
14
PROCESS FLOW
<container>
<row>
<columns>
<center>
<button class="large" href="{{ password_reset_link
}}">
Reset Your Password
</button>
</center>
</columns>
</row>
</container>
15
COMPARISON OF HTML STRUCTURE FOR SAMPLE
<span class="preheader" style="color:#ededed;display:none!important;font-size:1px;line-height:1px;max-
height:0;max-width:0;mso-hide:all!important;opacity:0;overflow:hidden;visibility:hidden"></span>
<table class="body" style="Margin:0;background:#ededed;border-collapse:collapse;border-
spacing:0;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font-
weight:400;height:100%;line-height:1.3;margin:0;padding:0;text-align:left;vertical-
align:top;width:100%">
<tr style="padding:0;text-align:left;vertical-align:top">
<td class="center" align="center" valign="top" style="-moz-hyphens:auto;-webkit-
hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-
family:Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-
height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
<center data-parsed style="min-width:580px;width:100%">
<table align="center" class="container float-center" style="Margin:0
auto;background:#ededed;border-collapse:collapse;border-spacing:0;float:none;margin:0
auto;padding:0;text-align:center;vertical-align:top;width:580px">
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-
collapse:collapse!important;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font-
weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-
wrap:break-word">
<table class="spacer" style="border-collapse:collapse;border-spacing:0;padding:0;text-
align:left;vertical-align:top;width:100%">
<tbody>
And the structure continues ….(only approx 25% structure is shown here)
16
RENDERED EMAIL
17
WHAT’S IN FUTURE ?
Accelerated Mobile Pages
18
FEATURES OF AMP
Increased in-mail capabilities Safe and secure Consistency and scalability
● Always up to date content
● Dynamic and interactive
● AMP content is sent along-
side conventional email
content to support other
email clients
● Designed to prevent
malwares and
phishing
● Domain verification
is a must and emails
are TLS encrypted
19
AMP EXAMPLES: GOOGLE DOCS NOTIFICATION
Feedback and Questions
Linkedin:
https://www.linkedin.com/in/abhinav-sharma-
0425854b/
Github:
https://github.com/sharmaabhinav
Medium Blog:
https://medium.com/zendrive-tech/the-oft-
ignored-art-of-email-design-704441aeb9a0
Email:
abhinavsharmambm@gmail.com

More Related Content

Similar to The oft ignored art of email design

IT230-Assignment 1 Solved.pdf
IT230-Assignment 1 Solved.pdfIT230-Assignment 1 Solved.pdf
IT230-Assignment 1 Solved.pdfDark179280
 
Account receivable management application
Account receivable management applicationAccount receivable management application
Account receivable management applicationMike Taylor
 
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your ResultsEmail Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your ResultsShana Masterson
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Wahyu Putra
 
wd project.pptx
wd project.pptxwd project.pptx
wd project.pptxdsffsdf1
 
How to Project-Manage and Implement a Responsive Website
How to Project-Manage and Implement a Responsive WebsiteHow to Project-Manage and Implement a Responsive Website
How to Project-Manage and Implement a Responsive WebsiteJj Jurgens
 
Mallesh_5+Years_ExpDOTNet
Mallesh_5+Years_ExpDOTNetMallesh_5+Years_ExpDOTNet
Mallesh_5+Years_ExpDOTNetMallesh Vibhuti
 
Best practice for magento theming by shrikant vaghela
Best practice for magento theming by shrikant vaghelaBest practice for magento theming by shrikant vaghela
Best practice for magento theming by shrikant vaghelavijaygolani
 
Interactive Responsive Emails - Creative ways to innovate in email development
Interactive Responsive Emails - Creative ways to innovate in email developmentInteractive Responsive Emails - Creative ways to innovate in email development
Interactive Responsive Emails - Creative ways to innovate in email developmentMichael Posso
 
Front end full stack development module 1pptx
Front end full stack development module 1pptxFront end full stack development module 1pptx
Front end full stack development module 1pptxMaruthiPrasad96
 
The GE Design System and thoughts about craft at scale
The GE Design System and thoughts about craft at scaleThe GE Design System and thoughts about craft at scale
The GE Design System and thoughts about craft at scaleDavid Cronin
 
01. 02. html web engineering html &amp; introduction
01. 02. html   web engineering html &amp; introduction01. 02. html   web engineering html &amp; introduction
01. 02. html web engineering html &amp; introductionN Gull
 
Developing Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsDeveloping Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsSteven Slack
 
BADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best PracticesBADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best Practicesmeghsweet
 
Design Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressDesign Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressJesse James Arnold
 
JSN Gruve Customization Manual
JSN Gruve Customization ManualJSN Gruve Customization Manual
JSN Gruve Customization ManualJoomlaShine
 
UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012impulsedev
 

Similar to The oft ignored art of email design (20)

IT230-Assignment 1 Solved.pdf
IT230-Assignment 1 Solved.pdfIT230-Assignment 1 Solved.pdf
IT230-Assignment 1 Solved.pdf
 
Account receivable management application
Account receivable management applicationAccount receivable management application
Account receivable management application
 
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your ResultsEmail Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3
 
wd project.pptx
wd project.pptxwd project.pptx
wd project.pptx
 
How to Project-Manage and Implement a Responsive Website
How to Project-Manage and Implement a Responsive WebsiteHow to Project-Manage and Implement a Responsive Website
How to Project-Manage and Implement a Responsive Website
 
Mallesh_5+Years_ExpDOTNet
Mallesh_5+Years_ExpDOTNetMallesh_5+Years_ExpDOTNet
Mallesh_5+Years_ExpDOTNet
 
Best practice for magento theming by shrikant vaghela
Best practice for magento theming by shrikant vaghelaBest practice for magento theming by shrikant vaghela
Best practice for magento theming by shrikant vaghela
 
Interactive Responsive Emails - Creative ways to innovate in email development
Interactive Responsive Emails - Creative ways to innovate in email developmentInteractive Responsive Emails - Creative ways to innovate in email development
Interactive Responsive Emails - Creative ways to innovate in email development
 
Front end full stack development module 1pptx
Front end full stack development module 1pptxFront end full stack development module 1pptx
Front end full stack development module 1pptx
 
The GE Design System and thoughts about craft at scale
The GE Design System and thoughts about craft at scaleThe GE Design System and thoughts about craft at scale
The GE Design System and thoughts about craft at scale
 
01. 02. html web engineering html &amp; introduction
01. 02. html   web engineering html &amp; introduction01. 02. html   web engineering html &amp; introduction
01. 02. html web engineering html &amp; introduction
 
Developing Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsDeveloping Custom WordPress Themes for Clients
Developing Custom WordPress Themes for Clients
 
BADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best PracticesBADCamp 2012 -Beginner Best Practices
BADCamp 2012 -Beginner Best Practices
 
Resume updated-maks
Resume updated-maksResume updated-maks
Resume updated-maks
 
Design Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressDesign Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPress
 
JSN Gruve Customization Manual
JSN Gruve Customization ManualJSN Gruve Customization Manual
JSN Gruve Customization Manual
 
UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012
 
Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
 
Nagesh1_Cv (1)
Nagesh1_Cv (1)Nagesh1_Cv (1)
Nagesh1_Cv (1)
 

Recently uploaded

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

The oft ignored art of email design

  • 1. About Me Currently l am working as a software developer in a startup - Zendrive. I am very passionate about Web development, Data structures, problem solving and algorithms. I also love to share knowledge. ABHINAV SHARMA
  • 2. About Zendrive Zendrive measures driver safety using smartphone sensors: the accelerometer, gyroscope, and GPS. This is done by measuring a wide variety of driving behaviors including speeding, hard braking, sharp accelerations, driver phone use, and more. Zendrive analyzes this behavior and returns actionable insights, including notifications of collisions, risk analysis, and a guide to coach drivers for sustained improvement. Zendrive’s partners use this to offer new features to their customers.
  • 3. 3 THE OFT-IGNORED ART OF EMAIL DESIGN
  • 5. 5 CHALLENGES IN EMAIL DESIGN We need to be compatible with lots of email clients. Examples: 1. Gmail does not support style tags in head section. All the styles need to be inlined. 2. Outlook does not work well with div based layouts and tables need to be used.
  • 6. <span class="preheader" style="color:#ededed;display:none!important;font-size:1px;line-height:1px;max-height:0;max-width:0;mso- hide:all!important;opacity:0;overflow:hidden;visibility:hidden"></span> <table class="body" style="Margin:0;background:#ededed;border-collapse:collapse;border-spacing:0;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font- weight:400;height:100%;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;width:100%"> <tr style="padding:0;text-align:left;vertical-align:top"> <td class="center" align="center" valign="top" style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font- family:Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word"> <center data-parsed style="min-width:580px;width:100%"> <table align="center" class="container float-center" style="Margin:0 auto;background:#ededed;border-collapse:collapse;border-spacing:0;float:none;margin:0 auto;padding:0;text- align:center;vertical-align:top;width:580px"> <tbody> <tr style="padding:0;text-align:left;vertical-align:top"> <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font- weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word"> <table class="spacer"style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%"> <tbody> And the structure continues ….(only approx25% structure is shown here) 6 TABLE BASED DESIGN
  • 7. Before Inlining <div class="large "> </div> .large { width: 20px; } .primary { color: blue; } 7 INLINING EXAMPLE After Inlining <div class="large primary" style="color: blue; width: 20px;"> </div>
  • 8. 8 CONSIDERATIONS TO SOLVE THE PROBLEM ● Our team of front-end developers should love to work with it. ● The setup should support reusability. ● The setup should give developers the ability to implement pixel- perfect designs.
  • 9. Use a BoilerPlate template ● Developer should be aware of quirks of email formatting. ● Need to manage own set of tools for inlining styles etc. 9 APPROACHES Use a framework ● Lot of emails with shared components ● Ideal for pixel-perfect designs.
  • 10. FOUNDATION ● Pre-built templates ● Support for reusability like partials etc for common footer and header ● Foundation has support to generate a scaffold 10 FRAMEWORKS MJML ● Pre-built components ● Reusability is supported through custom components ● Does not come with a structured set of folders for content
  • 11. Foundation <container> <row> <columns> <center> <button class="large" href="{{ password_reset_link }}"> Reset Your Password </button> </center> </columns> </row> </container> MJML <mjml> <mj-body> <mj-section> <mj-column> <mj-image width="100px" src="/assets/img/logo-small.png"></mj- image> <mj-text align="center"> Please click below to reset password </mj-text> <mj-divider border-color="#F45E43"></mj-divider> <mj-button font-family="Helvetica" background-color="#f45e43" color="white"> Reset Password </mj-button> </mj-column> </mj-section> </mj-body> 11 EXAMPLES
  • 12. 1) Install foundation-cli using npm 1) Run foundation new --framework <folder name> : a) The generated folder has following structure of src folder: Assets : Sass and image files Layouts: Boilerplate html that wraps emails Pages: Html files for emails Partials: Reusable chunks of html that can be injected into pages 12 SETUP
  • 13. npm start This will kick off the build process, which includes HTML parsing, Sass, image compression, and a server. npm run build Single command (npm run build) will generate the required templates. This will also do Inlining. 13 DEVELOPMENT
  • 15. <container> <row> <columns> <center> <button class="large" href="{{ password_reset_link }}"> Reset Your Password </button> </center> </columns> </row> </container> 15 COMPARISON OF HTML STRUCTURE FOR SAMPLE <span class="preheader" style="color:#ededed;display:none!important;font-size:1px;line-height:1px;max- height:0;max-width:0;mso-hide:all!important;opacity:0;overflow:hidden;visibility:hidden"></span> <table class="body" style="Margin:0;background:#ededed;border-collapse:collapse;border- spacing:0;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font- weight:400;height:100%;line-height:1.3;margin:0;padding:0;text-align:left;vertical- align:top;width:100%"> <tr style="padding:0;text-align:left;vertical-align:top"> <td class="center" align="center" valign="top" style="-moz-hyphens:auto;-webkit- hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font- family:Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line- height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word"> <center data-parsed style="min-width:580px;width:100%"> <table align="center" class="container float-center" style="Margin:0 auto;background:#ededed;border-collapse:collapse;border-spacing:0;float:none;margin:0 auto;padding:0;text-align:center;vertical-align:top;width:580px"> <tbody> <tr style="padding:0;text-align:left;vertical-align:top"> <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border- collapse:collapse!important;color:#0a0a0a;font-family:Helvetica,Arial,sans-serif;font-size:16px;font- weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word- wrap:break-word"> <table class="spacer" style="border-collapse:collapse;border-spacing:0;padding:0;text- align:left;vertical-align:top;width:100%"> <tbody> And the structure continues ….(only approx 25% structure is shown here)
  • 17. 17 WHAT’S IN FUTURE ? Accelerated Mobile Pages
  • 18. 18 FEATURES OF AMP Increased in-mail capabilities Safe and secure Consistency and scalability ● Always up to date content ● Dynamic and interactive ● AMP content is sent along- side conventional email content to support other email clients ● Designed to prevent malwares and phishing ● Domain verification is a must and emails are TLS encrypted
  • 19. 19 AMP EXAMPLES: GOOGLE DOCS NOTIFICATION
  • 20. Feedback and Questions Linkedin: https://www.linkedin.com/in/abhinav-sharma- 0425854b/ Github: https://github.com/sharmaabhinav Medium Blog: https://medium.com/zendrive-tech/the-oft- ignored-art-of-email-design-704441aeb9a0 Email: abhinavsharmambm@gmail.com

Editor's Notes

  1. we need to deal with all sorts of issues because each one have made their own opinionated choices about how to display email.
  2. Point 1 Their focus should be building the best email possible, not worrying about renders in different email clients. Email templates should use the same principles and elements of normal web page development. Point 2 Common elements such as headers and footers should be easily available.
  3. Using a framework helps us in better maintenance as earlier we had only generated html and it was difficult to extend
  4. We prefered Foundation because of prior experience , reusability and fine controls
  5. Inlining : This is the process of injecting all of the CSS for the email into the HTML, so that it works as a self-contained file.
  6. Generated html structure is only 25% of original
  7. Two column layouts will be converted to one column layout on mobile devices
  8. one of latest email standards is AMP. This is an open standard initiated by Google
  9. General advantages (https://amp.dev/about/email/) Security (https://developers.google.com/gmail/ampemail/security-requirements)
  10. This is the current Google docs use-case that is powered by AMP There is a lighting icon near the email timestamp above that indicated that this is a “dynamic email”