88
MOBILE WEB and why there shouldn’t be a mobile web Wednesday, November 21, 12

Mobileweb

Embed Size (px)

DESCRIPTION

This keynote credits go entirely to Luis Carmona - http://www.luiscarmona.com/

Citation preview

Page 1: Mobileweb

MOBILE WEBand why there shouldn’t be a mobile web

Wednesday, November 21, 12

Page 2: Mobileweb

Wednesday, November 21, 12

Page 3: Mobileweb

• Jorge Braz

• web developer @ Labs SAPO/UA

[email protected]

Wednesday, November 21, 12

Page 4: Mobileweb

MOBILE WEB

Wednesday, November 21, 12

Page 5: Mobileweb

• web vs. native

• responsive web (web apps vs. web pages)

• sapo mobile framework

• mobile web development tools

• mobile tips

MOBILE WEB

Wednesday, November 21, 12

Page 6: Mobileweb

WEB VS NATIVE

Wednesday, November 21, 12

Page 7: Mobileweb

Wednesday, November 21, 12

Page 8: Mobileweb

WEB

Wednesday, November 21, 12

Page 9: Mobileweb

WEB

• PHP, Rails, whatever server side language

• HTML5

• CSS3

• JS

Wednesday, November 21, 12

Page 10: Mobileweb

WEB ++

Wednesday, November 21, 12

Page 11: Mobileweb

WEB ++

• easy to update (style.css?v=1)

• develop once, reach multiple platforms

• nice content reader (news, photos, videos)

• more people know about the web and share that knowledge online

Wednesday, November 21, 12

Page 12: Mobileweb

WEB --

Wednesday, November 21, 12

Page 13: Mobileweb

WEB --

• depends heavily on hardware, low performance

• depends heavily on firmware features

• no access to certain hardware (camera, filesystem, accelerometer, etc)

Wednesday, November 21, 12

Page 14: Mobileweb

NATIVE

Wednesday, November 21, 12

Page 15: Mobileweb

NATIVE

• iOS (Objective-C)

• Android (Java)

• WP7 (some crappy thing)

• WP8 (HTML+CSS+JS ... wait ... what?)

Wednesday, November 21, 12

Page 16: Mobileweb

NATIVE ++

Wednesday, November 21, 12

Page 17: Mobileweb

NATIVE ++• access to a marketplace (Apple Apps Store,

Google Play, etc), more exposure

• access to hardware, better performance

• super fast interactions, less touch lag

• better overall user experience

• keeps user info safe (favorites, preferences)

Wednesday, November 21, 12

Page 18: Mobileweb

NATIVE --

Wednesday, November 21, 12

Page 19: Mobileweb

NATIVE --

• way more development time because you have to make N apps (iOS, Android, WP, etc), more expensive

• way more design time (iOS, Android x 4), unhappy designers

• updates are costly

Wednesday, November 21, 12

Page 20: Mobileweb

ASK YOURSELF

Wednesday, November 21, 12

Page 21: Mobileweb

ASK YOURSELF

• do you need specific hardware features?

• can you afford a large development team?

• will you need to update app features often?

Wednesday, November 21, 12

Page 22: Mobileweb

RESPONSIVEWEB

Wednesday, November 21, 12

Page 23: Mobileweb

There is no Mobile Web. There is only The Web, which we view in different ways. There is also no Desktop Web. Or Tablet Web. Thank you.

Stephen Hay

Wednesday, November 21, 12

Page 24: Mobileweb

Wednesday, November 21, 12

Page 25: Mobileweb

WHAT IS IT ABOUT?

Wednesday, November 21, 12

Page 26: Mobileweb

WHAT IS IT ABOUT?

• media queries

• viewport tag

Wednesday, November 21, 12

Page 27: Mobileweb

MEDIA QUERIES

Wednesday, November 21, 12

Page 28: Mobileweb

MEDIA QUERIES• width

• height

• device-width

• device-height

• orientation

• aspect-ratio

• device-aspect-ratio

• color

• color-index

• monochrome

• resolution

• scan

• grid

• device-pixel-ratio

Wednesday, November 21, 12

Page 29: Mobileweb

MEDIA QUERIES

Wednesday, November 21, 12

Page 30: Mobileweb

MEDIA QUERIES<link rel="stylesheet" media="screen" href="mobile.css">

<link rel="stylesheet" media="screen and (min-device-width:640px)" href="tablet.css">

<link rel="stylesheet" media="all and (min-device-width:1024px)" href="desktop.css">

Wednesday, November 21, 12

Page 31: Mobileweb

MEDIA QUERIES

Wednesday, November 21, 12

