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.
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.
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
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
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
we need to deal with all sorts of issues because each one have made their own opinionated choices about how to display email.
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.
Using a framework helps us in better maintenance as earlier we had only generated html and it was difficult to extend
We prefered Foundation because of prior experience , reusability and fine controls
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.
Generated html structure is only 25% of original
Two column layouts will be converted to one column layout on mobile devices
one of latest email standards is AMP. This is an open standard initiated by Google
General advantages (https://amp.dev/about/email/)
Security (https://developers.google.com/gmail/ampemail/security-requirements)
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”