SlideShare a Scribd company logo
Best Practices in Mobile Development:  Building Your First jQuery Mobile App Handheld Librarian VI February 2, 2012 Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries Chad Mairn Information Services Librarian/Adjunct Professor, St. Petersburg College Chief Technology Officer, Novare Library Services
Some housekeeping … FTP access/directory overview Host:   Username: Password: Just in case, there is a Dropbox folder with the jQuery template available at  http://dl.dropbox.com/u/9567522/jquery-mobile-template.zip   You will have access to your directory for at least 2 weeks so you can finish and test your app on a variety of devices. I'll send everyone an e-mail before the directories are removed so you know when to get your files. A handout powered by Google Docs is available at  http:// goo.gl/ki6lo   We will try our best to answer questions during the presentation, but know that we'll keep track of all questions and answer them either at the end of today’s presentation or through a follow-up.  In a few, fire up your text editor (or Dreamweaver etc.). Happy coding!
A Look Ahead... Native Apps versus Browser Apps jQuery Mobile - how it works Hands-on, building your first app Tips and trends about mobile
Mobile First as Strategy Google programmers are doing work on mobile applications first, because they are better apps and that's what top programmers want to develop.   - Eric Schmidt, Google CEO http://www.eweek.com/c/a/Midmarket/Google-CEO-Eric-Schmidt-at-MWC-Mobile-First-694942/
Native Apps vs. Web/Browser Apps Source:   http://www.webmonkey.com/2010/08/how-do-native-apps-and-web-apps-compare/ Issues Native apps Web apps Internet access Not required Required, except for apps written in HTML5 (offline capabilities) Shareable content (Twitter etc.) Only if it is built in to the app Web links can be shared. Social API’s allow 1-click posting Access to hardware sensors Yes: camera, gyroscope, microphone, compass, accelerometer, GPS Access thru browser is limited. Geolocation works! Development Build app for target platform (Android, iOS [Objective-C]  etc.) Write/publish  once using standard Web technologies, view it anywhere with URL. Speedy debugging and development. Distribution Most app stores require approval. No hassles.
Note:  with Google Analytics you can determine how your user’s are accessing your mobile site (e.g., mobile devices, carriers, browsers , OS’s, screen resolution etc.)  …  can help one decide what to include in a mobile site.
“ Fundamentally, 'mobile' refers to the user, not the device or application.”     Barbara Ballard  Designing the Mobile User Experience
A live mobile web app...  Demos:  Terra - lifeonterra.com Terra mobile - lifeonterra.com/m/ Download: Mobile template -  www.lib.montana.edu/~jason/files/m/ Explanation & blog post - http://wp.me/p8yR-1J Code Samples: http://www.lib.montana.edu/~jason/files.php
 
 
Making the Move to Mobile...
 
