SlideShare une entreprise Scribd logo
1  sur  18
Case: Svenska Yle -
     Implementing a mobile
     first responsive design

Twitter: @mseiplax                                      #DCFI
Mårten Seiplax - AD and front end developer at svenska.yle.fi
Why mobile first web app, and not an
       app or mobile specific site?
“First, a growing number of people are using mobile as the
only way they access the Web. A pair of studies late last year
from Pew and from On Device Research showed that over
25% of people in the US who browse the Web on
smartphones almost never use any other platform.”

… “There’s a digital-divide issue here. People who can afford
only one screen or internet connection are choosing the
phone. If you want to reach them at all, you have to reach
them on mobile. We can’t settle for serving such a huge
audience a stripped-down experience or force them to swim
through a desktop layout in a small screen.”
Josh Clark

http://www.netmagazine.com/opinions/nielsen-wrong-mobile
http://mobile.smashingmagazine.com/2012/04/19/why-we-shouldnt-make-separate-mobile-websites/
• By designing the
  system mobile first, and
  not hiding content from
  mobile users you are
  reaching a bigger
  audience
• No apps to download
  and update
• Shared content device
  adjusted
• Return on investment
Actually building mobile first
• Making the site mobile first sets some
  limitations, and also affects the design
  process
• Designing from mobile to desktop, or from
  desktop to mobile  all at once 
  designing in the browser
Drupal, Omega and mobile first
• Compression of CSS
  – Omega structure prevents loading of CSS per
    set of widths via JS – needed to prevent
    media queries from loading all CSS
• CSS groups
  – possible to join CSS compression groups into
   fewer CSS files
• IE specific CSS is loaded before Omega
  CSS
Which theme, fluid or set of sizes?
Layout
• We decided to go for a very sparsely
  decorated layout, to keep the UI clean and
  to make the basic responsive design as
  light as possible
• Define areas for graphics, keeping the
  layout completely CSS generated
• We wanted to gain experience before we
  had built a swamp that it is difficult to dig
  yourself out of
Loads of markup
Images
• Small image that works on mobile, if JS
  detects enough screen space  switches
  to a bigger image
• JS loads & inserts different sizes
  depending on what size best fits the image
  slot in the layout template
• Prevent image flickering with CSS
Code
First load
 <img itemprop="image" alt="VPS, augusti 2011" title="VPS slog HJK."
 src="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1e
 58bb_6.jpg" width="200" height="113" class="imsImg" data-ims-id="58628" />


After the javascript has been loaded 2011" title="VPS slog HJK."
 <img itemprop="image" alt="VPS, augusti
 src="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1e
 58bb_5.jpg" width="200" height="113" class="imsImg processed" data-ims-
 id="58628" data-src-
 fluid="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1
 e58bb_5.jpg" data-src-
 narrow="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0
 a1e58bb_4.jpg" data-src-
 normal="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0
 a1e58bb_6.jpg" data-src-
 wide="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1
 e58bb_5.jpg">
Video & audio
• Most of our videos and audio are
  embedded from our media service Arena
  – Flash free first embed, has a big effect on our
    mobile first approach
  – responsive design solution is out of the box
  – Arena requires Flash for video playback
• For Youtube and Vimeo we are using
  FitVids.js
Actions taken to reduce KB size &
            http requests
• Image and video solution
• Social share buttons
• Articles only load core content, additional parts are
  loaded with JS
KB size on mobile compared with desktop
     3500


     3000


     2500


     2000
KB                                                                                       KB on mobile

     1500                                                                                KB size on desktop


     1000


     500


       0
            ar cle 1 ar cle 2 ar cle 3 ar cle 4 ar cle 5 subject 1 subject 2 subject 3
Amount of HTTP requests on
     mobile compared with desktop
         180

         160

         140

         120

         100
Amount                                                                                      h p requests on mobile
          80                                                                                h p requests on desktop

          60

          40

          20

           0
               ar cle 1 ar cle 2 ar cle 3 ar cle 4 ar cle 5 subject 1 subject 2 subject 3
Lessons learned
• Views - always click to remove the extra markup -
  and give the block a unique style name




• Iframes and auto height is causing grief
• We used a small image in our first iteration, and
  got feedback on that it was to small
Issue list
• Improve the theme / switch to a newer one
• Improve on Twitter, Facebook integrations - they are
  not working correctly with the responsive design
  –   Other external resources such as data visualizations,
      weather, sport results
      http://svenska.yle.fi/artikel/2012/05/12/haglund-pop-bland-unga-henriksson-
      bland-aldre
      http://svenska.yle.fi/artikel/2012/06/01/har-saljer-alkoholdrycker-bast
      http://sc.score24.com/scorecenter/o10n/uefa/euro/2012/yle/?lang=swe


