Transcript
Page 1: The Dean wants to Make this WordPress Site Responsive

The Dean wants to Make this WordPress Site

ResponsiveJoe Casabona

casabona.org @jcasabona

Page 2: The Dean wants to Make this WordPress Site Responsive

Who Am I?*

2

*Besides a handsome devil

Page 3: The Dean wants to Make this WordPress Site Responsive

3

Page 4: The Dean wants to Make this WordPress Site Responsive

Responsive Web Design: The idea that your website will automatically adapt to the device it's being viewed on.

4

Page 5: The Dean wants to Make this WordPress Site Responsive

Why?

5

Page 6: The Dean wants to Make this WordPress Site Responsive

6

Page 7: The Dean wants to Make this WordPress Site Responsive

How?

7

❖ EM-Based Breakpoints

❖ Breakpoints based on Content

❖ Consider Connection Speeds

Page 8: The Dean wants to Make this WordPress Site Responsive

RESS

8

❖ My Plugin: rwdwp.com/22

❖ Jesse's: rwdwp.com/35

Page 9: The Dean wants to Make this WordPress Site Responsive

WURFL Database

9

❖ Device Detection

❖ Feature Detection

❖ Open Source

❖ Scientia Mobile

Page 10: The Dean wants to Make this WordPress Site Responsive

10 rwdwp.com/20

Page 11: The Dean wants to Make this WordPress Site Responsive

wp_is_mobile()

11

Page 12: The Dean wants to Make this WordPress Site Responsive

12

function jlc_is_mobile_device($apikey){ try{ $config = new WurflCloud_Client_Config(); $config->api_key = $apikey; $client = new WurflCloud_Client_Client($config); $client->detectDevice(); return $client->getDeviceCapability('is_wireless_device'); }catch (Exception $e){ return wp_is_mobile(); } } !define( 'ISMOBILE', jlc_is_mobile_device());

Page 13: The Dean wants to Make this WordPress Site Responsive

13

if(ISMOBILE){ //display one way }else{ //not mobile device //display different way }

Page 14: The Dean wants to Make this WordPress Site Responsive

Always ask what’s best for the users!

14

Page 15: The Dean wants to Make this WordPress Site Responsive

Responsive Workflow

15

❖ Sketch

❖ Code

❖ Test

❖ Repeat

Page 16: The Dean wants to Make this WordPress Site Responsive

16

Page 17: The Dean wants to Make this WordPress Site Responsive

Mobile First!

17

Page 18: The Dean wants to Make this WordPress Site Responsive

I use the web completely differently on mobile devices.

!

- No One

18

Page 19: The Dean wants to Make this WordPress Site Responsive

Design in the Browser

19

Page 20: The Dean wants to Make this WordPress Site Responsive

20bradfrostweb.com

Page 21: The Dean wants to Make this WordPress Site Responsive

21 styletil.es

Page 22: The Dean wants to Make this WordPress Site Responsive

General Notes for Page Weight

22

Page 23: The Dean wants to Make this WordPress Site Responsive

Propose a New Design First!

23

Page 24: The Dean wants to Make this WordPress Site Responsive

When You Can't Use a new Design

❖ Do a Content Audit

❖ Ask What’s the most important

❖ (to your users)

❖ Start Shrinking

❖ Test…a lot.

24

Page 25: The Dean wants to Make this WordPress Site Responsive

Make it Work with WordPress

25

Page 26: The Dean wants to Make this WordPress Site Responsive

Navigation

26

❖ Do Nothing

❖ Hide n' Cry

❖ Jump to

❖ Select Box

❖ Responsive Nav

❖ Off-Canvas

Page 27: The Dean wants to Make this WordPress Site Responsive

27

<nav id=”main”> <?php if(!ISMOBILE){ wp_nav_menu( array('menu' => ‘Main', 'container_id' => 'top-menu'));

}else{ echo '<a href=”#footernav”>Jump to Nav</a>'; }

?>

</nav>

Page 28: The Dean wants to Make this WordPress Site Responsive

28

<?php if(ISMOBILE){ ?> <nav id=“footer-nav”> <?php wp_nav_menu( array('menu' => ‘Main’)); ?> </nav> <?php } ?> !

Page 29: The Dean wants to Make this WordPress Site Responsive

Responsive Images

29

Page 30: The Dean wants to Make this WordPress Site Responsive

picturefill.js

30

2.0 Just Released: http://rwdwp.com/96

Page 31: The Dean wants to Make this WordPress Site Responsive

31

<picture> <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="extralarge.jpg" media="(min-width: 1000px)"> <source srcset="large.jpg" media="(min-width: 800px)"> <source srcset="medium.jpg"> <!--[if IE 9]></video><![endif]--> <img srcset="medium.jpg" alt="A giant stone face at The Bayon temple in Angkor Thom, Cambodia"> </picture>

Page 32: The Dean wants to Make this WordPress Site Responsive

32

$(function(){ $(".post img").removeAttr("width").removeAttr("height"); });

Page 33: The Dean wants to Make this WordPress Site Responsive

Images Are Hard!

33

Page 34: The Dean wants to Make this WordPress Site Responsive

34

@media(-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi) { /* Retina-specific stuff here */ }

<span data-src="retina.jpg" data-media="(-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi)"></span>

rwdwp.com/95

Page 35: The Dean wants to Make this WordPress Site Responsive

HTML5 Galleries!

35

add_theme_support( 'html5', array('gallery', 'caption' ) );

http://rwdwp.com/97

Page 36: The Dean wants to Make this WordPress Site Responsive

Testing

36

Page 37: The Dean wants to Make this WordPress Site Responsive

❖ iPhone 4, 5

❖ iPad 2 or new iPad

❖ Android 4.0+ Phones: Galaxy Nexus, Galaxy Note II, S3 or S4, Droid Incredible (one of them), Droid DNA or Razor Maxx

❖ Android pre-4.0 Phones: Moto DroidX, Evo4G

❖ Android Tablets: Nexus 7, 10, Samsung Galaxy Note 10, Galaxy Tab 8.9, Kindle Fire, Moto XOOM

❖ At least one Blackberry (Q10, Z10)

❖ At least one Windows Phone (Lumia or HTC 8x)

Devices

37

Page 38: The Dean wants to Make this WordPress Site Responsive

❖ Broadband (wired or wifi connection)

❖ 4G (on multiple carriers if possible)

❖ 3G (on multiple carriers if possible)

❖ 4G and 3G while traveling

Connectivity

38

Page 39: The Dean wants to Make this WordPress Site Responsive

❖ The device’s native browser (Safari, Browser, etc)

❖ Chrome on Android and iOS

❖ Mobile Opera

❖ Dolphin

❖ Mobile Firefox

Browsers!

39

Page 40: The Dean wants to Make this WordPress Site Responsive

Questions?

40

Discount Code: RWDWP with you order from peachpit.com

Slides will be at casabona.org/events