SlideShare a Scribd company logo
1 of 46
Responsive Design
David Douglas @deadlyfingers
Responsive Design
– Designer
– Developer
– Production
good design
good problem
Design Process
1 – Research / investigation
2 – Design brief
3 – Generation of ideas
4 – Synthesis
5 – Final design and production
Make your own design process
j.mp/SteveJobsOnPaulRand
Don’t be a pixel pusher…
Be a problem solver
Designers
“Think developers”
Play with the production stuff!
https://getbootstrap.com/examples/grid/
Choose your weapon
Affinity Designer Sketch Experience DesignIllustratorPhotoshop
PIXEL VECTOR
Design tool downfalls
– Design for print
– Static canvas size
– Bitmaps don’t scale
Developers
“Think designers”
Responsive design is a live art
Responsive web kit
GRID BUILDDESIGN PREVIEW
Bootstrap GulpSass BrowserSyncPolymer
UI KIT
Package management
npm install && bower install
Bootstrap 3 ‘xs’ Grid (phone)
SASS
@mixin media-xs() {
@media (max-width: 767px) {
@content;
}
}
Bootstrap 3 ‘sm’ Grid (tablet)
SASS
@mixin media-sm() {
@media (min-width: 768px) {
@content;
}
}
Bootstrap 3 ‘md’ Grid (laptop)
SASS
@mixin media-md() {
@media (min-width: 992px) {
@content;
}
}
Bootstrap 3 ‘lg’ Grid (desktop)
SASS
@mixin media-lg() {
@media (min-width: 1200px) {
@content;
}
}
@2x Retina and @3x HD Retina
SASS
@mixin media-2x() {
@media (min-resolution: 144dpi), (min-device-pixel-ratio: 1.25), (-webkit-min-device-pixel-ratio: 2) {
@content;
}
}
@mixin media-3x() {
@media (min-resolution: 288dpi), (min-device-pixel-ratio: 2.25), (-webkit-min-device-pixel-ratio: 3) {
@content;
}
}
Image tiles
SASS
@mixin bg-position($row, $col, $width, $height) {
background-position: (-$col * $width) (-$row * $height);
}
@mixin bg-size($rows, $cols, $width, $height) {
background-size: ($cols * $width) ($rows * $height);
}
Tip: For monochrome icons consider using font glyphs – icomoon.io
Crush them!
ImageOptim
Web preview / deployment
Azure App Services
+
Local Git
Setup ‘dist’ build for Azure Websites
Commands
gulp build
cd dist
git init
git add -A *
git commit -m "dist"
git remote add azure
https://USER@APPNAME.scm.azurewebsites.net:443/APPNAME.git
Upload ‘dist’ build to Azure Websites
Commands
git push azure master
open http://APPNAME.azurewebsites.net
Web app distribution for
Tip: Cordova Asset Generator – j.mp/CordovaAssets
Turbo WebKit web view for iOS
config.xml
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine"/>
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
cordova plugin add cordova-plugin-wkwebview-engine --save
Web view behaviours
bounce effect
click delay
global user selection
long tap magnifying glass
double tap to zoom
App-ify your config.xml
j.mp/CordovaConfig
Apps don’t bounce!
config.xml
<preference name="DisallowOverscroll" value="true" />
Apps don’t zoom!
config.xml
<preference name="EnableViewportScale" value="true" />
index.html
<meta name='viewport' content='width=device-width, initial-
scale=1, user-scalable=no' />
Apps shouldn’t be possessed
by Sherlock Holmes!
config.xml
<preference name="Suppresses3DTouchGesture" value="true" />
Apps don’t select text in buttons!
CSS
body {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default;
}
E2E App Testing
Appium
Responsive Design for Designers
– Understand the dynamic grid to design responsively
– 2 designs that work as a single responsive design
– Use vector-based design tools
Responsive Design for Developers
– Understanding the design grid to merge separated
designs
– Responsive design with multiple device testing and live
reloading
– Web kit for responsive design
Production
– App-ify web view behaviours
– WKWebView for iOS web app
Attributions
• Android is a trademark of Google Inc.
• The Android robot is reproduced or modified from work created
and shared by Google and used according to terms described
in the Creative Commons 3.0 Attribution License
http://creativecommons.org/licenses/by/3.0/
j.mp/ResponsiveDesigners
Questions? @deadlyfingers

More Related Content

Similar to Responsive Design from problem to production

Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt AEM HUB
 
CIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based LayoutsCIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based LayoutsICF CIRCUIT
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers dssprakash
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12touchtitans
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. ToolboxWojtek Zając
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Proactive Responsive Design
Proactive Responsive DesignProactive Responsive Design
Proactive Responsive DesignNathan Smith
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Webmikeleeme
 
