Mobileweb

Preview:

DESCRIPTION

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

Citation preview

MOBILE WEBand why there shouldn’t be a mobile web

Wednesday, November 21, 12

Wednesday, November 21, 12

• Jorge Braz

• web developer @ Labs SAPO/UA

• jorge-braz@telecom.pt

Wednesday, November 21, 12

MOBILE WEB

Wednesday, November 21, 12

• 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

WEB VS NATIVE

Wednesday, November 21, 12

Wednesday, November 21, 12

WEB

Wednesday, November 21, 12

WEB

• PHP, Rails, whatever server side language

• HTML5

• CSS3

• JS

Wednesday, November 21, 12

WEB ++

Wednesday, November 21, 12

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

WEB --

Wednesday, November 21, 12

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

NATIVE

Wednesday, November 21, 12

NATIVE

• iOS (Objective-C)

• Android (Java)

• WP7 (some crappy thing)

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

Wednesday, November 21, 12

NATIVE ++

Wednesday, November 21, 12

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

NATIVE --

Wednesday, November 21, 12

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

ASK YOURSELF

Wednesday, November 21, 12

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

RESPONSIVEWEB

Wednesday, November 21, 12

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

Wednesday, November 21, 12

WHAT IS IT ABOUT?

Wednesday, November 21, 12

WHAT IS IT ABOUT?

• media queries

• viewport tag

Wednesday, November 21, 12

MEDIA QUERIES

Wednesday, November 21, 12

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

MEDIA QUERIES

Wednesday, November 21, 12

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

MEDIA QUERIES

Wednesday, November 21, 12

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

MEDIA QUERIES

Wednesday, November 21, 12

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

MEDIA QUERIES

Wednesday, November 21, 12

MEDIA QUERIES

Wednesday, November 21, 12

MEDIA QUERIES

Wednesday, November 21, 12

VIEWPORT TAG

Wednesday, November 21, 12

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

BUT WHAT IS IT REALLY ABOUT?

Wednesday, November 21, 12

WHAT IS IT REALLY ABOUT?

Wednesday, November 21, 12

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

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

IT DEPENDS...

Wednesday, November 21, 12

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

ONE SITE USE CASETICKETLINE.PT

Wednesday, November 21, 12

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

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

Wednesday, November 21, 12

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

RESPONSIVE CONTENT

Wednesday, November 21, 12

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

MOBILE FIRST

Wednesday, November 21, 12

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

USEFUL LINKS

Wednesday, November 21, 12

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

SAPO MOBILE FRAMEWORK

Wednesday, November 21, 12

Wednesday, November 21, 12

WHAT IS IT?

Wednesday, November 21, 12

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

VERSIONS

Wednesday, November 21, 12

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

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

Wednesday, November 21, 12

MOBILE DEVELOPMENT TOOLS

Wednesday, November 21, 12

MOBILE DEV TOOLS

Wednesday, November 21, 12

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

MOBILE TIPS

Wednesday, November 21, 12

GENERIC TIPS

Wednesday, November 21, 12

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

GENERIC TIPS

Wednesday, November 21, 12

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

GENERIC TIPS

Wednesday, November 21, 12

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

GENERIC TIPS

Wednesday, November 21, 12

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

HTML5 INPUT TYPES

text number e-mail

Wednesday, November 21, 12

HTML5 INPUT TYPES

url tel date

Wednesday, November 21, 12

ADD TO HOMESCREEN

Wednesday, November 21, 12

ADD TO HOMESCREEN• Google Maps on iOS

Wednesday, November 21, 12

HTML5BOILERPLATE.COMHTML5BOILERPLATE.COM/MOBILE

Wednesday, November 21, 12

MODERNIZR.COM

Wednesday, November 21, 12

CANIUSE.COM

Wednesday, November 21, 12

DOCHUB.IO

Wednesday, November 21, 12

RESPONSIVE.IS

Wednesday, November 21, 12

MALTEWASSERMANN.COM

Wednesday, November 21, 12

MEDIAQUERI.ES

Wednesday, November 21, 12

FACEBOOK.COM/GROUPS/CSSPORTUGAL

Wednesday, November 21, 12

VERSÃO ORIGINAL:

Wednesday, November 21, 12

• Luis Carmona

• webdesigner @ SAPO Multiplataforma

• lpccarmona@gmail.com

• luiscarmona.net

VERSÃO ORIGINAL:

Wednesday, November 21, 12

Recommended