SlideShare a Scribd company logo
1 of 44
Download to read offline
Think
                            Mobile
                            First
                            Then
                            Enhance
Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
@karlpro   Karl Dubost
           Opera Software
           Developer Relations




             Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Toys?




Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Mobile?




      Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Mobile?




      Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
How far
is the
screen?




    Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Screens…




           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
WAP, C-HTML, …




Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Do Nothing




             Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Liquid or
Semi-Liquid
Layout




     Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
www.                                                 m.




   Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
User Agent Sniffing?




            Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
User Agent Sniffing!




 Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
User Agents…




          Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Cookies… if not then




     Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
HTML




       Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
viewport




           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
viewport


  <meta name="viewport" content="wi




                                   See @goetter
                                   http://slidesha.re/ew4LVM

             Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
media
queries




    Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
mediaqueries
See @ppk
http://www.quirksmode.org/blog/archives/2010/09/combining_meta.html



body {// basic styles}

@media all and (max-width: 600px) {
  body {// extra styles for mobile}}




                           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
user experience




            Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Mobile strategy… mess.




           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Logs & Market Share




            Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Ouch!




        Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
User agent… again




Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Meh…




       Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Time To Think




Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Simplicity, Basics, Users




         Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
mediaqueries
See @ppk
http://www.quirksmode.org/blog/archives/2010/09/combining_meta.html



body {// basic styles}

@media all and (max-width: 600px) {
  body {// extra styles for mobile}}

@media all and (min-width: 600px) {
  body {// extra styles for desktop}}




                           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Tools & Techniques




            Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Co-hosted files




           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Sprites




          Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
gzip




       Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
remote debugging




           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Opera Dragonfly




           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
love hate




            Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Understand Users




           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Think mobile first

how come this
more usable
on desktop too



           Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
Karl Dubost
@karlpro
my.opera.com/karlcow


questions?




                Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow

More Related Content

More from ConFoo

The business behind open source
The business behind open sourceThe business behind open source
The business behind open sourceConFoo
 
Security 202 - Are you sure your site is secure?
Security 202 - Are you sure your site is secure?Security 202 - Are you sure your site is secure?
Security 202 - Are you sure your site is secure?ConFoo
 
OWASP Enterprise Security API
OWASP Enterprise Security APIOWASP Enterprise Security API
OWASP Enterprise Security APIConFoo
 
Opensource Authentication and Authorization
Opensource Authentication and AuthorizationOpensource Authentication and Authorization
Opensource Authentication and AuthorizationConFoo
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesConFoo
 
Le bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuagesLe bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuagesConFoo
 
The Solar Framework for PHP
The Solar Framework for PHPThe Solar Framework for PHP
The Solar Framework for PHPConFoo
 
Décrire un projet PHP dans des rapports
Décrire un projet PHP dans des rapportsDécrire un projet PHP dans des rapports
Décrire un projet PHP dans des rapportsConFoo
 
Server Administration in Python with Fabric, Cuisine and Watchdog
Server Administration in Python with Fabric, Cuisine and WatchdogServer Administration in Python with Fabric, Cuisine and Watchdog
Server Administration in Python with Fabric, Cuisine and WatchdogConFoo
 
Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+ConFoo
 
Metaprogramming in Ruby
Metaprogramming in RubyMetaprogramming in Ruby
Metaprogramming in RubyConFoo
 
Scalable Architecture 101
Scalable Architecture 101Scalable Architecture 101
Scalable Architecture 101ConFoo
 
As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?ConFoo
 
Pragmatic Guide to Git
Pragmatic Guide to GitPragmatic Guide to Git
Pragmatic Guide to GitConFoo
 
Building servers with Node.js
Building servers with Node.jsBuilding servers with Node.js
Building servers with Node.jsConFoo
 
An Overview of Flash Storage for Databases
An Overview of Flash Storage for DatabasesAn Overview of Flash Storage for Databases
An Overview of Flash Storage for DatabasesConFoo
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump StartConFoo
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with FlexConFoo
 
WordPress pour le développement d'aplications web
WordPress pour le développement d'aplications webWordPress pour le développement d'aplications web
WordPress pour le développement d'aplications webConFoo
 
Graphs, Edges & Nodes: Untangling the Social Web
Graphs, Edges & Nodes: Untangling the Social WebGraphs, Edges & Nodes: Untangling the Social Web
Graphs, Edges & Nodes: Untangling the Social WebConFoo
 

More from ConFoo (20)

The business behind open source
The business behind open sourceThe business behind open source
The business behind open source
 
Security 202 - Are you sure your site is secure?
Security 202 - Are you sure your site is secure?Security 202 - Are you sure your site is secure?
Security 202 - Are you sure your site is secure?
 
OWASP Enterprise Security API
OWASP Enterprise Security APIOWASP Enterprise Security API
OWASP Enterprise Security API
 
Opensource Authentication and Authorization
Opensource Authentication and AuthorizationOpensource Authentication and Authorization
Opensource Authentication and Authorization
 
Introduction à la sécurité des WebServices
Introduction à la sécurité des WebServicesIntroduction à la sécurité des WebServices
Introduction à la sécurité des WebServices
 
Le bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuagesLe bon, la brute et le truand dans les nuages
Le bon, la brute et le truand dans les nuages
 
The Solar Framework for PHP
The Solar Framework for PHPThe Solar Framework for PHP
The Solar Framework for PHP
 
Décrire un projet PHP dans des rapports
Décrire un projet PHP dans des rapportsDécrire un projet PHP dans des rapports
Décrire un projet PHP dans des rapports
 
Server Administration in Python with Fabric, Cuisine and Watchdog
Server Administration in Python with Fabric, Cuisine and WatchdogServer Administration in Python with Fabric, Cuisine and Watchdog
Server Administration in Python with Fabric, Cuisine and Watchdog
 
Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+Marrow: A Meta-Framework for Python 2.6+ and 3.1+
Marrow: A Meta-Framework for Python 2.6+ and 3.1+
 
Metaprogramming in Ruby
Metaprogramming in RubyMetaprogramming in Ruby
Metaprogramming in Ruby
 
Scalable Architecture 101
Scalable Architecture 101Scalable Architecture 101
Scalable Architecture 101
 
As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?As-t-on encore besoin d'un framework web ?
As-t-on encore besoin d'un framework web ?
 
Pragmatic Guide to Git
Pragmatic Guide to GitPragmatic Guide to Git
Pragmatic Guide to Git
 
Building servers with Node.js
Building servers with Node.jsBuilding servers with Node.js
Building servers with Node.js
 
An Overview of Flash Storage for Databases
An Overview of Flash Storage for DatabasesAn Overview of Flash Storage for Databases
An Overview of Flash Storage for Databases
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with Flex
 
WordPress pour le développement d'aplications web
WordPress pour le développement d'aplications webWordPress pour le développement d'aplications web
WordPress pour le développement d'aplications web
 
Graphs, Edges & Nodes: Untangling the Social Web
Graphs, Edges & Nodes: Untangling the Social WebGraphs, Edges & Nodes: Untangling the Social Web
Graphs, Edges & Nodes: Untangling the Social Web
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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!
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Think Mobile First, Then Enhance

  • 1. Think Mobile First Then Enhance Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 2. @karlpro Karl Dubost Opera Software Developer Relations Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 3. Toys? Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 4. Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 5. Mobile? Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 6. Mobile? Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 7. Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 8. Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 9. How far is the screen? Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 10. Screens… Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 11. WAP, C-HTML, … Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 12. Do Nothing Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 13. Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 14. Liquid or Semi-Liquid Layout Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 15. www. m. Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 16. User Agent Sniffing? Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 17. User Agent Sniffing! Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 18. User Agents… Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 19. Cookies… if not then Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 20. HTML Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 21. viewport Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 22. viewport <meta name="viewport" content="wi See @goetter http://slidesha.re/ew4LVM Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 23. media queries Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 24. mediaqueries See @ppk http://www.quirksmode.org/blog/archives/2010/09/combining_meta.html body {// basic styles} @media all and (max-width: 600px) { body {// extra styles for mobile}} Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 25. Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 26. user experience Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 27. Mobile strategy… mess. Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 28. Logs & Market Share Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 29. Ouch! Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 30. User agent… again Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 31. Meh… Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 32. Time To Think Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 33. Simplicity, Basics, Users Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 34. mediaqueries See @ppk http://www.quirksmode.org/blog/archives/2010/09/combining_meta.html body {// basic styles} @media all and (max-width: 600px) { body {// extra styles for mobile}} @media all and (min-width: 600px) { body {// extra styles for desktop}} Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 35. Tools & Techniques Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 36. Co-hosted files Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 37. Sprites Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 38. gzip Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 39. remote debugging Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 40. Opera Dragonfly Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 41. love hate Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 42. Understand Users Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 43. Think mobile first how come this more usable on desktop too Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow
  • 44. Karl Dubost @karlpro my.opera.com/karlcow questions? Think Mobile First, Then Enhance - Karl Dubost - http://my.opera.com/karlcow