Android N Highligts
Android N HighligtsAndroid N Highligts
Android N HighligtsSercan Yusuf
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Front End Workflow
Front End WorkflowFront End Workflow
Front End WorkflowMatt Bailey
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionDave Olsen
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWDChristopher Schmitt
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 WorkshopDavid Manock
 

Similar to Responsive Design from problem to production (20)

Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt
 
CIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based LayoutsCIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
CIRCUIT 2015 - Responsive Websites & Grid-Based Layouts
 
AEM responsive
AEM responsiveAEM responsive
AEM responsive
 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
 
Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
 
Death of a Themer
Death of a ThemerDeath of a Themer
Death of a Themer
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design
 
Proactive Responsive Design
Proactive Responsive DesignProactive Responsive Design
Proactive Responsive Design
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
Android N Highligts
Android N HighligtsAndroid N Highligts
Android N Highligts
 
Droidcon Paris 2015
Droidcon Paris 2015Droidcon Paris 2015
Droidcon Paris 2015
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design
 
Front End Workflow
Front End WorkflowFront End Workflow
Front End Workflow
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 

Recently uploaded

Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Delhi Call girls
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...Suhani Kapoor
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentationamedia6
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Douxkojalkojal131
 
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...ranjana rawat
 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxmirandajeremy200221
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130Suhani Kapoor
 
WAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsWAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsCharles Obaleagbon
 
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...Suhani Kapoor
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵anilsa9823
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricksabhishekparmar618
 
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️soniya singh
 
CBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call Girls
CBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call GirlsCBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call Girls
CBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call Girlsmodelanjalisharma4
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Call Girls in Nagpur High Profile
 

Recently uploaded (20)

Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
 
The history of music videos a level presentation
The history of music videos a level presentationThe history of music videos a level presentation
The history of music videos a level presentation
 
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai DouxDubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
Dubai Call Girls Pro Domain O525547819 Call Girls Dubai Doux
 
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
 
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
(AISHA) Ambegaon Khurd Call Girls Just Call 7001035870 [ Cash on Delivery ] P...
 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptx
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
 
WAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past QuestionsWAEC Carpentry and Joinery Past Questions
WAEC Carpentry and Joinery Past Questions
 
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricks
 
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
Call Girls in Kalkaji Delhi 8264348440 call girls ❤️
 
CBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call Girls
CBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call GirlsCBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call Girls
CBD Belapur Individual Call Girls In 08976425520 Panvel Only Genuine Call Girls
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
 

Responsive Design from problem to production

