mobileweb
DESCRIPTION
This keynote credits go entirely to Luis Carmona - http://www.luiscarmona.com/TRANSCRIPT
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
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
FACEBOOK.COM/GROUPS/CSSPORTUGAL
Wednesday, November 21, 12
VERSÃO ORIGINAL:
Wednesday, November 21, 12
• Luis Carmona
• webdesigner @ SAPO Multiplataforma
• luiscarmona.net
VERSÃO ORIGINAL:
Wednesday, November 21, 12