Page 32: Mobileweb

MEDIA QUERIESmobile rules

@media screen and (min-device-width: 640px) {

tablet rules

}

@media screen and (min-device-width: 1024px) and (orientation:landscape) {

tablet horizontal rules

}

@media screen and (min-device-width: 1024px) {

desktop rules

}

Wednesday, November 21, 12

Page 33: Mobileweb

MEDIA QUERIES

Wednesday, November 21, 12

Page 34: Mobileweb

MEDIA QUERIES

• device-width is key for high resolution phones that might be considered tablets when on landscape

• orientation might be tricky. use it only for minor design decisions

Wednesday, November 21, 12

Page 35: Mobileweb

MEDIA QUERIES

Wednesday, November 21, 12

Page 36: Mobileweb

MEDIA QUERIES

Wednesday, November 21, 12

Page 37: Mobileweb

MEDIA QUERIES

Wednesday, November 21, 12

Page 38: Mobileweb

VIEWPORT TAG

Wednesday, November 21, 12

Page 39: Mobileweb

VIEWPORT TAG<meta name="viewport" content="

width=device-width,

initial-scale=1,

minimum-scale=1,

maximum-scale=1,

user-scalable=no"

/>

<meta name=”MobileOptimized” content=”320”>

Wednesday, November 21, 12

Page 40: Mobileweb

BUT WHAT IS IT REALLY ABOUT?

Wednesday, November 21, 12

Page 41: Mobileweb

WHAT IS IT REALLY ABOUT?

Wednesday, November 21, 12

Page 42: Mobileweb

WHAT IS IT REALLY ABOUT?• it’s not a single piece of technology, but rather,

a set of techniques and ideas that form a whole

• one site, multiple viewports (mobile, tablet, desktop, tv)

• touchscreen vs cursor vs remote

• responsive content

• mobile first

Wednesday, November 21, 12

Page 43: Mobileweb

SO WHY DO WE HAVEMOBILE SPECIFIC WEBSITES?

m.facebook.com mobile.twitter.com m.yahoo.com m.sapo.pt gmail.com

Wednesday, November 21, 12

Page 44: Mobileweb

IT DEPENDS...

Wednesday, November 21, 12

Page 45: Mobileweb

IT DEPENDS...• sometimes it’s just easier to have separate sites

• support older phones (no media queries support)

• more focus on mobile, better mobile experience, better performance (touch matters)

• trying to mimic a native app

• legacy, sometimes necessary

Wednesday, November 21, 12

Page 46: Mobileweb

ONE SITE USE CASETICKETLINE.PT

Wednesday, November 21, 12

Page 47: Mobileweb

ONE SITE USE CASE• one server-side thingy, one template,

multiple CSS rules

• only major difference is cursor interface vs touch interface when choosing seats

• no native app look (back button, title bar, fixed main menu, etc), couldn’t care less

• re-organizing HTML blocks is not easy

TICKETLINE.PT

Wednesday, November 21, 12

Page 48: Mobileweb

TWO SITES USE CASESAPO.PT vs M.SAPO.PT

Wednesday, November 21, 12

Page 49: Mobileweb

TWO SITES USE CASE• not everything on SAPO has a mobile version;

m.sapo.pt ensures every content is mobile.

• not all sites have an available dev team to update it

• sometimes teams don’t have another option due to factors beyond their control

• one team to create all mobile sites

• two different links make sharing a living hell for the dev team

SAPO.PT vs M.SAPO.PT

Wednesday, November 21, 12

Page 50: Mobileweb

RESPONSIVE CONTENT

Wednesday, November 21, 12

Page 51: Mobileweb

RESPONSIVE CONTENT

• content first, navigation second

• prioritize

• don’t hide content, you never know better than your users what they want

• for some users, the only viewport to the web might be their mobile phone

Wednesday, November 21, 12

Page 52: Mobileweb

MOBILE FIRST

Wednesday, November 21, 12

Page 53: Mobileweb

MOBILE FIRST• progressive enhancement

• CSS rules for less capable devices first

• larger screen, better hardware (most times), more rules

• always use fallbacks, if not IE7 & IE8 will see mobile version

Wednesday, November 21, 12

Page 54: Mobileweb

USEFUL LINKS

Wednesday, November 21, 12

Page 55: Mobileweb

USEFUL LINKS• http://35.0m.sl.pt

• http://www.alistapart.com/articles/responsive-web-design/

• http://6xb.us.sl.pt• http://mobile.smashingmagazine.com/2012/04/19/why-we-shouldnt-make-separate-mobile-websites/

Wednesday, November 21, 12

Page 56: Mobileweb

