SlideShare uma empresa Scribd logo
1 de 19
How to craft a
modern, mobile-
optimized HTML email
Jason Samuels, NCFR IT Manager
template
DrupalCamp Twin Cities – May
2012
Our old email template
                     Pros
                     • Simple
                     • Lightweight
                     • Worked as
                        plain-text
                     • Rendered OK
                        on mobile
                     Cons
                     • Outdated look
                     • Lots of junk
                        code = error
                        characters
                     • Inconsistent
                        with website


                                       2
Our new email template
                    Pros
                    • Simple
                    • Lightweight
                    • Works as
                       plain-text
                    More Pros!
                    • Preheader
                       text
                    • Optimized for
                       mobile (iOS)
                    • Consistent
                       with website
                    • Clean code
                    • Tested across
                       email clients


                                       3
How we got there
Three major resources made this possible:
• MailChimp (free templates and guide)
• Cameron Lefevre (NTC session on
  optimizing email for mobile)
• Email on Acid (testing service)




                                            4
MailChimp
• Free resources available at:
  http://mailchimp.com/resources/
• Email Jitsu guide:
  http://mailchimp.com/resources/guides/e
  mail-jitsu
• Free email templates:
  http://mailchimp.com/resources/html-
  email-templates

                                            5
Theming the template
• Open your website’s Style Guide page,
  start Firebug, and begin matching
  elements
• Focus on:
  – color
  – font-family
  – font-size
  – font-weight
  – line-height
                                          6
Mobile optimization
• Cameron Lefevre is my hero
• NTEN blog post introducing the issue:
  http://www.nten.org/articles/2012/the-
  age-of-mobile-email-has-arrived-are-you-
  ready
• NTC session notes (include code
  samples):
  http://labs.mrss.com/optimizing-email-for-
  mobile-phones-notes-from-ntc-2012/
                                           7
CSS3 @media query
@media screen and (max-width: 600px) {
   table.emailtable, td.emailcontent {
                                          By defining alternate styles in
   width: 95% !important;
   }
   h1, h2, h3, h4 {
                                          the CSS for devices based
   text-align:center !important;
   }
   .nomob {                               on their maximum screen
   display: none !important;
   }
   .headerContent{                        width, some elements can be
   text-align:center !important;
   }
   a.baemailfooternav {
   display: block !important;
                                          transformed or hidden to
   font-size: 14px !important;
   font-weight: bold !important;
   padding: 6px 4px 8px 4px !important;
                                          make for a more user-friendly
   line-height: 18px !important;
   background: #dddddd !important;
   border-radius: 5px !important;
                                          format
   margin: 10px auto;
   width: 240px;
   text-align: center;
   }
   }




                                                                        8
CSS3 @media query
@media screen and (max-width: 600px) {
   table.emailtable, td.emailcontent {
                                          • Defines when mobile styles
   width: 95% !important;
   }
   h1, h2, h3, h4 {
                                            get called
   text-align:center !important;
   }
   .nomob {
   display: none !important;
                                          • This query applies format
   }
   .headerContent{
   text-align:center !important;
                                            on screens up to 600px
   }
   a.baemailfooternav {
   display: block !important;
                                            wide
   font-size: 14px !important;
   font-weight: bold !important;
   padding: 6px 4px 8px 4px !important;
   line-height: 18px !important;
                                          • Main table gets re-sized
   background: #dddddd !important;
   border-radius: 5px !important;
   margin: 10px auto;
                                            from 600px down to 95% of
   width: 240px;
   text-align: center;
   }                                        the screen’s width
   }




                                                                     9
CSS3 @media query
@media screen and (max-width: 600px) {
   table.emailtable, td.emailcontent {
                                          • Header tags and header
   width: 95% !important;
   }
   h1, h2, h3, h4 {
                                            content get centered when
   text-align:center !important;
   }
   .nomob {                                 viewed on mobile
   display: none !important;
   }
   .headerContent{
   text-align:center !important;
                                          • nomob is used to hide
   }
   a.baemailfooternav {
   display: block !important;
                                            elements on mobile
   font-size: 14px !important;
   font-weight: bold !important;
   padding: 6px 4px 8px 4px !important;
   line-height: 18px !important;
   background: #dddddd !important;
   border-radius: 5px !important;
   margin: 10px auto;
   width: 240px;
   text-align: center;
   }
   }




                                                                    10
CSS3 @media query
@media screen and (max-width: 600px) {
   table.emailtable, td.emailcontent {
                                         Transforms styling in the
   width: 95% !important;
   }
   h1, h2, h3, h4 {
                                         footer navigation when
   text-align:center !important;
   }
   .nomob {                              viewed on mobile. In
   display: none !important;
   }
   .headerContent{                       particular, this code takes
   text-align:center !important;
   }
   a.baemailfooternav {
   display: block !important;
                                         ordinary text links and turns
   font-size: 14px !important;
   font-weight: bold !important;
   padding: 6px 4px 8px
                                         them into easy-to-press
   4px !important;
   line-height: 18px !important;
   background: #dddddd !important;
                                         buttons.
   border-radius: 5px !important;
   margin: 10px auto;
   width: 240px;
   text-align: center;
   }
   }




                                                                         11
