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

More Related Content

What's hot

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
 

What's hot (20)

Mobile Apps presentation
Mobile Apps presentationMobile Apps presentation
Mobile Apps presentation
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
 
Onboarding users on to your app
Onboarding users on to your appOnboarding users on to your app
Onboarding users on to your app
 
Mobile applications chapter 4
Mobile applications chapter 4Mobile applications chapter 4
Mobile applications chapter 4
 
Building Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGapBuilding Hybrid Applications using PhoneGap
Building Hybrid Applications using PhoneGap
 
Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012Developing with Phonegap - Adobe Refresh 2012
Developing with Phonegap - Adobe Refresh 2012
 
Debugging and deploying with phone gap
Debugging and deploying with phone gapDebugging and deploying with phone gap
Debugging and deploying with phone gap
 
All About Phonegap
All About Phonegap All About Phonegap
All About Phonegap
 
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
 
From desktop to mobile web
From desktop to mobile webFrom desktop to mobile web
From desktop to mobile web
 
Hybrid vs Native vs Web Apps
Hybrid vs Native vs Web AppsHybrid vs Native vs Web Apps
Hybrid vs Native vs Web Apps
 
Firefox Mobile
Firefox MobileFirefox Mobile
Firefox Mobile
 
WebMatrix jQuery Mobile Web
WebMatrix jQuery Mobile WebWebMatrix jQuery Mobile Web
WebMatrix jQuery Mobile Web
 
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
 
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
 
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
 
Multiplatform App Architecture
Multiplatform App ArchitectureMultiplatform App Architecture
Multiplatform App Architecture
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to Sixty
 

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

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
 

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
 
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
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
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
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Mobile web application development
Mobile web application developmentMobile web application development
Mobile web application development
 
2011 08-24 mobile web app
2011 08-24  mobile web app2011 08-24  mobile web app
2011 08-24 mobile web app
 
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing MojitoFEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
 
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
 
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
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
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
 
[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Jason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.FinalJason.O Keefe.Genuitec.Presentation.Final
Jason.O Keefe.Genuitec.Presentation.Final
 
A Mobile Solution for #TheUnderdog
A Mobile Solution for #TheUnderdogA Mobile Solution for #TheUnderdog
A Mobile Solution for #TheUnderdog
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 
Html5 mobile develop tools
Html5 mobile develop toolsHtml5 mobile develop tools
Html5 mobile develop tools
 

More from 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
 
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
 

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
 
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)
 
360° Tours and More
360° Tours and More360° Tours and More
360° Tours and More
 
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
 
Open Education Resources in Libraries
Open Education Resources in LibrariesOpen Education Resources in Libraries
Open Education Resources in Libraries
 
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
 
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
 
Understanding Artificial Intelligence
Understanding Artificial IntelligenceUnderstanding Artificial Intelligence
Understanding Artificial Intelligence
 
Web Design Trends: 2018 Edition
Web Design Trends: 2018 EditionWeb Design Trends: 2018 Edition
Web Design Trends: 2018 Edition
 
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?
 
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
 
Understanding Artificial Intelligence
Understanding Artificial Intelligence Understanding Artificial Intelligence
Understanding Artificial Intelligence
 
Beginning Python Programming
Beginning Python ProgrammingBeginning Python Programming
Beginning Python Programming
 
3D Design Fundamentals
3D Design Fundamentals3D Design Fundamentals
3D Design Fundamentals
 
STEM Demystified
STEM DemystifiedSTEM Demystified
STEM Demystified
 
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
 
Open Education Resources in Libraries
Open Education Resources in LibrariesOpen Education Resources in Libraries
Open Education Resources in Libraries
 
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
 
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!
 
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
 

Recently uploaded

Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
John Sterrett
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
anupriti
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdfSummer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Anna Loughnan Colquhoun
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
James Anderson
 
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum ThreatsNavigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
anupriti
 
Multimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with MilvusMultimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with Milvus
Zilliz
 
Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0
Neeraj Kumar Singh
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
ThousandEyes
 
Metadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - DatastratoMetadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - Datastrato
Zilliz
 
Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024
Prasta Maha
 
Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0
Neeraj Kumar Singh
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
ThousandEyes
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Earley Information Science
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
The Digital Insurer
 
Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0
Neeraj Kumar Singh
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 

Recently uploaded (20)

Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
Database Management Myths for Developers
Database Management Myths for DevelopersDatabase Management Myths for Developers
Database Management Myths for Developers
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdfSummer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
Summer24-ReleaseOverviewDeck - Stephen Stanley 27 June 2024.pdf
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
 
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum ThreatsNavigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
Navigating Post-Quantum Blockchain: Resilient Cryptography in Quantum Threats
 
Multimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with MilvusMultimodal Retrieval Augmented Generation (RAG) with Milvus
Multimodal Retrieval Augmented Generation (RAG) with Milvus
 
Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0Chapter 1 - Fundamentals of Testing V4.0
Chapter 1 - Fundamentals of Testing V4.0
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
 
Metadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - DatastratoMetadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - Datastrato
 
Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024
 
Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0
 
New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
 
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design ApproachesKnowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
Knowledge and Prompt Engineering Part 2 Focus on Prompt Design Approaches
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0Chapter 4 - Test Analysis & Design Techniques V4.0
Chapter 4 - Test Analysis & Design Techniques V4.0
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 

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