SlideShare a Scribd company logo
NLHTML5
Mobile and TV development @ Netvlies
Agile mobile first
Responsibly responsive in an agile environment
Jelmer de Maat
Front-end developer @ Netvlies
jelmer@netvlies.nl
@jelmerdemaat
Netvlies — Est. 1997
44 communicative professionals with 18 years of experience in complex online projects
What is our goal?
Being responsibly responsive in an agile environment
Topics
Leveling the playing field
What do “responsive” and “mobile first” really mean? Theories and concepts.
An agile workflow
The consequences for your team: observations and advices.
An agile front-end
How to build for a changing environment: tips and techniques.
Conclusions and Q&A
Leveling the playing field
Agile mobile first
But what’s next? An iPad website? An N90
website? Can we really continue to commit to
supporting each new user agent with its own
bespoke experience? At some point, this starts to
feel like a zero sum game. But how can we —
and our designs — adapt?
Ethan Marcotte — Responsive Web Design
“
Agile mobile first
Agile mobile first
Creating a website in a device-
agnostic way, thus making its
content accessible and its interface
usable to a diverse range of users.
— Me
Responsive
Fluid
Large phone
...
Adaptive
Liquid
Small tablet
...
All web pages are by
default responsive
motherfuckingwebsite.com
Breaking that is your choice.
Agile mobile first
Luke Wroblewski in
a tweet about an
OpenSignal study
on app downloads.
We need to expand beyond the viewport and consider
how we support myriad device capabilities, how we
retain accessibility in complex interfaces, and how
we deliver assets over the wire.
Scott Jehl — Responsible Responsive Web Design
“
Think of it like you're moving. If you're living in a
mansion and you have to move into a small
apartment, it's really hard to find a place for all of
your stuff. If you live in a small apartment first, you
learn how to get by with less stuff, and you can then
add more stuff when you move into a mansion.
Clarissa Peterson, UX strategist
“
Agile mobile first
Your desktop website
Your user’s
mobile browser
Agile mobile first
Content first
Performance first
Future proof
Progressive enhanced
Mobile first
“Constructing a website mobile first costs more time”
...not understanding what responsive/mobile first means?
...not willing to think about abstract systems?
...not enough proficient with the tools that are required to build it?
..scared of trying new things that may affect available hours?
An agile workflow
✔ Changing, fast and often
✔ New insights
✔ Collaborative
✔ Iterative
✔ Shifts in priorities
consequences for
Client communication
Things Clients Ask Who Don’t
Understand Responsive
?
?
?
?
©
Things clients ask who don’t understand responsive
Can you put my products inside
the screen at all times? Users
have to scroll now.
“
Things clients ask who don’t understand responsive
This text we have
should always run
over two lines.
“
Things clients ask who don’t understand responsive
Why don’t these two
columns have the
same height?
“
Things clients ask who don’t understand responsive
This image should
align with the height
of the text next to it.
“
Things clients ask who don’t understand responsive
It all has to fit on my
screen; make
everything smaller.
“
Things clients ask who don’t understand responsive
At which resolution
should we deliver the
designs?
“
consequences for
Design and concept
We already have component X!
Let’s use it again on this new page.
Be prepared for this request
“
Component based
✔ Your client is already convinced
✔ Discuss what deliverables are
✔ Define the constraints with the team
✔ Delivering a design system (styleguide)
✔ Sell it!
Agile mobile first
/*---
title: Buttons
section: Base CSS
---
Button styles can be applied to any element. Typically you'll want to use
either a `<button>` or an `<a>` element:
```example:html
<button class="btn">Click</button>
<a class="btn" href="/some-page">Some Page</a>
```
*/
.btn {
background-color: black;
color: white;
}
Agile mobile first
Agile mobile first
Hello Workspace
Defining the constraints
So...
✔ your entire team knows what responsive means
✔ your entire team knows what mobile first means
✔ your entire team knows what the design implications are
✔ you communicated what the design implications are
✔ your workflow is agile
✔ you have set up a design system
Now, how to build the thing?
An agile front-end
We need a system that is
Brad Frost - Maintaining Design Systems
✔ official
✔ maintainable
✔ cross-disciplinary
✔ approachable
✔ visible
✔ agnostic
✔ contextual
(and more)
We need this
Agile mobile first
Even when the final deliverable is a
pattern library, clients often still expect to
sign off on page designs.
Charlotte Jackson — From Pages to Patterns: An Exercise for Everyone, ALA
“
Agile mobile first
Agile mobile first
Agile mobile first
There are two hard things in
computer science: cache
invalidation and naming things.
Phil Karlton
“
There are two hard things in
computer science: cache
invalidation, naming things and off-
by-one errors.
— Internet joke
“
Charlotte Jackson — A List Apart
Part one: paper and scissors
Part two: naming components
Part three: code
From Pages to Patterns: An Exercise for Everyone
Agile mobile first
Part one: paper and scissors
Part one: paper and scissors
Part two: naming components
Part two: naming components
Part three: code
1. Everyone grab a component.
2. Code it up in HTML and CSS. Set a time limit.
3. Compare and discuss your code.
4. Repeat.
Dare to challenge coding conventions
&
test your assumptions
{ ? }
html {
font-size: 1em;
}
/**
* Headings are always ‘just a bit bigger’ than body copy.
*/
h1, h2, h3, h4, h5, h6 {
font-size: 1.25rem;
}
Absolute units are usually the wrong
answer.
Elika J. Etemad (fantasai) — CSS Best Practices
“
Agile mobile first
And other tips
✔ Go for modular CSS as much as possible
✔ Avoid using ID's
✔ Avoid nesting selectors
✔ Keep the specificity graph in mind
✔ Make use of progressive enhancement
✔ Embrace new technologies where
possible
Harry Roberts — The Specificity Graph
We have a codebase that is likely to prove
problematic because we have erratic and
poorly managed specificity-and-source-order:
we are more likely to spend time undoing or
negating the effects of high specificity CSS that
was defined too early in the project.
Elika J. Etemad (fantasai) — CSS Best Practices
“
Harry Roberts — The Specificity Graph
Functional CSS
Component-driven design vs. component-driven CSS
Cole Peters — Building and shipping functional CSS
<div class='u-relative u-mt1 u-p2 v-bg-white v-bs2'>
<!-- The contents of the card -->
</div>
Functional CSS
Component-driven design vs. component-driven CSS
Cole Peters — Building and shipping functional CSS
<div class='u-relative u-mt1 u-md-mb0 u-p2 v-bg-white v-bs2'>
<!-- The contents of the card -->
</div>
Conclusions
responsive mobile first agile workflow agile code
Conclusions
What’s the necessary basis for doing this right?
✔ Determine if everybody on your team understands "responsive"
✔ Determine if everybody on your team understands "mobile-first"
✔ Research, setup and evaluate your agile, componentized workflow
✔ Dare to challenge coding conventions and test your assumptions
Thanks!
Questions?
? Jelmer de Maat
Front-end developer @ Netvlies
netvlies.nl
jelmer@netvlies.nl
@jelmerdemaat