• Work more with the layout
• Implement bigger images
• Build a content breakpoint on subject pages
Questions?
• Twitter: @mseiplax
• Come and talk to me
• Follow our development
  – On Twitter #ylesynd
  – On our blog: utveckling.ylebloggen.fi




           svenska.yle.fi
Case: svenska.yle.fi as a mobile first responsive design

Contenu connexe

En vedette

7 Deadly Sins of Tech
7 Deadly Sins of Tech7 Deadly Sins of Tech
7 Deadly Sins of TechRob Dyke
 
Is talking the most effective and satisfying way of communicating with others?
Is talking the most effective and satisfying way of communicating with others?Is talking the most effective and satisfying way of communicating with others?
Is talking the most effective and satisfying way of communicating with others?Qiang Hao
 
Santa Khinche sabki taang
Santa Khinche sabki taang Santa Khinche sabki taang
Santa Khinche sabki taang sadaambalvi
 
Some, any, another, other, each, every
Some, any, another, other, each, everySome, any, another, other, each, every
Some, any, another, other, each, everytheLecturette
 
Types and Styles of music videos
Types and Styles of music videosTypes and Styles of music videos
Types and Styles of music videosramshaimran9
 
Assistive technologies for students with special needs
Assistive technologies for students with special needsAssistive technologies for students with special needs
Assistive technologies for students with special needsrpittma12
 
Earth moon statistics
Earth moon statisticsEarth moon statistics
Earth moon statisticsRanjeet Dubey
 
Algebra 2 powerpoint
Algebra 2 powerpointAlgebra 2 powerpoint
Algebra 2 powerpointroohal51
 
Polymer and rubber manufacturing workforce development plan oct 2010
Polymer and rubber manufacturing workforce development plan oct 2010Polymer and rubber manufacturing workforce development plan oct 2010
Polymer and rubber manufacturing workforce development plan oct 2010RITCWA
 
kls xii : Bab iii pers dlm masyarakat
kls xii : Bab iii pers dlm masyarakatkls xii : Bab iii pers dlm masyarakat
kls xii : Bab iii pers dlm masyarakatNovii Kanadia
 

En vedette (18)

7 Deadly Sins of Tech
7 Deadly Sins of Tech7 Deadly Sins of Tech
7 Deadly Sins of Tech
 
Is talking the most effective and satisfying way of communicating with others?
Is talking the most effective and satisfying way of communicating with others?Is talking the most effective and satisfying way of communicating with others?
Is talking the most effective and satisfying way of communicating with others?
 
Santa Khinche sabki taang
Santa Khinche sabki taang Santa Khinche sabki taang
Santa Khinche sabki taang
 
Some, any, another, other, each, every
Some, any, another, other, each, everySome, any, another, other, each, every
Some, any, another, other, each, every
 
Amit PPT
Amit PPTAmit PPT
Amit PPT
 
Types and Styles of music videos
Types and Styles of music videosTypes and Styles of music videos
Types and Styles of music videos
 
Assistive technologies for students with special needs
Assistive technologies for students with special needsAssistive technologies for students with special needs
Assistive technologies for students with special needs
 
L20 Scalability
L20 ScalabilityL20 Scalability
L20 Scalability
 
Final Report
Final ReportFinal Report
Final Report
 
Earth moon statistics
Earth moon statisticsEarth moon statistics
Earth moon statistics
 
Algebra 2 powerpoint
Algebra 2 powerpointAlgebra 2 powerpoint
Algebra 2 powerpoint
 
Portfolio
PortfolioPortfolio
Portfolio
 
Case study
Case studyCase study
Case study
 
The engineer’s licensing guidance document ELGD 2007
The engineer’s licensing guidance document ELGD 2007The engineer’s licensing guidance document ELGD 2007
The engineer’s licensing guidance document ELGD 2007
 
East Grage Project
East Grage ProjectEast Grage Project
East Grage Project
 
Polymer and rubber manufacturing workforce development plan oct 2010
Polymer and rubber manufacturing workforce development plan oct 2010Polymer and rubber manufacturing workforce development plan oct 2010
Polymer and rubber manufacturing workforce development plan oct 2010
 
kls xii : Bab iii pers dlm masyarakat
kls xii : Bab iii pers dlm masyarakatkls xii : Bab iii pers dlm masyarakat
kls xii : Bab iii pers dlm masyarakat
 
Backtrack 3 USB
Backtrack 3 USBBacktrack 3 USB
Backtrack 3 USB
 