@media query example




Mobile transformation




  <a href="http://www.twitter.com/ncfr" class="baemailfooternav">follow on
                 Twitter</a><span class="nomob"> | </span><a
 href="http://www.facebook.com/ncfrpage" class="baemailfooternav">friend
        on Facebook</a><span class="nomob"> | </span><a href="-"
               class="baemailfooternav">forward to a friend</a>


                                                                             12
Email on Acid
• Cross-client email testing service
• Shows how your message displays in 45
  combinations of email services,
  browsers, and clients
• Plus code analysis and spam filter testing
• $35/month for unlimited testing
  – Discounted for longer term commitments
  – $2 - $5 per test a la carte pricing available

                                                    13
Email on Acid – Test
Results




                       14
Don’t use bullet points (or
numbered lists)
•   Some webmail clients left justify them
•   Some webmail clients center them
•   Some left-justify lists & center the content
•   Path of least resistance = ditch the <ol>
    tag, go w/ asterisks & line breaks instead




                                               15
<p align=”left”>
• GMail and Yahoo Mail default paragraph
  (<p>) tags to align center align when
  viewed in Internet Explorer
• Other browsers still align paragraphs left
• Why? I don’t know.
• Forcing the alignment left fixes it



                                               16
Preheader table needed a
background color
• Although it’s already defined in the CSS,
  Yahoo Mail doesn’t show it
• With the repeating blue stripe at the top
  of our template, that resulted in dark text
  on a dark background




                                                17
Voila!
• This was not a short process
• Took a lot of work and dozens of tests to
  get it right
• End result looks pretty darn good though,
  and stays looking good across all of the
  popular email clients



                                          18
Additional Resources
• Email on Acid blog:
  http://www.emailonacid.com/blog
• Campaign Monitor blog:
  http://www.campaignmonitor.com/blog/
• My blog: http://blog.jasonsamuels.net




                                          19

Mais conteúdo relacionado

Mais de Jason Samuels (8)

Managing Technology on a Budget
Managing Technology on a BudgetManaging Technology on a Budget
Managing Technology on a Budget
 
The Intersection of Technology and Social Media with Work/Family
The Intersection of Technology and Social Media with Work/FamilyThe Intersection of Technology and Social Media with Work/Family
The Intersection of Technology and Social Media with Work/Family
 
NCFR Honoring Mentors Slideshow
NCFR Honoring Mentors SlideshowNCFR Honoring Mentors Slideshow
NCFR Honoring Mentors Slideshow
 
Using Web 2.0 to Enhance Relationships and Further Your Message
Using Web 2.0 to Enhance Relationships and Further Your MessageUsing Web 2.0 to Enhance Relationships and Further Your Message
Using Web 2.0 to Enhance Relationships and Further Your Message
 
A Celebration Of The Life Of Gay Capouch Kitson
A Celebration Of The Life Of Gay Capouch KitsonA Celebration Of The Life Of Gay Capouch Kitson
A Celebration Of The Life Of Gay Capouch Kitson
 
Getting Started With Twitter
Getting Started With TwitterGetting Started With Twitter
Getting Started With Twitter
 
Getting Started With Flickr
Getting Started With FlickrGetting Started With Flickr
Getting Started With Flickr
 
Oh No, Not Another Web 2.0 Presentation!
Oh No, Not Another Web 2.0 Presentation!Oh No, Not Another Web 2.0 Presentation!
Oh No, Not Another Web 2.0 Presentation!
 

Último

Último (20)

Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 