More Related Content

PPTX
Rapid Product Development
PDF
A real-life overview of Agile and Scrum
PDF
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
PDF
Fast prototypes and customer development for start ups
PDF
What does the Business need from DevOps?
PPTX
DevOps for the sysadmin
PPTX
Becoming a Salesforce.com Technical Architect
PDF
DrupalCon 2013 Making Support Fun & Profitable
Rapid Product Development
A real-life overview of Agile and Scrum
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
Fast prototypes and customer development for start ups
What does the Business need from DevOps?
DevOps for the sysadmin
Becoming a Salesforce.com Technical Architect
DrupalCon 2013 Making Support Fun & Profitable

What's hot (20)

PPTX
BDD - Collaboration & Hands-on practices
PPTX
How to write Great Requirements
PDF
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
PDF
Build a Product Narrative
PDF
6 Things to Think About Before Building Your Website
PPTX
Lean responsive - Expanded
KEY
The Web and Beyond - Chrissy Welsh
PPTX
Devops journey conference may 2016
PDF
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
PPT
An Introduction to XP and Agile
PPTX
Architecting Solutions and Systems – Randy’s Secrets to Success
PPT
Sww 2006 Redesigning Processes For Solid Works
PDF
The craft of making software
PDF
Form Function Class 6, Manila, Philippines 14/11/2015
PDF
Technical Challenges In Offshore Software Development
PPTX
Super Projects
PPTX
Trial engineering moving parts
PPTX
Building Startups and Minimum Viable Products (NDC2013)
PPTX
The StartUp Agency - A Case Study on CFPB
PDF
Enough about Process, Let’s Use Patterns
BDD - Collaboration & Hands-on practices
How to write Great Requirements
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
Build a Product Narrative
6 Things to Think About Before Building Your Website
Lean responsive - Expanded
The Web and Beyond - Chrissy Welsh
Devops journey conference may 2016
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
An Introduction to XP and Agile
Architecting Solutions and Systems – Randy’s Secrets to Success
Sww 2006 Redesigning Processes For Solid Works
The craft of making software
Form Function Class 6, Manila, Philippines 14/11/2015
Technical Challenges In Offshore Software Development
Super Projects
Trial engineering moving parts
Building Startups and Minimum Viable Products (NDC2013)
The StartUp Agency - A Case Study on CFPB
Enough about Process, Let’s Use Patterns
Ad

