Maintaining Responsive Integrity

  • 670 views
Uploaded on

It's hard to maintain a responsi

It's hard to maintain a responsi

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
670
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
17
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Transcript

  • 1. MaintainingResponsive Integrity
  • 2. Jesse FriedmanAuthor, Professor, Developer - @professor
  • 3. · Director of Web Interface and Development · Professor at Johnson & Wales University · Author: Web Designers Guide to WordPress · Writer: Designers Web Handbook, Web Designers Idea Book Volume 2, .NET Magazine, netmagazine.com, HOW and moreJesse FriedmanAuthor, Professor, Developer - @professor
  • 4. · Director of Web Interface and Development · Professor at Johnson & Wales University · Author: Web Designers Guide to WordPress · Writer: Designers Web Handbook, Web Designers Idea Book Volume 2, .NET Magazine, netmagazine.com, HOW and more · Co-organizer WordPress Providence Meetup and WordCamp Providence 2012Jesse FriedmanAuthor, Professor, Developer - @professor
  • 5. Tweet a photo, link or text about something you learned today. cc/ @professor use #wcchi. 2 Hard Copies and 3 DigitalWant a Free Copy?
  • 6. ResponsiveSo what’s the difference between a CMS based Responsive site and a static one?
  • 7. HTML, CSS, JavaScript
  • 8. I C ES S T R A P T DS RW O
  • 9. I C ES S T R A P T DS RW O
  • 10. S S R E D P O RW
  • 11. FRAMEWORKS,
  • 12. FRAMEWORKS,GRID SYSTEMS,
  • 13. FRAMEWORKS,GRID SYSTEMS,ALL THAT STUFF,
  • 14. FRAMEWORKS,GRID SYSTEMS,ALL THAT STUFF,STILL WORKS!
  • 15. User Admin us·er ad·min
  • 16. User Admin us·er ad·minA person responsible for running and operating a system
  • 17. User Admin us·er ad·min
  • 18. User Admin us·er ad·minIn other words, the person who’s gonna gaff up your design
  • 19. User Admin of your designMay compromise the integrity
  • 20. User Admin of your designMay compromise the integrity
  • 21. Userexpected to maintain responsive content Admin’sCan’t be
  • 22. Userexpected to maintain responsive content Admin’sCan’t be
  • 23. User some road blocks Admin’sWill have
  • 24. · Media and maintaining a fluid layoutUser some road blocks Admin’sWill have
  • 25. · Media and maintaining a fluid layout · MenusUser some road blocks Admin’sWill have
  • 26. · Media and maintaining a fluid layout · Menus · Multiple ColumnsUser some road blocks Admin’sWill have
  • 27. · Media and maintaining a fluid layout · Menus · Multiple Columns · Showing and Hiding Content based on user deviceUser some road blocks Admin’sWill have
  • 28. Content is KING!Empowering User Admins to choose when toshow content
  • 29. What if at the server level you could say: Content is KING! Empowering User Admins to choose when to show content
  • 30. What if at the server level you could say: On a mobile device? do this: Content is KING! Empowering User Admins to choose when to show content
  • 31. What if at the server level you could say: On a mobile device? do this: THIS Content is KING! Empowering User Admins to choose when to show content
  • 32. What if at the server level you could say: On a mobile device? do this: THIS else do this: Content is KING! Empowering User Admins to choose when to show content
  • 33. What if at the server level you could say: On a mobile device? do this: THIS else do this: OTHER THIS Content is KING! Empowering User Admins to choose when to show content
  • 34. WordPress wp_is_mobile();
  • 35. WordPress wp_is_mobile();<?php if ( wp_is_mobile() ) the_post_thumbnail( post-thumb ); else the_post_thumbnail ( post-large );?>
  • 36. What if at the server level you could say:
  • 37. What if at the server level you could say:isiPhone()
  • 38. What if at the server level you could say:isiPhone()isBlackBerry()
  • 39. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()
  • 40. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()
  • 41. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()
  • 42. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()
  • 43. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()
  • 44. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()
  • 45. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()
  • 46. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()
  • 47. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()
  • 48. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()
  • 49. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()
  • 50. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()
  • 51. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()
  • 52. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()
  • 53. What if at the server level you could say:isiPhone()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 54. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 55. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 56. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 57. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 58. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 59. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 60. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 61. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 62. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 63. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 64. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 65. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 66. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet()isBlackBerryTablet()isiPad()isKindle()
  • 67. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet()isiPad()isKindle()
  • 68. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad()isKindle()
  • 69. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle()
  • 70. What if at the server level you could say:isiPhone() isSamsungTablet()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 71. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 72. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 73. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 74. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 75. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 76. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 77. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 78. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 79. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS() isFirefox()isPalm() isBlackBerryOS()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 80. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS() isFirefox()isPalm() isBlackBerryOS() isBolt()isGenericPhone() isPalmOS()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 81. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS() isFirefox()isPalm() isBlackBerryOS() isBolt()isGenericPhone() isPalmOS() isTeaShark()isAcerTablet() isSymbianOS()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 82. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS() isFirefox()isPalm() isBlackBerryOS() isBolt()isGenericPhone() isPalmOS() isTeaShark()isAcerTablet() isSymbianOS() isBlazer()isYarvikTablet() isWindowsMobileOS()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 83. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS() isFirefox()isPalm() isBlackBerryOS() isBolt()isGenericPhone() isPalmOS() isTeaShark()isAcerTablet() isSymbianOS() isBlazer()isYarvikTablet() isWindowsMobileOS() isSafari()isGenericTablet() isiOS()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 84. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS() isFirefox()isPalm() isBlackBerryOS() isBolt()isGenericPhone() isPalmOS() isTeaShark()isAcerTablet() isSymbianOS() isBlazer()isYarvikTablet() isWindowsMobileOS() isSafari()isGenericTablet() isiOS() isMidori()isBlackBerryTablet() isFlashLiteOS()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 85. What if at the server level you could say:isiPhone() isSamsungTablet() iswebOS()isBlackBerry() isHTCtablet() isbadaOS()isHTC() isMotorolaTablet() isBREWOS()isNexus() isAsusTablet() isChrome()isDellStreak() isNookTablet() isDolfin()isMotorola() isAcerTablet() isOpera()isSamsung() isYarvikTablet() isSkyfire()isSony() isGenericTablet() isIE()isAsus() isAndroidOS() isFirefox()isPalm() isBlackBerryOS() isBolt()isGenericPhone() isPalmOS() isTeaShark()isAcerTablet() isSymbianOS() isBlazer()isYarvikTablet() isWindowsMobileOS() isSafari()isGenericTablet() isiOS() isMidori()isBlackBerryTablet() isFlashLiteOS() isGenericBrowser()isiPad() isJavaOS()isKindle() isNokiaOS()
  • 86. Featured ImagesLeveraging WordPress
  • 87. Featured ImagesLeveraging WordPress
  • 88. Featured ImagesLeveraging WordPress
  • 89. add_image_size( desktop, 800, 600, true );add_image_size( tablet, 600, 350, true );add_image_size( iphone, 400, 300, true);add_image_size( mobile, 300, 175, true );Featured ImagesLeveraging WordPress
  • 90. WordPress PHP Mobile Detect
  • 91. WordPress PHP Mobile Detect<?php if ( isiPhone() ) post_thumbnail( iphone ); elseif ( isMobile() ) post_thumbnail( mobile ); elseif ( isTablet() ) post_thumbnail( tablet ); else post_thumbnail( desktop );?>
  • 92. Dropping Static Width and Height Attributes
  • 93. Dropping Static Width and Height Attributes $( .attachment-post-thumb ).removeAttr( width ).removeAttr( height ); $( .content img ).removeAttr( width ).removeAttr( height );
  • 94. Multi-ColumnUsing the screen up
  • 95. Multi-ColumnRemember responsive isn’t just mobile
  • 96. Multi-ColumnRemember responsive isn’t just mobile
  • 97. Multi-ColumnRemember responsive isn’t just mobile
  • 98. Multi-ColumnRemember responsive isn’t just mobile
  • 99. MenusMobile and Desktop Menu Locations
  • 100. $main_menu = array( theme_location => desktop_header,);$mobile_menu = array( theme_location => mobile_header,);if ( wp_is_mobile() ) wp_nav_menu( $mobile_menu ); else wp_nav_menu( $main_menu ); Featured Images Leveraging WordPress
  • 101. ShortcodesEmpowering User Admins to choose when toshow content
  • 102. ShortcodesEmpowering User Admins to choose when toshow content
  • 103. function j2theme_nomobile( $atts, $content="" ) { global $detect; if( ! isMobile() )return "{$content}";}add_shortcode( nomobile, j2theme_nomobile ); Shortcodes Empowering User Admins to choose when to show content
  • 104. ShortcodesEmpowering User Admins to choose when toshow content
  • 105. function j2theme_onlymobile( $atts, $content="" ){ global $detect; if( isMobile() )return "{$content}";}add_shortcode( onlymobile, j2theme_onlymobile ); Shortcodes Empowering User Admins to choose when to show content
  • 106. ShortcodesEmpowering User Admins to choose when toshow content
  • 107. What Does it all MeanGreater control over content to build custombut unified experiences for everyone
  • 108. Less HTTP requestsWhat Does it all MeanGreater control over content to build custombut unified experiences for everyone
  • 109. Less HTTP requests No need for display:none;What Does it all MeanGreater control over content to build custombut unified experiences for everyone
  • 110. Less HTTP requests No need for display:none; Maintain same content for everyoneWhat Does it all MeanGreater control over content to build custombut unified experiences for everyone
  • 111. Less HTTP requests No need for display:none; Maintain same content for everyoneRemoval of calls to files you don’t need What Does it all Mean Greater control over content to build custom but unified experiences for everyone
  • 112. REMEMBER!It’s about giving controlback to the User Admin
  • 113. HTTP://WORDPRESS.ORG/EXTEND/PLUGINS/WP-MOBILE-DETECT/
  • 114. WP Mobile Detect PluginHTTP://WORDPRESS.ORG/EXTEND/PLUGINS/WP-MOBILE-DETECT/
  • 115. ?’sJesse FriedmanAuthor, Professor, Developer - @professor