Editors and Tools You can use a simple text editor (e.g., Notepad) or a more sophisticated application (e.g., Dreamweaver). Adobe Device Central  is part of Adobe’s CS. iUI:  http://code.google.com/p/iui/  for iPhone. MIT Mobile Web Open Source Project  http://sourceforge.net/projects/mitmobileweb/   Device detection?    http://detectmobilebrowsers.mobi/ To see your browser's HTTP Headers. Works on mobile browsers.  http://rabin.mobi/http Web Developer Toolbar in Firefox: Select Miscellaneous >>> Small Screen Rendering (260 px) >>> the layout will be reformatted to simulate rendering by a mobile browser.
Let’s build this… jQuery Mobile Template http://www.lib.montana.edu/~jason/files/touch-jquery/ Code walkthrough (codelab)
Tips and Trends Mobile Design 2. Mobile Development
The Future of Mobile App Development?
The Future of Mobile App Development?  Web/Browser? Native Apps? “ Smarter browsers” = not required? Other?
Narrow your Focus Do a few things really well What are the core actions?
Know your Audience Run the Analytics Research for Mobile Browser Types
Learn from the Masters View Source -> m.flickr.com "Be Mobile" with User Agent Switcher https://addons.mozilla.org/en-US/firefox/addon/59/ http://woorkup.com/2010/01/10/best-practices-to-develop-perfect-websites-for-iphone-and-mobile-devices/
Study the Interface & Device Scalable Design  Think Percentages 320px AND 480px
Study the Interface & Device Tactile navigation  touch, pinch, spread, flick, spin (gyrometer) Apple recommends a minimum target size:  29px wide 44px tall
Speed FTW, Performance First Limit Images and Markup Limit HTML pages to 25KB to allow for cacheing &quot;Minify&quot; your scripts and CSS JSLint, CleanCSS Take Advantage of HTML5, CSS3 <!DOCTYPE html>
Testing and validation Page Speed in Firebug
W3C mobileOK Checker    http://validator.w3.org/mobile/
Ready.mobi    http://ready.mobi
Respect the URL Follow the &quot;m&quot; convention m.delicious.com OR lifeonterra.com/m/ Keep Categories (directories) Short It's a touch environment, not a typing environment.
Mobile Browsers = Cutting Edge WebKit Browser Engine Supports many HTML5 and CSS3 features Native app functionality  geolocation offline storage web workers
Allow for User Choice Link to Full Site Sniff for User Agent – Detection To redirect, or not to redirect, that is the question
Know Mobile Design Conventions One Column Layout Whitespace is Your Friend Embrace an Economy of Language &quot;Quick Visit&quot; Architecture
Emulators/Simulators:  dotMobi Emulator -  http://mtld.mobi/emulator.php Opera Mini Simulator -  http://www.opera.com/mobile/demo/ Mimic - emulates European and Japanese models: N400i and N505i.   http://pukupi.com/post/2059 Android Emulator -  http://developer.android.com/guide/developing/tools/emulator.html   BlackBerry Device Simulators -  https://www.blackberry.com/Downloads/entry.do?code=060AD92489947D410D897474079C1477 iPhone Dev Center:  http://developer.apple.com/iphone/   Palm Pre -  http://developer.palm.com/   Windows Mobile -  http://msdn.microsoft.com/en-us/windowsmobile/default.aspx JAVA ME - Java Platform Micro Edition was termed J2ME. It is considered one of the most ubiquitous application platform for mobile devices.  http://java.sun.com/javame/reference/apis.jsp  
Mobile Development in Libraries Chad Haefele, Mobile Site Generator http://www.hiddenpeanuts.com/msg/   Jason Casden, WolfWalk at NCSU http://www.lib.ncsu.edu/dli/projects/wolfwalk/   Laurie Bridges and Kim Griggs http://ir.library.oregonstate.edu/jspui/handle/1957/16437
http://www.amazon.com/gp/aw/kindle/storefront/
http://www.simonandschuster.mobi/
http://mobile.usc.edu/
http://m.delicious.com/
http://m.flickr.com
http://m.youtube.com
http://m.npr.org/
http://mobile.twitter.com
http://m.nypl.org
Mobile Screen Resolutions Android (Motorola Droid) 480x854 Android (MyTouch) 320x480 Android (Nexus One) 480x800 Apple iPhone 320x480 Apple iPad 1024x768 Palm Pre 320 x 480 Source: http://insideria.com/2010/05/building-web-sites-optimized-f.html
Contact Information Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries [email_address] twitter.com/jaclark www.jasonclark.info Chad Mairn Information Services Librarian St. Petersburg College [email_address] twitter.com/cmairn
Ad

More Related Content

What's hot (20)

Mobile Apps presentation
Mobile Apps presentationMobile Apps presentation
Mobile Apps presentation
Tom Printy
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
Simon Guest
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Quang Minh Dao
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
Ryan Stewart
 
Onboarding users on to your app
Onboarding users on to your appOnboarding users on to your app
Onboarding users on to your app
Elvis D'Souza
 