SAPO MOBILE FRAMEWORK

Wednesday, November 21, 12

Page 57: Mobileweb

Wednesday, November 21, 12

Page 58: Mobileweb

WHAT IS IT?

Wednesday, November 21, 12

Page 59: Mobileweb

WHAT IS IT?

• it’s a mobile/tablet specific framework

• good for reading content (news, videos, photos)

• one platform for all of SAPO’s mobile sites

Wednesday, November 21, 12

Page 60: Mobileweb

VERSIONS

Wednesday, November 21, 12

Page 61: Mobileweb

VERSIONS

• touch++ devices: iOS (>5.0), Android (>3.0)

• touch-- devices: iOS (<5.0), Android (<3.0), WP7

• cursor++ devices: Blackberry, Nokia, etc

• cursor-- devices: crappy phones (<240px)

Wednesday, November 21, 12

Page 62: Mobileweb

YEAH...IT’S NOT EASY TRYING TO SUPPORT EVERY SINGLE DEVICE.

Wednesday, November 21, 12

Page 63: Mobileweb

MOBILE DEVELOPMENT TOOLS

Wednesday, November 21, 12

Page 64: Mobileweb

MOBILE DEV TOOLS

Wednesday, November 21, 12

Page 65: Mobileweb

MOBILE DEV TOOLS

• Google Chrome, because it’s Webkit, like iOS and Android

• Chrome Inspector, now with user agents, screen sizes and touch events

• iOS SDK for iPhone + iPad simulator, Android SDK for Android simulator

Wednesday, November 21, 12

Page 66: Mobileweb

MOBILE TIPS

Wednesday, November 21, 12

Page 67: Mobileweb

GENERIC TIPS

Wednesday, November 21, 12

Page 68: Mobileweb

GENERIC TIPS• design for retina, use CSS when possible

• if possible, use icon fonts (fontawesome)

• remember, when developing, things will look bigger on your desktop screen

• min font size? 16px. too big? cry me a river...

• fat fingers (44x44)

• use sprites, now more than ever

Wednesday, November 21, 12

Page 69: Mobileweb

GENERIC TIPS

Wednesday, November 21, 12

Page 70: Mobileweb

GENERIC TIPS• minify everything (CSS, JS)

• avoid CSS box shadows

• when using transforms, go for 3D transforms

• position: fixed;

• -webkit-overflow-scrolling: touch;

• 100% webapp? consider cache manifest

Wednesday, November 21, 12

Page 71: Mobileweb

GENERIC TIPS

Wednesday, November 21, 12

Page 72: Mobileweb

GENERIC TIPS• don’t use :hover

• no horizontal scroll, thank you

• long vertical scroll? no prob.

• use fluid layouts

• provide ways to change viewport or view desktop site

Wednesday, November 21, 12

Page 73: Mobileweb

GENERIC TIPS

Wednesday, November 21, 12

Page 74: Mobileweb

GENERIC TIPS• test, test, test, test, test, test, test, test, test,

test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test

Wednesday, November 21, 12

Page 75: Mobileweb

HTML5 INPUT TYPES

text number e-mail

Wednesday, November 21, 12

Page 76: Mobileweb

HTML5 INPUT TYPES

url tel date

Wednesday, November 21, 12

Page 77: Mobileweb

ADD TO HOMESCREEN

Wednesday, November 21, 12

Page 78: Mobileweb

ADD TO HOMESCREEN• Google Maps on iOS

Wednesday, November 21, 12

Page 79: Mobileweb

HTML5BOILERPLATE.COMHTML5BOILERPLATE.COM/MOBILE

Wednesday, November 21, 12

Page 80: Mobileweb

MODERNIZR.COM

Wednesday, November 21, 12

Page 81: Mobileweb

CANIUSE.COM

Wednesday, November 21, 12

Page 82: Mobileweb

DOCHUB.IO

Wednesday, November 21, 12

Page 83: Mobileweb

RESPONSIVE.IS

Wednesday, November 21, 12

Page 84: Mobileweb

MALTEWASSERMANN.COM

Wednesday, November 21, 12

Page 85: Mobileweb

MEDIAQUERI.ES

Wednesday, November 21, 12

Page 86: Mobileweb

FACEBOOK.COM/GROUPS/CSSPORTUGAL

Wednesday, November 21, 12

Page 87: Mobileweb

VERSÃO ORIGINAL:

Wednesday, November 21, 12

Page 88: Mobileweb

• Luis Carmona

• webdesigner @ SAPO Multiplataforma

[email protected]

• luiscarmona.net

VERSÃO ORIGINAL:

Wednesday, November 21, 12