Editor's Notes

  1. “Responsive Design from problem to production” There are so many devices running different platforms, screens sizes and resolutions (eg. ldpi mdpi tvdpi hdpi xhdpi xxhdpi) Responsive web design was originally defined by Ethan Marcotte in A List Apart (May 25, 2010) as the way forward to address the needs of the users and the devices they're using.  http://alistapart.com/article/responsive-web-design/ There has been a great number of resources available dealing with the technical aspects of Responsive Web Design (RWD), but few encompass the entire process from design to development and production… Also despite ‘Responsive Design’ being almost 6 years on (this talk was held 6th May 2016 at DECODED conference) there are still a number of limitations with Responsive Design as a process that causes issues with designer and developer workflow – especially if you are unaware of where the problems lie.
  2. In this talk I will discuss Responsive Design for designers, web developers and the production process. By highlighting the problems or pain points for designers and developers I intend to show an approach to Responsive Design that will help smooth out the bumps between the designer and developer workflow. Finally, we will look at production whether deploying as a responsive website or as an responsive web app using Cordova.
  3. If I was to share one truth from my time learning graphic design and all the years of experience as a designer, it would be; good design needs a good problem Wherever we appreciate or see ‘good design’ … it’s because there was first a ‘good problem’
  4. ∴ a good problem solver is also a good designer. We first have to be good problem solvers! (“Form follows function” etc…) • This approach applies for designers and developers. Remember to watch out for ‘red flags’: - Clients / customers tend to talk about making things look good, professional, clean, easy to use, etc… But its our job as designers to understand the problem - a ‘good design’ is not a style. - Clients / customers tend to talk about features or technologies they want to use. But its our job as developers to address the user / audience needs - a ‘good problem’ is not defined by a list of features.
  5. An example ‘Design Process’ ‘Design’ infers the need to solve a particular problem. Therefore, it is most important to start with knowledge and thought. Knowledge to ask the right questions and thought to understand and identify the problem(s).
  6. Ultimately the most important part of any process is the result… ∴ the ‘Design Process’ should be understood as a pattern to help replicate successful outcomes. There are a lot of versions of the ‘design process’… – I encourage you to define your own design process / pattern that enables you to deliver your best results! For example - the common designer approach is to present 3 design concepts. But according to this interview with Steve Jobs, Paul Rand refused to offer them any ideas, only the solution! – YouTube video of Steve Jobs on Paul Rand: http://youtu.be/vJthkRrQcfo
  7. Designers / Developers, when it comes to Responsive Design… don’t be a pixel pusher! Responsive design should not mean merely moving pixels around a screen, its about design. Btw developers / product owners - don’t just ask your designer to make things look pretty. Rather, challenge them to be a designer. Sure, designers can make things look pretty, but that’s NOT design.
  8. We need to aim higher – Be a problem solver… Be a designer! Think about customers / users Find the problem(s) Use design to solve the problem(s)
  9. As designers it helps if we know how the production side of things operates. For example with design for print if helps prevent mistakes in production if you know about 4 colour CYMK production and colour calibration, bleed, and design for common sizes. Eg. Design flyers for A6 size is cheaper to produce than a bespoke size. It’s the same with responsive web, a designer will need to have a certain awareness and appreciation for the production aspect. ∴ designers for responsive web will need to know how things will operate / react under a dynamic grid system. Also regarding design for responsive web apps there are various design guidelines available for each platform – so it’s good idea to know what all the guidelines are, but knowing why those guidelines exist is even better.
  10. Designers are not required to get hands dirty with code – but they should play and experiment with dynamic grid demos out there! * Demo Bootstrap responsive grid for designers *
  11. Here are 5 awesome design apps – but there so many options, which is best to use? In the early web design days I used to design static width web pages using Photoshop (pixel based tool) But as the average desktop monitors got bigger we started seeing larger websites emerge. It became technically possible to present richer experiences with magazine-style panache. Because of this design for print influence that meant professional print design tools like Illustrator became superior for web design because of advanced print design features like grids and guides. Over time I migrated to Illustrator (vector based tool) • Vector based tools also make it easier to resize and scale graphics. Now there is a new wave of digital design tools available to designers: Sketch Experience Design But what tool is best to use for Responsive Design..?
  12. Unfortunately, there are no professional grade responsive design tools! Tip: Use the next best thing – choose the vector-based design tools. The trouble with graphic design tools they lean heavily towards print and static art-board sizes – rather than digital and dynamic sizes.
  13. Because design artwork doesn’t contain responsive data this results in extra work for the designer… ∴ 2 designs required - Portrait (mobile) and landscape (tablet / desktop) designs are both required to generate a single responsive design page.
  14. Example #1 of Responsive Design showing Sign-in page. Beware of design differences due to revisions: – you can’t design the two screens at the same time. – these are two separate instances and changes in one file will not update the other. – increased risk of design inconsistencies as separate designs may be done on different days. Because of these issues there are some things that appear on the landscape (desktop) screen that don’t exist on the portrait (mobile) design page. But Responsive Design in terms of approach should be ‘all the things’ for any screen (although there can be certain instances where exceptions to the rule are required) One possible benefit here is that as you design the same thing twice it will give opportunity to refine and enhance at the design stage.
  15. Example #2 of Responsive Design showing Dashboard page. Consider: - Four column grid view to single column list view (reduced columns for portrait screen) - Consistent accent colour for links – this will help users locate the action buttons as layout adapts from grid to list view. - Hidden elements used sparingly (only when it can be justified)
  16. Example #3 of Responsive Design showing Tutorial page. Design for touch (mobile) first: Support touch first as it requires a larger interactive area - buttons should have an min. area of at least 44px square. Controls that use swipe gestures can use draggable alternatives on desktop (Surface is good example)
  17. Example #4 of Responsive Design showing Main page. Important observations: This particular app’s function requires 1000’s of user selections therefore I am careful to avoid scrolling as much as possible. The optimised UX in this instance is a single tap per page, but less careful use of responsive grids in portrait view (reduced width) would have easily resulted in vertical scrolling before being absolutely necessary. Use of image tiles to reduce page load time. (SASS code to be shown later) Full bleed effect for extra large desktop screens. The design grid has a max width but backgrounds can extend beyond to give an illusion of full page width. * Demo responsive web app *
  18. As developers it helps we can wear a design hat! Knowledge of design grid. Beware of design limitations - you will need at least two designs from a designer. (Portrait & landscape aspect designs will be required to create a single responsive design)
  19. The language of RWD is CSS. • But CSS doesn’t not sit comfortably with designer / developer. • HTML / CSS will need constant tweaking to get designs looking and working right! ∴ Responsive Web Design requires tools like BrowserSync to provide real-time feedback for design. BrowserSync will also help with real device testing (essential for testing interaction on touch devices) * Demo multiple devices with live reload using BrowserSync *
  20. Responsive design web kit I like to use as a designer/developer: Polymer – UI Kit for web Bootstrap – 12 column responsive grid system. Bootstrap 3 has 4-tier, Bootstrap 4 has 5-tier grid system. Sass – write less CSS which is easier to control. Uses include @media mixins for responsive design that can be nested with styles. BrowserSync – live reloading for real-time design and device testing. Gulp – automate builds for distribution. Watches for HTML, Javascript, and SASS/CSS changes and hooks into BrowserSync.
  21. Tip: Use bower to manage client-side dependencies and npm to manage developer / testing dependencies. Helps prevent 3rd party code being included with commits and this is good idea for source controlled projects: - Smaller repro to clone - Cleaner commits - Faster code reviews
  22. Bootstrap 3 default grid for ‘xs’ width SASS @mixin media queries can be nested in styles so responsive design alterations can be written in context if you prefer. NB: Bootstrap 4 will support SASS, but until then these definitions will come in handy.
  23. Bootstrap 3 default grid for ‘sm’ width
  24. Bootstrap 3 default grid for ‘md’ width
  25. Bootstrap 3 default grid for ‘lg’ width NB: Bootstrap 4 will add an extra ‘xl’ tier grid for extra large desktops.
  26. You can use the HTML5 <picture> element, but there are more options by using CSS background-image (eg. tiles, scaling and positioning options)
  27. For single-colour / monochrome graphics consider creating custom font… Icomoon.io creates font using vector graphics and generates the SASS for you. It’s easy to use – like Font Awesome icons.
  28. It’s important to compress all image assets for speedy page loading. Especially with the increase of larger hi-res images being required for Retina / HD screens. ImageOptim (Mac) https://imageoptim.com/ File Optimizer (Windows) http://nikkhokkho.sourceforge.net/images/FileOptimizerSetup.exe
  29. For fast web site deployment or previewing you can setup an Azure Web App with local git repro. - Create an Azure App Service
  30. Go to Azure Web App settings: - Deployment source > Local git repro This will add info: - Git/Deployment username - Git clone url
  31. In my case I use `gulp build` to generate a ‘dist’ folder with distribution version of the web app. Setup procedure: Navigate to the ‘dist’ directory Create a local git repro in there, then add all files and issue a commit Finally, configure local git with Azure git clone url
  32. - Just push changes to upload * Deploy web app demo *
  33. Cordova will package web app for iOS Android UWP Tip: Cordova Asset Generator creates app icons and launch image assets for all platforms.
  34. WKWebView – uses the same Nitro JavaScript engine as Safari. - Available as Cordova plugin
  35. Web view behaviours provide a good UX for websites. But this is not the case for hybrid responsive web apps. Web view behaviours are inherited by default and if you want to provide app-like UX these must be removed. * Demo Cordova (default) app with web view behaviours *
  36. Web view behaviours can be disabled using Cordova config.xml to make a web app feel more app-like. * Demo an ‘app-ified’ Cordova hybrid app *
  37. Disables page spring / bounce effect on iOS, or wave effect on Android.
  38. Apps don’t zoom when you double tap. NB: Adding this viewport meta tag to disable zooming also solves the ‘click delay’ touch-based browsers (at least on Android, and should work on iOS WKWebView) IE looks for CSS: { touch-action: manipulation } on elements https://news.ycombinator.com/item?id=10389789
  39. Apps don’t show a magnifying glass everywhere during a long tap and hold gesture. NB: Side effect is force touch and long press is removed.
  40. App’s don’t allow selection everywhere and can be disabled using CSS. NB: What about form inputs!? - If your web app contains form inputs then you can exclude those inputs using the :not() CSS selector (but I find it easier to switch everything off by default.) For iOS “-webkit-touch-callout: none” disables the default callout shown when you touch and hold a touch target. https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266-_webkit_touch_callout
  41. Appium allows you to test hybrid apps across multiple devices / platforms using the same code. * Demo of End to End testing with Appium *
  42. Summary for designers: – Understand the dynamic grid to design responsively – Separate portrait and landscape designs that lend themselves to a single responsive design – The advantages of using vector-based design tools
  43. Summary for developers: – Understanding the design grid to merge separated designs – Responsive design with multiple device testing and live reloading – Web kit for responsive design
  44. Summary for production: – App-ify web view behaviours using Cordova’s config and CSS – Cordova WKWebView plugin for faster iOS web app performance
  45. Android Robot Creative Commons 3.0 Attribution License: http://creativecommons.org/licenses/by/3.0/
  46. Blog link: http://www.deadlyfingers.net/web/responsive-design/ Twitter: https://twitter.com/deadlyfingers