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

PPTX
Trip advsiorhybridpresentation
ElanaBoehm
 
PDF
Mobile applications chapter 2
Akib B. Momin
 
PPTX
Phone gap
Madhura Keskar
 
KEY
Intro to PhoneGap
Ryan Stewart
 
PPTX
Mobile applications chapter 5
Akib B. Momin
 
PPTX
Creating a Slick Web App Using jQTouch
St. Petersburg College
 
KEY
HTML5 로 iPhone App 만들기
JungHyuk Kwon
 
PDF
Introduction of Mobile applications
Akib B. Momin
 
Trip advsiorhybridpresentation
ElanaBoehm
 
Mobile applications chapter 2
Akib B. Momin
 
Phone gap
Madhura Keskar
 
Intro to PhoneGap
Ryan Stewart
 
Mobile applications chapter 5
Akib B. Momin
 
Creating a Slick Web App Using jQTouch
St. Petersburg College
 
HTML5 로 iPhone App 만들기
JungHyuk Kwon
 
Introduction of Mobile applications
Akib B. Momin
 

What's hot (20)

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

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

PDF
Mobile Development Tips: Building Mobile Apps for Digital Libraries
jason clark
 
PPTX
Best Practices for Mobile Web Design
St. Petersburg College
 
PPTX
Here Today, Here Tomorrow: Mobile Devices - Northwestern University Web Steer...
Lee Roberson
 
PPT
Presentation1
Chris Simmons
 
PPT
Presentation1
csimmons44
 
KEY
Building Mobile Apps with HTML, CSS, and JavaScript
Jonathan Stark
 
PPT
Presentation1
csimmons44
 
PPTX
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
St. Petersburg College
 
KEY
Michael Slater Mobile Opportunity
NorthBayWeb
 
KEY
Building Cross Platform Mobile Apps
Jonathan Stark
 
PDF
Mobile CMS - CMSExpo 2010
Tom Deryckere
 
PPT
Doran-C4L2010
Quickoffice Test
 
KEY
Library Mobile Web Design: Tips, Tricks and Resources
Rachel Vacek
 
PPTX
Architecting mobile solutions
Sachin Bhosale
 
PDF
HTML5 and the dawn of rich mobile web applications
James Pearce
 
KEY
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
PDF
"Use of Mobile Apps: Harnessing E-Resources & Services in Libraries & Inform...
Philippine Association of Academic/Research Librarians
 
PPTX
Designing for mobile user experience
Sameer Chavan
 
KEY
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
PDF
How To Become A Mobile Application Developer 101
alotaiba
 
Mobile Development Tips: Building Mobile Apps for Digital Libraries
jason clark
 
Best Practices for Mobile Web Design
St. Petersburg College
 
Here Today, Here Tomorrow: Mobile Devices - Northwestern University Web Steer...
Lee Roberson
 
Presentation1
Chris Simmons
 
Presentation1
csimmons44
 
Building Mobile Apps with HTML, CSS, and JavaScript
Jonathan Stark
 
Presentation1
csimmons44
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
St. Petersburg College
 
Michael Slater Mobile Opportunity
NorthBayWeb
 
Building Cross Platform Mobile Apps
Jonathan Stark
 
Mobile CMS - CMSExpo 2010
Tom Deryckere
 
Doran-C4L2010
Quickoffice Test
 
Library Mobile Web Design: Tips, Tricks and Resources
Rachel Vacek
 
Architecting mobile solutions
Sachin Bhosale
 
HTML5 and the dawn of rich mobile web applications
James Pearce
 
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
"Use of Mobile Apps: Harnessing E-Resources & Services in Libraries & Inform...
Philippine Association of Academic/Research Librarians
 
Designing for mobile user experience
Sameer Chavan
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
davyjones
 
How To Become A Mobile Application Developer 101
alotaiba
 
Ad

More from St. Petersburg College (20)

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

Recently uploaded (20)

PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PPTX
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
This slide provides an overview Technology
mineshkharadi333
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
This slide provides an overview Technology
mineshkharadi333
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 

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