How to craft a modern, mobile-optimized HTML email template

  • 1. How to craft a modern, mobile- optimized HTML email Jason Samuels, NCFR IT Manager template DrupalCamp Twin Cities – May 2012
  • 2. Our old email template Pros • Simple • Lightweight • Worked as plain-text • Rendered OK on mobile Cons • Outdated look • Lots of junk code = error characters • Inconsistent with website 2
  • 3. Our new email template Pros • Simple • Lightweight • Works as plain-text More Pros! • Preheader text • Optimized for mobile (iOS) • Consistent with website • Clean code • Tested across email clients 3
  • 4. How we got there Three major resources made this possible: • MailChimp (free templates and guide) • Cameron Lefevre (NTC session on optimizing email for mobile) • Email on Acid (testing service) 4
  • 5. MailChimp • Free resources available at: http://mailchimp.com/resources/ • Email Jitsu guide: http://mailchimp.com/resources/guides/e mail-jitsu • Free email templates: http://mailchimp.com/resources/html- email-templates 5
  • 6. Theming the template • Open your website’s Style Guide page, start Firebug, and begin matching elements • Focus on: – color – font-family – font-size – font-weight – line-height 6
  • 7. Mobile optimization • Cameron Lefevre is my hero • NTEN blog post introducing the issue: http://www.nten.org/articles/2012/the- age-of-mobile-email-has-arrived-are-you- ready • NTC session notes (include code samples): http://labs.mrss.com/optimizing-email-for- mobile-phones-notes-from-ntc-2012/ 7
  • 8. CSS3 @media query @media screen and (max-width: 600px) { table.emailtable, td.emailcontent { By defining alternate styles in width: 95% !important; } h1, h2, h3, h4 { the CSS for devices based text-align:center !important; } .nomob { on their maximum screen display: none !important; } .headerContent{ width, some elements can be text-align:center !important; } a.baemailfooternav { display: block !important; transformed or hidden to font-size: 14px !important; font-weight: bold !important; padding: 6px 4px 8px 4px !important; make for a more user-friendly line-height: 18px !important; background: #dddddd !important; border-radius: 5px !important; format margin: 10px auto; width: 240px; text-align: center; } } 8
  • 9. CSS3 @media query @media screen and (max-width: 600px) { table.emailtable, td.emailcontent { • Defines when mobile styles width: 95% !important; } h1, h2, h3, h4 { get called text-align:center !important; } .nomob { display: none !important; • This query applies format } .headerContent{ text-align:center !important; on screens up to 600px } a.baemailfooternav { display: block !important; wide font-size: 14px !important; font-weight: bold !important; padding: 6px 4px 8px 4px !important; line-height: 18px !important; • Main table gets re-sized background: #dddddd !important; border-radius: 5px !important; margin: 10px auto; from 600px down to 95% of width: 240px; text-align: center; } the screen’s width } 9
  • 10. CSS3 @media query @media screen and (max-width: 600px) { table.emailtable, td.emailcontent { • Header tags and header width: 95% !important; } h1, h2, h3, h4 { content get centered when text-align:center !important; } .nomob { viewed on mobile display: none !important; } .headerContent{ text-align:center !important; • nomob is used to hide } a.baemailfooternav { display: block !important; elements on mobile font-size: 14px !important; font-weight: bold !important; padding: 6px 4px 8px 4px !important; line-height: 18px !important; background: #dddddd !important; border-radius: 5px !important; margin: 10px auto; width: 240px; text-align: center; } } 10
  • 11. CSS3 @media query @media screen and (max-width: 600px) { table.emailtable, td.emailcontent { Transforms styling in the width: 95% !important; } h1, h2, h3, h4 { footer navigation when text-align:center !important; } .nomob { viewed on mobile. In display: none !important; } .headerContent{ particular, this code takes text-align:center !important; } a.baemailfooternav { display: block !important; ordinary text links and turns font-size: 14px !important; font-weight: bold !important; padding: 6px 4px 8px them into easy-to-press 4px !important; line-height: 18px !important; background: #dddddd !important; buttons. border-radius: 5px !important; margin: 10px auto; width: 240px; text-align: center; } } 11
  • 12. @media query example Mobile transformation <a href="http://www.twitter.com/ncfr" class="baemailfooternav">follow on Twitter</a><span class="nomob"> | </span><a href="http://www.facebook.com/ncfrpage" class="baemailfooternav">friend on Facebook</a><span class="nomob"> | </span><a href="-" class="baemailfooternav">forward to a friend</a> 12
  • 13. Email on Acid • Cross-client email testing service • Shows how your message displays in 45 combinations of email services, browsers, and clients • Plus code analysis and spam filter testing • $35/month for unlimited testing – Discounted for longer term commitments – $2 - $5 per test a la carte pricing available 13
  • 14. Email on Acid – Test Results 14
  • 15. Don’t use bullet points (or numbered lists) • Some webmail clients left justify them • Some webmail clients center them • Some left-justify lists & center the content • Path of least resistance = ditch the <ol> tag, go w/ asterisks & line breaks instead 15
  • 16. <p align=”left”> • GMail and Yahoo Mail default paragraph (<p>) tags to align center align when viewed in Internet Explorer • Other browsers still align paragraphs left • Why? I don’t know. • Forcing the alignment left fixes it 16
  • 17. Preheader table needed a background color • Although it’s already defined in the CSS, Yahoo Mail doesn’t show it • With the repeating blue stripe at the top of our template, that resulted in dark text on a dark background 17
  • 18. Voila! • This was not a short process • Took a lot of work and dozens of tests to get it right • End result looks pretty darn good though, and stays looking good across all of the popular email clients 18
  • 19. Additional Resources • Email on Acid blog: http://www.emailonacid.com/blog • Campaign Monitor blog: http://www.campaignmonitor.com/blog/ • My blog: http://blog.jasonsamuels.net 19