Mobile applications chapter 4
Mobile applications chapter 4Mobile applications chapter 4
Mobile applications chapter 4
Akib B. Momin
 
Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGap
Prajyot Mainkar
 
Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012
Ryan Stewart
 
Debugging and deploying with phone gap
Debugging and deploying with phone gapDebugging and deploying with phone gap
Debugging and deploying with phone gap
Ryan Stewart
 
All About Phonegap
All About Phonegap All About Phonegap
All About Phonegap
Sushan Sharma
 
How To Be an HTML5 Mobile Cloud Champion
How To Be an HTML5 Mobile Cloud ChampionHow To Be an HTML5 Mobile Cloud Champion
How To Be an HTML5 Mobile Cloud Champion
Chris Love
 
From desktop to mobile web
From desktop to mobile webFrom desktop to mobile web
From desktop to mobile web
Chris Love
 
Hybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsHybrid vs Native vs Web Apps
Hybrid vs Native vs Web Apps
Poluru S
 
Firefox Mobile
Firefox MobileFirefox Mobile
Firefox Mobile
Toni Hermoso Pulido
 
WebMatrix jQuery Mobile Web
WebMatrix jQuery Mobile WebWebMatrix jQuery Mobile Web
WebMatrix jQuery Mobile Web
Chris Love
 
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
Demian Borba
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Paul Sons
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
Özcan Zafer AYAN
 
Multiplatform App Architecture
Multiplatform App ArchitectureMultiplatform App Architecture
Multiplatform App Architecture
Edwin Van Schaick
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to Sixty
Thomas Swift
 
Mobile Apps presentation
Mobile Apps presentationMobile Apps presentation
Mobile Apps presentation
Tom Printy
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
Simon Guest
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
Quang Minh Dao
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
Ryan Stewart
 
Onboarding users on to your app
Onboarding users on to your appOnboarding users on to your app
Onboarding users on to your app
Elvis D'Souza
 
Mobile applications chapter 4
Mobile applications chapter 4Mobile applications chapter 4
Mobile applications chapter 4
Akib B. Momin
 
Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGap
Prajyot Mainkar
 
Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012
Ryan Stewart
 
Debugging and deploying with phone gap
Debugging and deploying with phone gapDebugging and deploying with phone gap
Debugging and deploying with phone gap
Ryan Stewart
 
How To Be an HTML5 Mobile Cloud Champion
How To Be an HTML5 Mobile Cloud ChampionHow To Be an HTML5 Mobile Cloud Champion
How To Be an HTML5 Mobile Cloud Champion
Chris Love
 
From desktop to mobile web
From desktop to mobile webFrom desktop to mobile web
From desktop to mobile web
Chris Love
 
Hybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsHybrid vs Native vs Web Apps
Hybrid vs Native vs Web Apps
Poluru S
 
WebMatrix jQuery Mobile Web
WebMatrix jQuery Mobile WebWebMatrix jQuery Mobile Web
WebMatrix jQuery Mobile Web
Chris Love
 
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
Demian Borba
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Paul Sons
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
Özcan Zafer AYAN
 
Multiplatform App Architecture
Multiplatform App ArchitectureMultiplatform App Architecture
Multiplatform App Architecture
Edwin Van Schaick
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to Sixty
Thomas Swift
 

Similar to Best Practices in Mobile Development: Building Your First jQuery Mobile App (20)

Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
St. Petersburg College
 
Mobile Development Tips: Building Mobile Apps for Digital Libraries
Mobile Development Tips: Building Mobile Apps for Digital LibrariesMobile Development Tips: Building Mobile Apps for Digital Libraries
Mobile Development Tips: Building Mobile Apps for Digital Libraries
jason clark
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
Troy Miles
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
Caridy Patino
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
Mobile web application development
Mobile web application developmentMobile web application development
Mobile web application development
Vince Aggrippino
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
Sholto Maud
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
Caridy Patino
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
St. Petersburg College
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupal
Green For All
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
Palani Kumar
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
Palani Kumar
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
Chris Love
 