Dernier

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Dernier (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Case: svenska.yle.fi as a mobile first responsive design

  • 1. Case: Svenska Yle - Implementing a mobile first responsive design Twitter: @mseiplax #DCFI Mårten Seiplax - AD and front end developer at svenska.yle.fi
  • 2. Why mobile first web app, and not an app or mobile specific site? “First, a growing number of people are using mobile as the only way they access the Web. A pair of studies late last year from Pew and from On Device Research showed that over 25% of people in the US who browse the Web on smartphones almost never use any other platform.” … “There’s a digital-divide issue here. People who can afford only one screen or internet connection are choosing the phone. If you want to reach them at all, you have to reach them on mobile. We can’t settle for serving such a huge audience a stripped-down experience or force them to swim through a desktop layout in a small screen.” Josh Clark http://www.netmagazine.com/opinions/nielsen-wrong-mobile http://mobile.smashingmagazine.com/2012/04/19/why-we-shouldnt-make-separate-mobile-websites/
  • 3. • By designing the system mobile first, and not hiding content from mobile users you are reaching a bigger audience • No apps to download and update • Shared content device adjusted • Return on investment
  • 4. Actually building mobile first • Making the site mobile first sets some limitations, and also affects the design process • Designing from mobile to desktop, or from desktop to mobile  all at once  designing in the browser
  • 5. Drupal, Omega and mobile first • Compression of CSS – Omega structure prevents loading of CSS per set of widths via JS – needed to prevent media queries from loading all CSS • CSS groups – possible to join CSS compression groups into fewer CSS files • IE specific CSS is loaded before Omega CSS
  • 6. Which theme, fluid or set of sizes?
  • 7. Layout • We decided to go for a very sparsely decorated layout, to keep the UI clean and to make the basic responsive design as light as possible • Define areas for graphics, keeping the layout completely CSS generated • We wanted to gain experience before we had built a swamp that it is difficult to dig yourself out of
  • 9. Images • Small image that works on mobile, if JS detects enough screen space  switches to a bigger image • JS loads & inserts different sizes depending on what size best fits the image slot in the layout template • Prevent image flickering with CSS
  • 10. Code First load <img itemprop="image" alt="VPS, augusti 2011" title="VPS slog HJK." src="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1e 58bb_6.jpg" width="200" height="113" class="imsImg" data-ims-id="58628" /> After the javascript has been loaded 2011" title="VPS slog HJK." <img itemprop="image" alt="VPS, augusti src="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1e 58bb_5.jpg" width="200" height="113" class="imsImg processed" data-ims- id="58628" data-src- fluid="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1 e58bb_5.jpg" data-src- narrow="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0 a1e58bb_4.jpg" data-src- normal="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0 a1e58bb_6.jpg" data-src- wide="http://static.yle.fi/ims/imssv/2011/36/586284e6cf0a1e58bb/586284e6cf0a1 e58bb_5.jpg">
  • 11. Video & audio • Most of our videos and audio are embedded from our media service Arena – Flash free first embed, has a big effect on our mobile first approach – responsive design solution is out of the box – Arena requires Flash for video playback • For Youtube and Vimeo we are using FitVids.js
  • 12. Actions taken to reduce KB size & http requests • Image and video solution • Social share buttons • Articles only load core content, additional parts are loaded with JS
  • 13. KB size on mobile compared with desktop 3500 3000 2500 2000 KB KB on mobile 1500 KB size on desktop 1000 500 0 ar cle 1 ar cle 2 ar cle 3 ar cle 4 ar cle 5 subject 1 subject 2 subject 3
  • 14. Amount of HTTP requests on mobile compared with desktop 180 160 140 120 100 Amount h p requests on mobile 80 h p requests on desktop 60 40 20 0 ar cle 1 ar cle 2 ar cle 3 ar cle 4 ar cle 5 subject 1 subject 2 subject 3
  • 15. Lessons learned • Views - always click to remove the extra markup - and give the block a unique style name • Iframes and auto height is causing grief • We used a small image in our first iteration, and got feedback on that it was to small
  • 16. Issue list • Improve the theme / switch to a newer one • Improve on Twitter, Facebook integrations - they are not working correctly with the responsive design – Other external resources such as data visualizations, weather, sport results http://svenska.yle.fi/artikel/2012/05/12/haglund-pop-bland-unga-henriksson- bland-aldre http://svenska.yle.fi/artikel/2012/06/01/har-saljer-alkoholdrycker-bast http://sc.score24.com/scorecenter/o10n/uefa/euro/2012/yle/?lang=swe • Work more with the layout • Implement bigger images • Build a content breakpoint on subject pages
  • 17. Questions? • Twitter: @mseiplax • Come and talk to me • Follow our development – On Twitter #ylesynd – On our blog: utveckling.ylebloggen.fi svenska.yle.fi