Viewers also liked (15)

PPTX
Kunstmaan dev
PPTX
Guillermo cabrera
PDF
90_e_travel_briefs (2)
PDF
PDF
9-11 settembre 2016 | Quale umano per il terzo millennio?
PDF
A smart front end real-time detection and tracking
PDF
Teaching Portfolio Catalina Lawsin
PPT
9/16/09 Tokurou Te Lang Yanagi PowerPoint
PDF
PDF
ITRI's SON deployment case
PDF
Multiplex and De-multiplex of Generated Multi Optical Soliton By MRRs Using F...
PPTX
Advice for Corporate Accelerator Mentors
PPTX
Endangered ,Rare & Extinct Species
PDF
E010242430
Kunstmaan dev
Guillermo cabrera
90_e_travel_briefs (2)
9-11 settembre 2016 | Quale umano per il terzo millennio?
A smart front end real-time detection and tracking
Teaching Portfolio Catalina Lawsin
9/16/09 Tokurou Te Lang Yanagi PowerPoint
ITRI's SON deployment case
Multiplex and De-multiplex of Generated Multi Optical Soliton By MRRs Using F...
Advice for Corporate Accelerator Mentors
Endangered ,Rare & Extinct Species
E010242430
Ad

Similar to Agile mobile first (20)