[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh
IJET - International Journal of Engineering and Techniques
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
Dominopoint - Italian Lotus User Group
 
Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.Final
Ajax Experience 2009
 
A Mobile Solution for #TheUnderdog
A Mobile Solution for #TheUnderdogA Mobile Solution for #TheUnderdog
A Mobile Solution for #TheUnderdog
Sylvia Navarro Nicosia
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
brucelawson
 
Html5 mobile develop tools
Html5 mobile develop toolsHtml5 mobile develop tools
Html5 mobile develop tools
Ley Liu
 
Mobile Development Tips: Building Mobile Apps for Digital Libraries
Mobile Development Tips: Building Mobile Apps for Digital LibrariesMobile Development Tips: Building Mobile Apps for Digital Libraries
Mobile Development Tips: Building Mobile Apps for Digital Libraries
jason clark
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
Troy Miles
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
Caridy Patino
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
Mobile web application development
Mobile web application developmentMobile web application development
Mobile web application development
Vince Aggrippino
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
Sholto Maud
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
Caridy Patino
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
St. Petersburg College
 
How to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupalHow to build_a_mobile_site_with_drupal
How to build_a_mobile_site_with_drupal
Green For All
 
I like i phone and android but know .net
I like i phone and android but know .netI like i phone and android but know .net
I like i phone and android but know .net
Chris Love
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.Final
Ajax Experience 2009
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
brucelawson
 
Html5 mobile develop tools
Html5 mobile develop toolsHtml5 mobile develop tools
Html5 mobile develop tools
Ley Liu
 
Ad

More from St. Petersburg College (20)

Introducing Immersive Technologies for Libraries
Introducing Immersive Technologies for Libraries  Introducing Immersive Technologies for Libraries
Introducing Immersive Technologies for Libraries
St. Petersburg College
 
Introducing How to Build a Personal Voice Assistant (AIY Edition)
Introducing How to Build a Personal Voice Assistant (AIY Edition) Introducing How to Build a Personal Voice Assistant (AIY Edition)
Introducing How to Build a Personal Voice Assistant (AIY Edition)
St. Petersburg College
 
360° Tours and More
360° Tours and More360° Tours and More
360° Tours and More
St. Petersburg College
 
Taking the Magical Leap with Immersive Technologies in Libraries
Taking the Magical Leap with Immersive Technologies in LibrariesTaking the Magical Leap with Immersive Technologies in Libraries
Taking the Magical Leap with Immersive Technologies in Libraries
St. Petersburg College
 
Open Education Resources in Libraries
Open Education Resources in LibrariesOpen Education Resources in Libraries
Open Education Resources in Libraries
St. Petersburg College
 
How to Repurpose Library Space: Listening Lab Edition
How to Repurpose Library Space: Listening Lab EditionHow to Repurpose Library Space: Listening Lab Edition
How to Repurpose Library Space: Listening Lab Edition
St. Petersburg College
 
Using CoSpaces Edu to Create Virtual and Augmented Reality Experiences
Using CoSpaces Edu to Create Virtual and Augmented Reality ExperiencesUsing CoSpaces Edu to Create Virtual and Augmented Reality Experiences
Using CoSpaces Edu to Create Virtual and Augmented Reality Experiences
St. Petersburg College
 
Understanding Artificial Intelligence
Understanding Artificial IntelligenceUnderstanding Artificial Intelligence
Understanding Artificial Intelligence
St. Petersburg College
 
Web Design Trends: 2018 Edition
Web Design Trends: 2018 EditionWeb Design Trends: 2018 Edition
Web Design Trends: 2018 Edition
St. Petersburg College
 
What’s New With 3D Design and Printing?
What’s New With 3D Design and Printing?What’s New With 3D Design and Printing?
What’s New With 3D Design and Printing?
St. Petersburg College
 
Creating a Program to Assist Users Cutting Cable
Creating a Program to Assist Users Cutting CableCreating a Program to Assist Users Cutting Cable
Creating a Program to Assist Users Cutting Cable
St. Petersburg College
 
Understanding Artificial Intelligence
Understanding Artificial Intelligence Understanding Artificial Intelligence
Understanding Artificial Intelligence
St. Petersburg College
 
Beginning Python Programming
Beginning Python ProgrammingBeginning Python Programming
Beginning Python Programming
St. Petersburg College
 
3D Design Fundamentals
3D Design Fundamentals3D Design Fundamentals
3D Design Fundamentals
St. Petersburg College
 
STEM Demystified
STEM DemystifiedSTEM Demystified
STEM Demystified
St. Petersburg College
 
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBandLearn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
St. Petersburg College
 
Open Education Resources in Libraries
Open Education Resources in LibrariesOpen Education Resources in Libraries
Open Education Resources in Libraries
St. Petersburg College
 
Learning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for KidsLearning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for Kids
St. Petersburg College
 
Learn to Code and Have Fun Doing It!
Learn to Code and Have Fun Doing It! Learn to Code and Have Fun Doing It!
Learn to Code and Have Fun Doing It!
St. Petersburg College
 
How to Think in the Information Age: Finding Facts in a Post-Truth World
How to Think in the Information Age: Finding Facts in a Post-Truth WorldHow to Think in the Information Age: Finding Facts in a Post-Truth World
How to Think in the Information Age: Finding Facts in a Post-Truth World
St. Petersburg College
 
Introducing Immersive Technologies for Libraries
Introducing Immersive Technologies for Libraries  Introducing Immersive Technologies for Libraries
Introducing Immersive Technologies for Libraries
St. Petersburg College
 
Introducing How to Build a Personal Voice Assistant (AIY Edition)
Introducing How to Build a Personal Voice Assistant (AIY Edition) Introducing How to Build a Personal Voice Assistant (AIY Edition)
Introducing How to Build a Personal Voice Assistant (AIY Edition)
St. Petersburg College
 
Taking the Magical Leap with Immersive Technologies in Libraries
Taking the Magical Leap with Immersive Technologies in LibrariesTaking the Magical Leap with Immersive Technologies in Libraries
Taking the Magical Leap with Immersive Technologies in Libraries
St. Petersburg College
 
How to Repurpose Library Space: Listening Lab Edition
How to Repurpose Library Space: Listening Lab EditionHow to Repurpose Library Space: Listening Lab Edition
How to Repurpose Library Space: Listening Lab Edition
St. Petersburg College
 
Using CoSpaces Edu to Create Virtual and Augmented Reality Experiences
Using CoSpaces Edu to Create Virtual and Augmented Reality ExperiencesUsing CoSpaces Edu to Create Virtual and Augmented Reality Experiences
Using CoSpaces Edu to Create Virtual and Augmented Reality Experiences
St. Petersburg College
 
What’s New With 3D Design and Printing?
What’s New With 3D Design and Printing?What’s New With 3D Design and Printing?
What’s New With 3D Design and Printing?
St. Petersburg College
 
Creating a Program to Assist Users Cutting Cable
Creating a Program to Assist Users Cutting CableCreating a Program to Assist Users Cutting Cable
Creating a Program to Assist Users Cutting Cable
St. Petersburg College
 
Understanding Artificial Intelligence
Understanding Artificial Intelligence Understanding Artificial Intelligence
Understanding Artificial Intelligence
St. Petersburg College
 
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBandLearn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
Learn to Compose, Record, and Produce Songs and Podcasts Using GarageBand
St. Petersburg College
 
Learning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for KidsLearning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for Kids
St. Petersburg College
 
How to Think in the Information Age: Finding Facts in a Post-Truth World
How to Think in the Information Age: Finding Facts in a Post-Truth WorldHow to Think in the Information Age: Finding Facts in a Post-Truth World
How to Think in the Information Age: Finding Facts in a Post-Truth World
St. Petersburg College
 
Ad

Recently uploaded (20)

Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 

Best Practices in Mobile Development: Building Your First jQuery Mobile App

  • 1. Best Practices in Mobile Development: Building Your First jQuery Mobile App Handheld Librarian VI February 2, 2012 Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries Chad Mairn Information Services Librarian/Adjunct Professor, St. Petersburg College Chief Technology Officer, Novare Library Services
  • 2. Some housekeeping … FTP access/directory overview Host: Username: Password: Just in case, there is a Dropbox folder with the jQuery template available at http://dl.dropbox.com/u/9567522/jquery-mobile-template.zip You will have access to your directory for at least 2 weeks so you can finish and test your app on a variety of devices. I'll send everyone an e-mail before the directories are removed so you know when to get your files. A handout powered by Google Docs is available at http:// goo.gl/ki6lo We will try our best to answer questions during the presentation, but know that we'll keep track of all questions and answer them either at the end of today’s presentation or through a follow-up. In a few, fire up your text editor (or Dreamweaver etc.). Happy coding!
  • 3. A Look Ahead... Native Apps versus Browser Apps jQuery Mobile - how it works Hands-on, building your first app Tips and trends about mobile
  • 4. Mobile First as Strategy Google programmers are doing work on mobile applications first, because they are better apps and that's what top programmers want to develop.   - Eric Schmidt, Google CEO http://www.eweek.com/c/a/Midmarket/Google-CEO-Eric-Schmidt-at-MWC-Mobile-First-694942/
  • 5. Native Apps vs. Web/Browser Apps Source: http://www.webmonkey.com/2010/08/how-do-native-apps-and-web-apps-compare/ Issues Native apps Web apps Internet access Not required Required, except for apps written in HTML5 (offline capabilities) Shareable content (Twitter etc.) Only if it is built in to the app Web links can be shared. Social API’s allow 1-click posting Access to hardware sensors Yes: camera, gyroscope, microphone, compass, accelerometer, GPS Access thru browser is limited. Geolocation works! Development Build app for target platform (Android, iOS [Objective-C] etc.) Write/publish once using standard Web technologies, view it anywhere with URL. Speedy debugging and development. Distribution Most app stores require approval. No hassles.
  • 6. Note: with Google Analytics you can determine how your user’s are accessing your mobile site (e.g., mobile devices, carriers, browsers , OS’s, screen resolution etc.) … can help one decide what to include in a mobile site.
  • 7. “ Fundamentally, 'mobile' refers to the user, not the device or application.” Barbara Ballard Designing the Mobile User Experience
  • 8. A live mobile web app... Demos: Terra - lifeonterra.com Terra mobile - lifeonterra.com/m/ Download: Mobile template -  www.lib.montana.edu/~jason/files/m/ Explanation & blog post - http://wp.me/p8yR-1J Code Samples: http://www.lib.montana.edu/~jason/files.php
  • 9.  
  • 10.  
  • 11. Making the Move to Mobile...
  • 12.  
  • 13. Editors and Tools You can use a simple text editor (e.g., Notepad) or a more sophisticated application (e.g., Dreamweaver). Adobe Device Central is part of Adobe’s CS. iUI:  http://code.google.com/p/iui/  for iPhone. MIT Mobile Web Open Source Project http://sourceforge.net/projects/mitmobileweb/ Device detection?   http://detectmobilebrowsers.mobi/ To see your browser's HTTP Headers. Works on mobile browsers. http://rabin.mobi/http Web Developer Toolbar in Firefox: Select Miscellaneous >>> Small Screen Rendering (260 px) >>> the layout will be reformatted to simulate rendering by a mobile browser.
  • 14. Let’s build this… jQuery Mobile Template http://www.lib.montana.edu/~jason/files/touch-jquery/ Code walkthrough (codelab)
  • 15. Tips and Trends Mobile Design 2. Mobile Development
  • 16. The Future of Mobile App Development?
  • 17. The Future of Mobile App Development? Web/Browser? Native Apps? “ Smarter browsers” = not required? Other?
  • 18. Narrow your Focus Do a few things really well What are the core actions?
  • 19. Know your Audience Run the Analytics Research for Mobile Browser Types
  • 20. Learn from the Masters View Source -> m.flickr.com &quot;Be Mobile&quot; with User Agent Switcher https://addons.mozilla.org/en-US/firefox/addon/59/ http://woorkup.com/2010/01/10/best-practices-to-develop-perfect-websites-for-iphone-and-mobile-devices/
  • 21. Study the Interface & Device Scalable Design  Think Percentages 320px AND 480px
  • 22. Study the Interface & Device Tactile navigation  touch, pinch, spread, flick, spin (gyrometer) Apple recommends a minimum target size:  29px wide 44px tall
  • 23. Speed FTW, Performance First Limit Images and Markup Limit HTML pages to 25KB to allow for cacheing &quot;Minify&quot; your scripts and CSS JSLint, CleanCSS Take Advantage of HTML5, CSS3 <!DOCTYPE html>
  • 24. Testing and validation Page Speed in Firebug
  • 25. W3C mobileOK Checker   http://validator.w3.org/mobile/
  • 26. Ready.mobi   http://ready.mobi
  • 27. Respect the URL Follow the &quot;m&quot; convention m.delicious.com OR lifeonterra.com/m/ Keep Categories (directories) Short It's a touch environment, not a typing environment.
  • 28. Mobile Browsers = Cutting Edge WebKit Browser Engine Supports many HTML5 and CSS3 features Native app functionality  geolocation offline storage web workers
  • 29. Allow for User Choice Link to Full Site Sniff for User Agent – Detection To redirect, or not to redirect, that is the question
  • 30. Know Mobile Design Conventions One Column Layout Whitespace is Your Friend Embrace an Economy of Language &quot;Quick Visit&quot; Architecture
  • 31. Emulators/Simulators: dotMobi Emulator -  http://mtld.mobi/emulator.php Opera Mini Simulator -  http://www.opera.com/mobile/demo/ Mimic - emulates European and Japanese models: N400i and N505i. http://pukupi.com/post/2059 Android Emulator - http://developer.android.com/guide/developing/tools/emulator.html BlackBerry Device Simulators - https://www.blackberry.com/Downloads/entry.do?code=060AD92489947D410D897474079C1477 iPhone Dev Center: http://developer.apple.com/iphone/ Palm Pre - http://developer.palm.com/ Windows Mobile - http://msdn.microsoft.com/en-us/windowsmobile/default.aspx JAVA ME - Java Platform Micro Edition was termed J2ME. It is considered one of the most ubiquitous application platform for mobile devices. http://java.sun.com/javame/reference/apis.jsp  
  • 32. Mobile Development in Libraries Chad Haefele, Mobile Site Generator http://www.hiddenpeanuts.com/msg/ Jason Casden, WolfWalk at NCSU http://www.lib.ncsu.edu/dli/projects/wolfwalk/ Laurie Bridges and Kim Griggs http://ir.library.oregonstate.edu/jspui/handle/1957/16437
  • 42. Mobile Screen Resolutions Android (Motorola Droid) 480x854 Android (MyTouch) 320x480 Android (Nexus One) 480x800 Apple iPhone 320x480 Apple iPad 1024x768 Palm Pre 320 x 480 Source: http://insideria.com/2010/05/building-web-sites-optimized-f.html
  • 43. Contact Information Jason A. Clark Head of Digital Access and Web Services Montana State University Libraries [email_address] twitter.com/jaclark www.jasonclark.info Chad Mairn Information Services Librarian St. Petersburg College [email_address] twitter.com/cmairn