SlideShare a Scribd company logo
1 of 88
Download to read offline
MOBILE WEB          and 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
MOBILE WEB
           • web vs. native
           • responsive web (web apps vs. web pages)
           • sapo mobile framework
           • mobile web development tools
           • mobile tips


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
RESPONSIVE
           WEB

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                 • color
           • height                • color-index
           • device-width          • monochrome
           • device-height         • resolution
           • orientation           • scan
           • aspect-ratio          • grid
           • device-aspect-ratio   • 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 QUERIES
           mobile 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 HAVE
           MOBILE 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 CASE
           TICKETLINE.PT




Wednesday, November 21, 12
ONE SITE USE CASE
           TICKETLINE.PT

           • 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

Wednesday, November 21, 12
TWO SITES USE CASE
           SAPO.PT vs M.SAPO.PT




Wednesday, November 21, 12
TWO SITES USE CASE
           SAPO.PT vs M.SAPO.PT

           • 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


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.COM
           HTML5BOILERPLATE.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
VERSÃO ORIGINAL:


           • Luis Carmona
           • webdesigner @ SAPO Multiplataforma
           • lpccarmona@gmail.com
           • luiscarmona.net




Wednesday, November 21, 12

More Related Content

Viewers also liked

Hardware Acceleration on Mobile, Ariya Hidayat & Jarred Nicholls
Hardware Acceleration on Mobile, Ariya Hidayat & Jarred NichollsHardware Acceleration on Mobile, Ariya Hidayat & Jarred Nicholls
Hardware Acceleration on Mobile, Ariya Hidayat & Jarred NichollsSencha
 
Enterprise javascriptsession2
Enterprise javascriptsession2Enterprise javascriptsession2
Enterprise javascriptsession2Troy Miles
 
Rozdíl mezi sdělenou informací a reportáží mediální výstupy tiskového mluvčího
Rozdíl mezi sdělenou informací a reportáží   mediální výstupy tiskového mluvčíhoRozdíl mezi sdělenou informací a reportáží   mediální výstupy tiskového mluvčího
Rozdíl mezi sdělenou informací a reportáží mediální výstupy tiskového mluvčíhoJakubVincalek
 
Apereo OAE - Architectural overview
Apereo OAE - Architectural overviewApereo OAE - Architectural overview
Apereo OAE - Architectural overviewNicolaas Matthijs
 
The JavaScript You Wished You Knew
The JavaScript You Wished You KnewThe JavaScript You Wished You Knew
The JavaScript You Wished You KnewTroy Miles
 

Viewers also liked (6)

Hardware Acceleration on Mobile, Ariya Hidayat & Jarred Nicholls
Hardware Acceleration on Mobile, Ariya Hidayat & Jarred NichollsHardware Acceleration on Mobile, Ariya Hidayat & Jarred Nicholls
Hardware Acceleration on Mobile, Ariya Hidayat & Jarred Nicholls
 
Enterprise javascriptsession2
Enterprise javascriptsession2Enterprise javascriptsession2
Enterprise javascriptsession2
 
Rozdíl mezi sdělenou informací a reportáží mediální výstupy tiskového mluvčího
Rozdíl mezi sdělenou informací a reportáží   mediální výstupy tiskového mluvčíhoRozdíl mezi sdělenou informací a reportáží   mediální výstupy tiskového mluvčího
Rozdíl mezi sdělenou informací a reportáží mediální výstupy tiskového mluvčího
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
Apereo OAE - Architectural overview
Apereo OAE - Architectural overviewApereo OAE - Architectural overview
Apereo OAE - Architectural overview
 
The JavaScript You Wished You Knew
The JavaScript You Wished You KnewThe JavaScript You Wished You Knew
The JavaScript You Wished You Knew
 

Similar to Mobileweb

Things I hate to do as a designer but do anyway
Things I hate to do as a designer but do anywayThings I hate to do as a designer but do anyway
Things I hate to do as a designer but do anywayMatt Johnston
 
Stepping into Usable Web
Stepping into Usable WebStepping into Usable Web
Stepping into Usable WebShajed Evan
 
Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Nickolay Ninarski
 
Presentacion Ushahidi - #redflexion Madrid Nov 2012
Presentacion Ushahidi - #redflexion Madrid Nov 2012Presentacion Ushahidi - #redflexion Madrid Nov 2012
Presentacion Ushahidi - #redflexion Madrid Nov 2012ondula
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureChris Mills
 