PDF
What’s Up, EDoc?!
PDF
Is everything we used to do wrong?
PPT
Best practices for agile design
PPTX
Winfred Peereboom - Architecture for the future
PDF
System Design Interview - from both sides of the table.pdf
PDF
Design Systems Operations
PPT
Agile Methodologies And Extreme Programming - Svetlin Nakov
PDF
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
PPT
Agile Methodologies And Extreme Programming
PPTX
Holistic Product Development
PDF
Managing a Project the Drupal Way - Drupal Open Days Ireland
PPTX
Stc 2015 preparing legacy projects for responsive design - technical issues
PDF
Rapid Product Design in the Wild, Agile 2013
PPT
Planning JavaScript and Ajax for larger teams
PPT
Single sourcing to the max
PDF
Front-end Developer- Amsterdam
PDF
Digital Success Stack for DCBKK 2018
PPT
Mobile Monday Presentation: Responsive Web Design
PPTX
Finding balance of DDD while your application grows
What’s Up, EDoc?!
Is everything we used to do wrong?
Best practices for agile design
Winfred Peereboom - Architecture for the future
System Design Interview - from both sides of the table.pdf
Design Systems Operations
Agile Methodologies And Extreme Programming - Svetlin Nakov
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Agile Methodologies And Extreme Programming
Holistic Product Development
Managing a Project the Drupal Way - Drupal Open Days Ireland
Stc 2015 preparing legacy projects for responsive design - technical issues
Rapid Product Design in the Wild, Agile 2013
Planning JavaScript and Ajax for larger teams
Single sourcing to the max
Front-end Developer- Amsterdam
Digital Success Stack for DCBKK 2018
Mobile Monday Presentation: Responsive Web Design
Finding balance of DDD while your application grows

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Spectroscopy.pptx food analysis technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Spectroscopy.pptx food analysis technology
Encapsulation_ Review paper, used for researhc scholars
MYSQL Presentation for SQL database connectivity
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

