Developing for Mobility


Published on

Presentation for Stanford IT Open House 2011, by Brian Young and Scotty Logan

Published in: Technology, Business
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • \n
  • [twitter]starting the mobile web talk, with co-presenter @auracreations[/twitter]\n\n
  • [twitter]describing the awesomeness of #bdconf[/twitter]\n\n
  • \n\n\n
  • [twitter]I used naughty words before doing mobile development; now I use more[/twitter]\n\n\n\n
  • did any one web developers / designers drop their hands when asked about mobile? Guess what... you’re mobile developers / designers\n\n\n\n
  • Morgan Stanley, via\n\n\n
  • Morgan Stanley, via\n\n\n
  • iPhone - >9,300 (~82%)\niPad - 348\nWindows Mobile - 636\nAndroid - 871\n\nIncludes old devices no longer in use\nbased on user selected OS in NetDB\ndoes not include “builtin” OS choice\n\n\n\n
  • No Windows Phone 7 or Blackberry showing up\nAgain - not including “built-in” OS\n\nProblematic time for comparison - lots of users are away from campus\n\n\n
  • Safari (iPhone, iPad, Android/Webkit) is now 3% of total homepage traffic\nGoogle Analytics does not break out Windows Mobile and Windows Phone 7\nOnly includes browers with javascript enabled\n\n\n
  •\ndoes not include wifi-only iPad and iPod touch\n\n\n\n
  •\ndoes not include wifi-only iPad and iPod touch\n\n\n
  •\ndoes not include wifi-only iPad and iPod touch\n\n\n
  •\ndoes not include wifi-only iPad and iPod touch\n\n\n
  • [twitter]Gomez When Seconds Count report[/twitter]\n\n\n\n
  • Repetitive now - deleting mail in the morning\nBored now - need something to do while in line, waiting for meeting to start, etc.\nUrgent now - I’m running late, which gate is my plane leaving from?\n\n\n\n
  • [twitter]@ppk’s mobile browser feature compatibility list[/twitter]\nPeople don't really surf the web using the bad browsers, unless they have to\n\n\n \n
  • Brian Fling @fling #bdconf offers clients a web app for less than full cost, because it’s the right thing to do; client always choose to pay more for a native app\n\n\n\n
  • Well, mostly everywhere... might need some tweaks\nInstalled web pages have icons like regular apps\nW3C and others are working on device APIs; security remains an issue (for regular web pages)\n\nThere’s standardization work on device APIs at too\n\n\n\n
  • [twitter]native app wrappers for web apps: and[/twitter]\nAlso Rhombile, but it uses a custom language\n\n\n
  • SEO is all about links\nWhile you can create links to apps (on most devices), they’ll fail horribly if the user doesn’t have the app installed\n\n
  • \n
  • \n
  • \n
  • There may be cases where you have to do this\n\nWe’ll talk about redirects shortly\n\n\n\n\n\n
  • [twitter]lynx is the ultimate test of content first / progressive enhancement[/twitter]\n\n\n
  • [twitter]Original Responsive Web Design article:[/twitter]\n\n\n\n
  • [twitter]@grigs’ response to responsive design:[/twitter]\n\n\n\n
  • [twitter]@lukew’s mobile first talk[/twitter]\n\n\n\n
  • \n
  • While you’re redesigning your site, make sure you keep it accessible\nAvoid fixed viewports\n\n\n
  • Some frameworks do this; many tutorials suggest this\nWorks more like a native app!\n
  • Lets user pinch and zoom to see details, or to make controls more readable and more accessible\n
  • RFC2616 (HTTP 1/.1 specification), section 8.1.4 "Practical Considerations" states:\nA single-user client SHOULD NOT maintain more than 2 connections with any server or proxy\n\n\n
  • [twitter]Use firebug in firefox, or the web console in Safari / Chrome to see requests made by browser[/twitter]\n\nThis is from, but Firebug in Firefox and the web console in Safari / Chrome also provide similar tools\n\n
  • This is from, but Firebug in Firefox and the web console in Safari / Chrome also provide similar tools\n\n
  • [twitter]Aggregate & minimize CSS & Javascript, using tools like[/twitter]\n\n
  • tinysrc and wurfl cache images\n[twitter]Base64 encoding images:[/twitter]\n[twitter]CSS sprites:[/twitter]\n\n\n
  • iOS simulator is part of XCode\nAndroid emulator on Linux, Mac, Windows\nUse desktop browsers with performance tools\nUse YSlow, etc.\n\n\n\n\n
  • [twitter]Mobile Aware Web Project [/twitter]\n\n (June 2011)\n (Summer 2011)\n (Summer 2011)\n (Summer 2011)\n (Summer 2011)\n (Summer 2011)\nacademic calendar on registrar site (Summer 2011)\n\n\n\n
  • [twitter]Modernizr - [/twitter]\n[twitter] generate detection scripts for common languages, and mod_rewrite[/twitter]\n\n\n\n\n
  • \n
  • [twitter]useful mobile sites: [/twitter]\n[twitter]Scotty’s mobile list:!/scottylogan/mobile [/twitter]\n\n\n\n
  • \n
  • Developing for Mobility

    1. 1. Designing for Mobility
    2. 2. Who Are We?Brian Young Scotty LoganInterface Designer IT Architect& Web DeveloperFirst web page: 1998 First web page: 1993First web server: 1998 First web server: 1994
    3. 3. for #bdconf on twitter & slideshare
    4. 4. TwitterWe’ll make references to twitterEveryone at #bdconf uses twitter Scotty @scottylogan Brian @auracreationsWe’re tweeting now Search for #suitoh11
    5. 5. WarningMobile developers sometimes use naughty words
    6. 6. Quick SurveyDo you have... iPhone (iPod Touch?) iPad Android (tablet?) Blackberry Palm Pre / Win Phone 7 / smartphone “dumb” / “feature” phone
    7. 7. Quick SurveyHow many of you are web developers or designers? mobile web developers or designers? native mobile app developers? managers of any of the above
    8. 8. Why Mobile MattersMobile web access > non-mobile by 2015Average iPhone user only spends 45% of his on-device time making voice calls
    9. 9. Why Mobile Matters25% in US only use mobile web; 70% in Egypt59% of people have viewed website on phone,then followed up on desktop34% have done the reverse@stephanierieger #bdconf
    10. 10. NetDB by OSiPhoneAndroidWindows MobileiPadSymbianiPodWebOSBlackberryWindows Phone 7
    11. 11. NetDB Active by OSiPhone 5000AndroidWindows Mobile 3750iPad 2500SymbianiPod 1250WebOSBlackberry 0Windows Phone 7 April 2011 July 2011
    12. 12. www.stanford.eduMarch - April 2011 iPhone 20000 Android Win Mobile / WP7 15000 iPad 10000 Symbian iPod 5000 WebOS Blackberry 0 Other April 2011 July 2011
    13. 13. US Mobile Market Oct ‘10 Jan ‘11 May ‘11 30% 22.5% 15% 7.5% 0% Samsung LG Motorola RIM Apple Other
    14. 14. US Smartphone Market Oct ‘10 Jan ‘11 May ‘11 40% 30% 20% 10% 0% Google RIM Apple Microsoft Palm Other
    15. 15. Global Mobile Market 2009 2010 201140%30%20%10%0% Nokia Samsung LG RIM Apple Sony E.Motorola ZTE HTC Huawei Others Gartner, February 2011
    16. 16. Global Smartphone Market 2009 2010 2011 50%37.5% 25%12.5% 0% Symbian Google RIM Apple Microsoft Other Gartner, February 2011
    17. 17. Speed Matters17% of people will not wait more than5 seconds for a mobile web site to load Gomez “When Seconds Count”
    18. 18. Speed MattersGoogle breaks downmobile usersinto3 behavior groupsRepetitive nowBored nowUrgent now
    19. 19. Where is mobile used?82% of mobile web use at homeWaiting in lineMost tablet use 6pm - 10pm (in bed?)@lukew #bdconf
    20. 20. Mobile Browser EnvironmentGood Browsers Not So Good Browsers iOS, Android, Feature phones and Opera Mobile, everything else new Blackberry, No support for WebOS HTML5, CSS3 or JS Support most of WP7 for now :-( HTML5, CSS3, JS @ppks mobile browser feature compatibility list  
    21. 21. Mobile is PersonalAnywhere, anytime accessAccess to user location, camera, addressbook, phone functionality, etc.Touch and gesture controlEven babies can play games on the iPad
    22. 22. AppsWhat is an App?Everyone wants Apps Do you really need one?Native or Web App?
    23. 23. Native AppCoded in multiple languages, tools: Objective C and XCode (iOS) Eclipse and Java or C++ (Android) ??? and J2ME (Blackberry, older devices) Web tool & Javascript, CSS and HTML (WebOS) .Net Studio and C# (Windows Phone 7)Code cannot be reused across platforms :(In app stores, with 300,000 other apps
    24. 24. Web AppCoded in HTML5, CSS 3, and JavascriptDo it once and available everywhereCan be installed on phoneCan be cached locally even work offlineAccess to local storageNo access to camera, contacts, etc (yet)
    25. 25. Hybrid SolutionsWrap your web app in a native appDevice access (camera, contacts, etc)Available in app storesOpen source PhoneGapCommercial Appcelerator Titanium (fewer devices)
    26. 26. Still need a web siteVisitors and other non local usersSearch Returns links Google does not distinguish between desktop or mobile sitesFeature phonesPhones you dont build for
    27. 27. We like the mobile web
    28. 28. So do these people
    29. 29. Next BDConf is coming
    30. 30. Separate Mobile SiteUsed to be the way to do it When devices had very limited browsersMore maintenanceWhat about new devices? Device detection scrambleUsually means a redirect [BAD]
    31. 31. Progressive Enhancement Deliver a simple site Enhance it based on the capabilities of the browser Media Queries Feature detection (Modernizr) JavaScript CSS3 features
    32. 32. Responsive DesignWebsite should display content reasonablyregardless of device resolution / orientation fluid grids, CSS 3 layouts content priority is maintained content adjusted to the viewable space text scaled to maintain content readabilityEthan Marcotte’s article
    33. 33. Ethan was mostly rightHe was wrong about images Suggested using largest needed image Letting the browser resize Really bad for performanceJason Grigsby: resize images on server
    34. 34. Mobile First!Luke (@lukew) Wroblewskis Mobile First Talk constraints improve design Limited screen real estate on mobile One distracted eyeball, one fat fingerCut the crap, present only the most importantcontentBetter usability = Better experience!
    35. 35. Desktop vs Mobile
    36. 36. or is it Content First?Site Architecture Many people ignore and forget thisUsing all your content might not be theanswer But mobile users often want it allWhat do mobile users need on your site?Use analytics
    37. 37. Why Analytics?Mind reading is no way to basefundamental content decisions @stephanierieger #bdconf
    38. 38. Accessibility If I cant use your awesome website... Its not really that awesome, is it? @stephanierieger #bdconfMake content accessible by everyoneContent accessibility > Presentation styles
    39. 39. ViewportsMobile browsers default to 960px wide but scaled downFine for desktop sites, not for mobile sitesSet the viewport... carefully
    40. 40. Bad ViewportsPinch and Zoom to
    41. 41. Good ViewportsPinch and Zoom to
    42. 42. Performance and OptimizationMobile devices often suffer from Low bandwidth High latency Unreliable connectivity Slower processorsBrowsers only use 2,4, or 6 connectionsto a site
    43. 43. How Pages are Fetched iOS 4.3 uses up to 4 connections
    44. 44. How Pages are Fetched Android 2.2 uses up to 11 connections!
    45. 45. Performance RulesAggregate and minimize your CSS and Javascript But look at all those images!
    46. 46. ImagesResize images on the server WURFL has tools for this images used in CSS Base64 encode images, embed in CSS Use CSS sprites
    47. 47. TestingEmulators / simulators work, up to a point May need Mac and Windows hostsTest with real devices On real networks (3g, Starbucks wifi)In real conditions Outside in sunshine In classrooms
    48. 48. Managing a Mobile SiteContent Management and Maintenance Use database or CMS to manage content Reuse and publish content to multiple locationsWeb Analytics Track usage and behavior Justify the need for mobile optimized sitesContinual Improvement
    49. 49. Mobile Aware Web ProjectSGG funded project, with participants from IT Services University Communications Student AffairsDevelop guidelines and toolsDevelop reference sites, including
    50. 50. What were consideringJQuery Mobile for mobile framework UI elements Base styleModernizr for feature detectionMedia queries for screen size detectionSimple backend device classification mod_rewrite regular expressions FTW! 
    51. 51. Mobile Framework ShowcaseExamples of mobile aware web developed using amobile framework  JQuery Mobile JQ Touch Sencha Touch
    52. 52. More Code!
    53. 53. Resources (@stephanierieger) (@lukew)Tools and Frameworks,, etc@grigs, @snookca, @ppk, etc:!/scottylogan/mobile
    54. 54. Image
    55. 55. Q&A