An Event Apart - Conference Takeaways
An Event Apart - Conference TakeawaysAn Event Apart - Conference Takeaways
An Event Apart - Conference TakeawaysMark Riggan
 
Responsive Web Design &amp; Workflow
Responsive Web Design &amp; WorkflowResponsive Web Design &amp; Workflow
Responsive Web Design &amp; Workflowhouhr
 
Responsive Design Talk @ Toronto Dev Derby March
Responsive Design Talk @ Toronto Dev Derby MarchResponsive Design Talk @ Toronto Dev Derby March
Responsive Design Talk @ Toronto Dev Derby Marchthemystic_ca
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascriptnlwebperf
 
Performance & Responsive Web Design
Performance & Responsive Web DesignPerformance & Responsive Web Design
Performance & Responsive Web DesignZach Leatherman
 
Keys to Responsive Design
Keys to Responsive DesignKeys to Responsive Design
Keys to Responsive DesignTim Wright
 
A Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: IntroductionA Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: IntroductionMongoDB
 
Morning with MongoDB Paris 2012 - Accueil et Introductions
Morning with MongoDB Paris 2012 - Accueil et IntroductionsMorning with MongoDB Paris 2012 - Accueil et Introductions
Morning with MongoDB Paris 2012 - Accueil et IntroductionsMongoDB
 
Core Data in Motion
Core Data in MotionCore Data in Motion
Core Data in MotionLori Olson
 
Scaling Pinterest
Scaling PinterestScaling Pinterest
Scaling PinterestC4Media
 
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign WorkshopGoldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign WorkshopKim Chee Leong
 
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)Balanced Team
 
MySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Brasil
 

Similar to Mobileweb (20)

Things I hate to do as a designer but do anyway
Things I hate to do as a designer but do anywayThings I hate to do as a designer but do anyway
Things I hate to do as a designer but do anyway
 
Stepping into Usable Web
Stepping into Usable WebStepping into Usable Web
Stepping into Usable Web
 
Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)Get responsive in 30 minutes (WordCamp Sofia)
Get responsive in 30 minutes (WordCamp Sofia)
 
Presentacion Ushahidi - #redflexion Madrid Nov 2012
Presentacion Ushahidi - #redflexion Madrid Nov 2012Presentacion Ushahidi - #redflexion Madrid Nov 2012
Presentacion Ushahidi - #redflexion Madrid Nov 2012
 
Adapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the futureAdapt and respond: keeping responsive into the future
Adapt and respond: keeping responsive into the future
 
An Event Apart - Conference Takeaways
An Event Apart - Conference TakeawaysAn Event Apart - Conference Takeaways
An Event Apart - Conference Takeaways
 
Responsive Web Design &amp; Workflow
Responsive Web Design &amp; WorkflowResponsive Web Design &amp; Workflow
Responsive Web Design &amp; Workflow
 
2001: A Web Odyssey
2001: A Web Odyssey2001: A Web Odyssey
2001: A Web Odyssey
 
HTML5 and Sencha Touch
HTML5 and Sencha TouchHTML5 and Sencha Touch
HTML5 and Sencha Touch
 
Responsive Design Talk @ Toronto Dev Derby March
Responsive Design Talk @ Toronto Dev Derby MarchResponsive Design Talk @ Toronto Dev Derby March
Responsive Design Talk @ Toronto Dev Derby March
 
Hyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and JavascriptHyves: Mobile app development with HTML5 and Javascript
Hyves: Mobile app development with HTML5 and Javascript
 
Performance & Responsive Web Design
Performance & Responsive Web DesignPerformance & Responsive Web Design
Performance & Responsive Web Design
 
Keys to Responsive Design
Keys to Responsive DesignKeys to Responsive Design
Keys to Responsive Design
 
A Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: IntroductionA Morning with MongoDB Barcelona: Introduction
A Morning with MongoDB Barcelona: Introduction
 
Morning with MongoDB Paris 2012 - Accueil et Introductions
Morning with MongoDB Paris 2012 - Accueil et IntroductionsMorning with MongoDB Paris 2012 - Accueil et Introductions
Morning with MongoDB Paris 2012 - Accueil et Introductions
 
