SlideShare a Scribd company logo
1 of 27
Download to read offline
Building Mobile
Websites with
ASP.NET MVC 3 & 4
Damian Brady
http://www.damianbrady.com.au
Twitter: @damovisa | #vicnet


               Delivering Awesome Web Applications
Agenda
Why Target Mobile Devices?
Zero to MVP in ASP.NET MVC
Targeting Mobile Devices
Why Target Mobile Devices?
          ?
          More than ⅓ of Australians
           access the Internet on their
           mobile1
          In the US, 87% of smartphone
           owners use it to access the
           Internet2
          In Egypt, 70% of people
           access the Internet exclusively
           on smartphones3

1. AIMIA - http://www.aimia.com.au/home/news/member-news/aimia-releases-sixth-annual-australian-mobile-phone-lifestyle-index
2. PEW Internet - http://www.pewinternet.org/Reports/2011/Smartphones.aspx
3. Phil Haack @ Build - http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-803T
Commbank.com
Australia.gov.au
Msdn.com
Asp.net
Apple.com
Sound Familiar?


  “It only works on a desktop browser”
              is the new
          “It only works in IE”
Why?
   It doesn’t matter

   It’s too hard
Why it Matters
   Tablets and mobiles

   Bad experience = lost customer



What about Intranet?

   Remember IE6?
Too Hard?
   No.

   MVC is perfect for multiple devices



   Understand what’s happening and you’ll be fine
Our MVP
Basic survey site
5 questions for each survey
Looks nice on mobile
You have 51 minutes
Targeting Mobile Sites
   Viewport Metatags

   CSS Media Queries

   User-Agent Sniffing
Visual Viewport




                  Layout Viewport
Viewport Metatags
   Least effort

   Less than perfect results

   Same content sent
CSS Media Queries
   Supported by most mobile
    devices

   Adaptive layouts

   Needs a good structure

   Some content can break it

   Same content sent + more
User-Agent Sniffing
   iPhone 4:
    Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us)
    AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293
    Safari/6531.22.7
   HTC Desire:
    Mozilla/5.0 (Linux; U; Android 2.3.7; en-au; HTC Desire Build/GRI40)
    AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile
    Safari/533.1
   Windows Mobile:
    Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5;
    Trident/5.0; IEMobile/9.0; <manufacturer>; <model> [;<operator])
User-Agent Sniffing
   Best Results

   Targeted (less) content

   Most effort

   Needs maintenance
Zero to Everywhere
Mobile is important
EF + MVC = MVP
Target Mobile Devices:
     Viewport metatag
     Adaptive CSS
     User-agent sniffing
Top Tips
If starting from scratch:

1.   Think about your structure and CSS

2.   Never use flash or mouseover
     events

3.   Don’t redirect or change the URL

If modifying for mobile:

1.   Start with general changes and get
     more specific

2.   Make use of tools and nuget
     packages
3 things…

   DamianBrady@ssw.com.au

   http://www.damianbrady.com.au


   @damovisa
Thank You!
Sydney | Melbourne | Brisbane | Adelaide



info@ssw.com.au

www.ssw.com.au




                                           Delivering Awesome Web Applications

More Related Content

More from damovisa

DevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGDevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGdamovisa
 
Deploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDCDeploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDCdamovisa
 
The Power of a Great API
The Power of a Great APIThe Power of a Great API
The Power of a Great APIdamovisa
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotdamovisa
 
Hack your process
Hack your processHack your process
Hack your processdamovisa
 
How to be a good TFS Master
How to be a good TFS MasterHow to be a good TFS Master
How to be a good TFS Masterdamovisa
 

More from damovisa (6)

DevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUGDevOps for Any Language - CTTDNUG
DevOps for Any Language - CTTDNUG
 
Deploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDCDeploying Straight to Production: A Guide to the Holy Grail - PrDC
Deploying Straight to Production: A Guide to the Holy Grail - PrDC
 
The Power of a Great API
The Power of a Great APIThe Power of a Great API
The Power of a Great API
 
Octopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiotOctopus Deploy and how to stop deploying like an idiot
Octopus Deploy and how to stop deploying like an idiot
 
Hack your process
Hack your processHack your process
Hack your process
 
How to be a good TFS Master
How to be a good TFS MasterHow to be a good TFS Master
How to be a good TFS Master
 

Recently uploaded

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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!
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Building Mobile Websites with ASP.NET MVC 3 & 4

  • 1. Building Mobile Websites with ASP.NET MVC 3 & 4 Damian Brady http://www.damianbrady.com.au Twitter: @damovisa | #vicnet Delivering Awesome Web Applications
  • 2. Agenda Why Target Mobile Devices? Zero to MVP in ASP.NET MVC Targeting Mobile Devices
  • 3. Why Target Mobile Devices?  ?  More than ⅓ of Australians access the Internet on their mobile1  In the US, 87% of smartphone owners use it to access the Internet2  In Egypt, 70% of people access the Internet exclusively on smartphones3 1. AIMIA - http://www.aimia.com.au/home/news/member-news/aimia-releases-sixth-annual-australian-mobile-phone-lifestyle-index 2. PEW Internet - http://www.pewinternet.org/Reports/2011/Smartphones.aspx 3. Phil Haack @ Build - http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-803T
  • 9. Sound Familiar? “It only works on a desktop browser” is the new “It only works in IE”
  • 10. Why?  It doesn’t matter  It’s too hard
  • 11. Why it Matters  Tablets and mobiles  Bad experience = lost customer What about Intranet?  Remember IE6?
  • 12. Too Hard?  No.  MVC is perfect for multiple devices  Understand what’s happening and you’ll be fine
  • 13. Our MVP Basic survey site 5 questions for each survey Looks nice on mobile You have 51 minutes
  • 14.
  • 15. Targeting Mobile Sites  Viewport Metatags  CSS Media Queries  User-Agent Sniffing
  • 16. Visual Viewport Layout Viewport
  • 17.
  • 18. Viewport Metatags  Least effort  Less than perfect results  Same content sent
  • 19.
  • 20. CSS Media Queries  Supported by most mobile devices  Adaptive layouts  Needs a good structure  Some content can break it  Same content sent + more
  • 21.
  • 22. User-Agent Sniffing  iPhone 4: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7  HTC Desire: Mozilla/5.0 (Linux; U; Android 2.3.7; en-au; HTC Desire Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1  Windows Mobile: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; <manufacturer>; <model> [;<operator])
  • 23. User-Agent Sniffing  Best Results  Targeted (less) content  Most effort  Needs maintenance
  • 24. Zero to Everywhere Mobile is important EF + MVC = MVP Target Mobile Devices: Viewport metatag Adaptive CSS User-agent sniffing
  • 25. Top Tips If starting from scratch: 1. Think about your structure and CSS 2. Never use flash or mouseover events 3. Don’t redirect or change the URL If modifying for mobile: 1. Start with general changes and get more specific 2. Make use of tools and nuget packages
  • 26. 3 things…  DamianBrady@ssw.com.au  http://www.damianbrady.com.au  @damovisa
  • 27. Thank You! Sydney | Melbourne | Brisbane | Adelaide info@ssw.com.au www.ssw.com.au Delivering Awesome Web Applications