Agile mobile first

  • 1. NLHTML5 Mobile and TV development @ Netvlies
  • 2. Agile mobile first Responsibly responsive in an agile environment
  • 3. Jelmer de Maat Front-end developer @ Netvlies jelmer@netvlies.nl @jelmerdemaat
  • 5. 44 communicative professionals with 18 years of experience in complex online projects
  • 6. What is our goal? Being responsibly responsive in an agile environment
  • 7. Topics Leveling the playing field What do “responsive” and “mobile first” really mean? Theories and concepts. An agile workflow The consequences for your team: observations and advices. An agile front-end How to build for a changing environment: tips and techniques. Conclusions and Q&A
  • 10. But what’s next? An iPad website? An N90 website? Can we really continue to commit to supporting each new user agent with its own bespoke experience? At some point, this starts to feel like a zero sum game. But how can we — and our designs — adapt? Ethan Marcotte — Responsive Web Design “
  • 13. Creating a website in a device- agnostic way, thus making its content accessible and its interface usable to a diverse range of users. — Me
  • 15. All web pages are by default responsive motherfuckingwebsite.com Breaking that is your choice.
  • 17. Luke Wroblewski in a tweet about an OpenSignal study on app downloads.
  • 18. We need to expand beyond the viewport and consider how we support myriad device capabilities, how we retain accessibility in complex interfaces, and how we deliver assets over the wire. Scott Jehl — Responsible Responsive Web Design “
  • 19. Think of it like you're moving. If you're living in a mansion and you have to move into a small apartment, it's really hard to find a place for all of your stuff. If you live in a small apartment first, you learn how to get by with less stuff, and you can then add more stuff when you move into a mansion. Clarissa Peterson, UX strategist “
  • 21. Your desktop website Your user’s mobile browser
  • 23. Content first Performance first Future proof Progressive enhanced Mobile first
  • 24. “Constructing a website mobile first costs more time” ...not understanding what responsive/mobile first means? ...not willing to think about abstract systems? ...not enough proficient with the tools that are required to build it? ..scared of trying new things that may affect available hours?
  • 26. ✔ Changing, fast and often ✔ New insights ✔ Collaborative ✔ Iterative ✔ Shifts in priorities
  • 28. Things Clients Ask Who Don’t Understand Responsive ? ? ? ? ©
  • 29. Things clients ask who don’t understand responsive Can you put my products inside the screen at all times? Users have to scroll now. “
  • 30. Things clients ask who don’t understand responsive This text we have should always run over two lines. “
  • 31. Things clients ask who don’t understand responsive Why don’t these two columns have the same height? “
  • 32. Things clients ask who don’t understand responsive This image should align with the height of the text next to it. “
  • 33. Things clients ask who don’t understand responsive It all has to fit on my screen; make everything smaller. “
  • 34. Things clients ask who don’t understand responsive At which resolution should we deliver the designs? “
  • 36. We already have component X! Let’s use it again on this new page. Be prepared for this request “
  • 37. Component based ✔ Your client is already convinced ✔ Discuss what deliverables are ✔ Define the constraints with the team ✔ Delivering a design system (styleguide) ✔ Sell it!
  • 39. /*--- title: Buttons section: Base CSS --- Button styles can be applied to any element. Typically you'll want to use either a `<button>` or an `<a>` element: ```example:html <button class="btn">Click</button> <a class="btn" href="/some-page">Some Page</a> ``` */ .btn { background-color: black; color: white; }
  • 43. So... ✔ your entire team knows what responsive means ✔ your entire team knows what mobile first means ✔ your entire team knows what the design implications are ✔ you communicated what the design implications are ✔ your workflow is agile ✔ you have set up a design system Now, how to build the thing?
  • 45. We need a system that is Brad Frost - Maintaining Design Systems ✔ official ✔ maintainable ✔ cross-disciplinary ✔ approachable ✔ visible ✔ agnostic ✔ contextual (and more)
  • 48. Even when the final deliverable is a pattern library, clients often still expect to sign off on page designs. Charlotte Jackson — From Pages to Patterns: An Exercise for Everyone, ALA “
  • 52. There are two hard things in computer science: cache invalidation and naming things. Phil Karlton “
  • 53. There are two hard things in computer science: cache invalidation, naming things and off- by-one errors. — Internet joke “
  • 54. Charlotte Jackson — A List Apart Part one: paper and scissors Part two: naming components Part three: code From Pages to Patterns: An Exercise for Everyone
  • 56. Part one: paper and scissors
  • 57. Part one: paper and scissors
  • 58. Part two: naming components
  • 59. Part two: naming components
  • 60. Part three: code 1. Everyone grab a component. 2. Code it up in HTML and CSS. Set a time limit. 3. Compare and discuss your code. 4. Repeat.
  • 61. Dare to challenge coding conventions & test your assumptions { ? }
  • 62. html { font-size: 1em; } /** * Headings are always ‘just a bit bigger’ than body copy. */ h1, h2, h3, h4, h5, h6 { font-size: 1.25rem; }
  • 63. Absolute units are usually the wrong answer. Elika J. Etemad (fantasai) — CSS Best Practices “
  • 65. And other tips ✔ Go for modular CSS as much as possible ✔ Avoid using ID's ✔ Avoid nesting selectors ✔ Keep the specificity graph in mind ✔ Make use of progressive enhancement ✔ Embrace new technologies where possible
  • 66. Harry Roberts — The Specificity Graph
  • 67. We have a codebase that is likely to prove problematic because we have erratic and poorly managed specificity-and-source-order: we are more likely to spend time undoing or negating the effects of high specificity CSS that was defined too early in the project. Elika J. Etemad (fantasai) — CSS Best Practices “
  • 68. Harry Roberts — The Specificity Graph
  • 69. Functional CSS Component-driven design vs. component-driven CSS Cole Peters — Building and shipping functional CSS <div class='u-relative u-mt1 u-p2 v-bg-white v-bs2'> <!-- The contents of the card --> </div>
  • 70. Functional CSS Component-driven design vs. component-driven CSS Cole Peters — Building and shipping functional CSS <div class='u-relative u-mt1 u-md-mb0 u-p2 v-bg-white v-bs2'> <!-- The contents of the card --> </div>
  • 71. Conclusions responsive mobile first agile workflow agile code
  • 72. Conclusions What’s the necessary basis for doing this right? ✔ Determine if everybody on your team understands "responsive" ✔ Determine if everybody on your team understands "mobile-first" ✔ Research, setup and evaluate your agile, componentized workflow ✔ Dare to challenge coding conventions and test your assumptions
  • 73. Thanks! Questions? ? Jelmer de Maat Front-end developer @ Netvlies netvlies.nl jelmer@netvlies.nl @jelmerdemaat