Developing for Mobile

A discussion on how to not exclude customers



Created by Brian Duffey

Who am I?


  • Brian Duffey
  • 4 years consultant at michaels, ross, and cole
    m-Power
  • 4+ years web application developer
  • 3 years on mobile application solutions

Roadmap

  1. Introduction
  2. Traditional vs. Mobile
    • Differences
    • Concerns
  3. What can you do?
    • Native
    • Web App
    • Hybrid
  4. Conclusion
    • What will you do?

Roadmap

  1. Introduction
  2. Traditional vs. Mobile
    • Differences
    • Concerns
  3. What can you do?
    • Native
    • Web App
    • Hybrid
  4. Conclusion
    • What will you do?

Has anyone done any mobile work?


Good Mobile Sites


Not So Good Mobile Sites


Traditional vs. Mobile

Taken from http://unit1project.web.unc.edu
Taken from http://xkcd.com
Taken from http://xkcd.com

Traditional vs. Mobile


Traditional vs. Mobile
  • Layout
  • Design
  • Interactivity
  • Touch
  • Speed
  • Agility
  • Connectivity
  • Input

Traditional vs. Mobile

Touch

  • Mouse and cursor vs. Finger
  • Pressable areas should be 45-72 pixels wide
    Taken from http://www.smashingmagazine.com
    Taken from http://www.smashingmagazine.com
  • The reach zone:  
    Taken from http://www.lukew.com
  • Destructive buttons require more space

Traditional vs. Mobile

Speed

  • Average attention span is ~8 seconds
  • .5 second delay = 20% drop in traffic
  • 50% will abandon if not loaded in 3 seconds
  • 79% will refuse to return to a site
  • 44% will tell friends/family to avoid
  • Take advantage of perceived speed
Taken from http://blog.allmyfaves.com

Traditional vs. Mobile

Agility


  • Waterfall or linear approach is more traditional
  • Agile approach might be quicker
  • Comparison:
    Taken from http://www.agilenutshell.com

Traditional vs. Mobile

Connectivity




  • Everyone has experienced the dreaded "no signal"
  • Build in offline modes?
  • Turn off app when no connection?
  • Turn off some parts of the app?

Traditional vs. Mobile

Input


  • Virtual keyboards are 2.72 times slower
  • Make input as easy as possible for users
  • Kayak uses GPS and calendar
  • Dribble demo by Murat Mutlu uses camera for input
  • Kickstarter checks for typos
Taken from https://econsultancy.com
Taken from https://econsultancy.com
Taken from https://econsultancy.com

Traditional vs. Mobile

Traditional vs. Mobile

Why is this a concern?

  • Why change if we'll soon be on to other devices?
  • As of January 2014, mobile device traffic overtook PC
  • Basic websites are not built for mobile
Taken from http://searchenginewatch.com

Roadmap

  1. Introduction
  2. Traditional vs. Mobile
    • Differences
    • Concerns
  3. What can you do?
    • Native
    • Web App
    • Hybrid
  4. Conclusion
    • What will you do?

What can you do?


Taken from http://forbes.com

What can you do?

Native

Def.: written in language of device and installed locally

Pros Con
  • Best performance
  • Least connectivity issues
  • High visibility in app store
  • Transactions handled by app store
  • Most expensive in terms of money and time
  • Little reusability across devices
  • App store requires approval
  • App store takes cut from revenue

What can you do?

Native - OS

iOS Android Windows Mobile
Taken from http://www.macobserver.com/

What can you do?

Web Apps

Def.: software that runs in browser, uses HTML, CSS, JavaScript

Pros Con
  • Most universal approach
  • Written in simpler languages
  • Performance is increasing
  • No app store or installation
  • Updates can be pushed out quickly
  • Runs on interpreted code
  • Not able to access all hardware features
  • All advertising and marketing must be done by you
  • Browsers still do not all agree

What can you do?

Web Apps - HTML5


What it is What it is not
  • Added semantic elements to make code easier to read
  • Added input elements such as date and time
  • Added new features like web workers and offline app support
  • Not a type of app
  • Not something different than HTML
  • No conversion process
  • Not responsible for appearance

What can you do?

Web Apps - Techniques

Adaptive Responsive
Identifies user's device and serves up a prepared layer for them Uses a fluid structure to display one layer in different ways
Taken from http://www.nitinh.com
Taken from http://stild.com

What can you do?

Hybrid

Def.: uses a native wrapper or compiler to display one set of code across multiple devices

Pros Con
  • Quicker development time than native
  • May be able to access all hardware features
  • Uses app store
  • Uses app store
  • Performance is not as good as native

What can you do?

Hybrid - Types

WebView

  • Native wrapper to display web app



Compiled

  • Written in language that gets compiled into native languages

Roadmap

  1. Introduction
  2. Traditional vs. Mobile
    • Differences
    • Concerns
  3. What can you do?
    • Native
    • Web App
    • Hybrid
  4. Conclusion
    • What will you do?

Conclusion


  • You should already have a website
  • You should also ensure your website is mobile compatible
  • The real question is not native vs. web app
  • The real question is do you need a native app as well

Conclusion

Questions to ask


  1. Does my target audience need this?
  2. What devices do my target audience use?
  3. Will this integrate into my existing systems?
  4. What hardware capabilities are needed?
  5. How will future maintenance be handled?

Conclusion

What do you need?

  • Native - Best performance, most costly
  • Web App - Universal approach, not capable of every feature
  • Hybrid - Features of a native, performance of a webapp
Taken from http://wiay3s2amryahya.blogspot.com

Links

Credits

  • http://www.impactbnd.com/blog/9-awesome-examples-of-effective-mobile-website-design
  • http://www.abercrombie.com/
  • http://www.cariboucoffee.com
  • http://www.mountaindew.com/
  • http://www.webpagesthatsuck.com/dailysucker
  • http://www.legislature.state.al.us/aliswww/aliswww.aspx
  • http://judiciary.house.gov/index.cfm/press-releases?ID=62B4FDF5-C8F8-4674-9C2B-08E9A0E7E908
  • http://www.velokraft.com/
  • http://www.penthouse-magic.com/9-essential-responsive-web-design-best-practices/
  • http://www.smashingmagazine.com/2012/02/21/finger-friendly-design-ideal-mobile-touchscreen-target-sizes/
  • http://www.mrc-productivity.com/blog/2014/11/6-development-mistakes-that-will-kill-a-mobile-app/
  • http://www.mrc-productivity.com/blog/2014/04/10-keys-to-a-great-mobile-user-experience/
  • http://glinden.blogspot.com/2006/11/marissa-mayer-at-web-20.html
  • https://blog.kissmetrics.com/speed-is-a-killer/
  • http://www.statisticbrain.com/attention-span-statistics/
  • http://www.mobify.com/blog/beginners-guide-to-perceived-performance/
  • http://www.agilenutshell.com/agile_vs_waterfall
  • https://econsultancy.com/blog/64669-21-first-class-examples-of-effective-web-form-design/
  • http://searchenginewatch.com/sew/opinion/2353616/mobile-now-exceeds-pc-the-biggest-shift-since-the-internet-began
  • http://www.sitepoint.com/native-hybrid-or-web-apps/
  • http://www.macobserver.com/tmo/article/isuppli_joins_others_in_predicting_windows_phones_edge_over_ios_by_2015
  • https://econsultancy.com/blog/64914-what-is-adaptive-web-design-awd-and-when-should-you-use-it/
  • http://www.lukew.com/ff/entry.asp?1649