Core Data in Motion
Core Data in MotionCore Data in Motion
Core Data in Motion
 
Scaling Pinterest
Scaling PinterestScaling Pinterest
Scaling Pinterest
 
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign WorkshopGoldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
Goldmund, Wyldebeast & Wunderliebe - Responsive Webdesign Workshop
 
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)
Lean UX Principles in Practice (Zach Larson on SideReel's iOS App)
 
MySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Cluster no PayPal
MySQL Cluster no PayPal
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

Mobileweb

  • 1. MOBILE WEB and why there shouldn’t be a mobile web Wednesday, November 21, 12
  • 3. • Jorge Braz • web developer @ Labs SAPO/UA • jorge-braz@telecom.pt Wednesday, November 21, 12
  • 5. MOBILE WEB • web vs. native • responsive web (web apps vs. web pages) • sapo mobile framework • mobile web development tools • mobile tips Wednesday, November 21, 12
  • 6. WEB VS NATIVE Wednesday, November 21, 12
  • 9. WEB • PHP, Rails, whatever server side language • HTML5 • CSS3 • JS Wednesday, November 21, 12
  • 11. 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
  • 13. 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
  • 15. NATIVE • iOS (Objective-C) • Android (Java) • WP7 (some crappy thing) • WP8 (HTML+CSS+JS ... wait ... what?) Wednesday, November 21, 12
  • 17. 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
  • 19. 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
  • 21. 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
  • 22. RESPONSIVE WEB Wednesday, November 21, 12
  • 23. 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
  • 25. WHAT IS IT ABOUT? Wednesday, November 21, 12
  • 26. WHAT IS IT ABOUT? • media queries • viewport tag Wednesday, November 21, 12
  • 28. MEDIA QUERIES • width • color • height • color-index • device-width • monochrome • device-height • resolution • orientation • scan • aspect-ratio • grid • device-aspect-ratio • device-pixel-ratio Wednesday, November 21, 12
  • 30. 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
  • 32. MEDIA QUERIES mobile 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
  • 34. 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
  • 39. 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
  • 40. BUT WHAT IS IT REALLY ABOUT? Wednesday, November 21, 12
  • 41. WHAT IS IT REALLY ABOUT? Wednesday, November 21, 12
  • 42. 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
  • 43. SO WHY DO WE HAVE MOBILE SPECIFIC WEBSITES? m.facebook.com mobile.twitter.com m.yahoo.com m.sapo.pt gmail.com Wednesday, November 21, 12
  • 45. 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
  • 46. ONE SITE USE CASE TICKETLINE.PT Wednesday, November 21, 12
  • 47. ONE SITE USE CASE TICKETLINE.PT • 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 Wednesday, November 21, 12
  • 48. TWO SITES USE CASE SAPO.PT vs M.SAPO.PT Wednesday, November 21, 12
  • 49. TWO SITES USE CASE SAPO.PT vs M.SAPO.PT • 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 Wednesday, November 21, 12
  • 51. 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
  • 53. 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
  • 55. 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
  • 56. SAPO MOBILE FRAMEWORK Wednesday, November 21, 12
  • 58. WHAT IS IT? Wednesday, November 21, 12
  • 59. 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
  • 61. 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
  • 62. YEAH... IT’S NOT EASY TRYING TO SUPPORT EVERY SINGLE DEVICE. Wednesday, November 21, 12
  • 63. MOBILE DEVELOPMENT TOOLS Wednesday, November 21, 12
  • 64. MOBILE DEV TOOLS Wednesday, November 21, 12
  • 65. 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
  • 68. 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
  • 70. 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
  • 72. 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
  • 74. 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
  • 75. HTML5 INPUT TYPES text number e-mail Wednesday, November 21, 12
  • 76. HTML5 INPUT TYPES url tel date Wednesday, November 21, 12
  • 77. ADD TO HOMESCREEN Wednesday, November 21, 12
  • 78. ADD TO HOMESCREEN • Google Maps on iOS Wednesday, November 21, 12
  • 79. HTML5BOILERPLATE.COM HTML5BOILERPLATE.COM/MOBILE Wednesday, November 21, 12
  • 88. VERSÃO ORIGINAL: • Luis Carmona • webdesigner @ SAPO Multiplataforma • lpccarmona@gmail.com • luiscarmona.net Wednesday, November 21, 12