SlideShare a Scribd company logo
1 of 38
Building a Simple Mobile-optimized Web
App/Site Using the jQuery Mobile Framework
http://www.slideshare.net/chadmairn




                @cmairn
Agenda
• Learn what a mobile framework is.

• Understand the various technologies (HTML, CSS, JavaScript) and
  how they work together to build mobile Web apps/sites.

• Recognize the differences between native and web apps/sites.

• Explore jQuery Mobile basics.

• Acquire best practices in mobile Web development.

• Create an opportunity to continue to work with me after the
  webinar to demonstrate what you learned.

• Gain access after the webinar to a free Web server so you can see
  your mobile Web app/site live.
Virtual Petting Zoo


    Google Plus
     Hangout




   gplus.to/chadmairn
Quick Poll
Does your library have:

 Mobile-optimized Website

 Native App (iOS, Android etc.)

 Nothing yet, but considering an app

  Nothing yet, but considering a website.

  No plans; it is too expensive/complex!
Source: http://http://goo.gl/y8CFb
jQuery Mobile is …

a unified, HTML5-based user interface system
   for all popular mobile device platforms.




                                Source: http://jquerymobile.com/
jQuery Mobile is well-documented and
there are great demos to get you started
What is HTML, CSS, and JavaScript
and how do they all fit together?
HyperText Markup Language (HTML) is the skeleton.




Cascading Style Sheets (CSS) are the skin, clothes, cologne etc.




                 JavaScript is the personality. The character. The pizazz!

                                                         Source: http://goo.gl/kWzET
Native Apps vs. Web/Browser Apps
                  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,       Access thru browser is limited.
                                   compass, accelerometer, GPS               Geolocation works!



Development                        Build app for target platform (Android,   Write/publish once using standard Web
                                   iOS [Objective-C] etc.)                   technologies, view it anywhere with
                                                                             URL. Speedy debugging and
                                                                             development.
Distribution                       Most app stores require approval.         No hassles.




                                                                                              Source: http://goo.gl/zSeDU
Getting Started!
Take an emulated look at your desktop site.
 Mobile Site               Desktop Site
Small Screen Rendering (260 px) using the
   Web Developer add-on in Firefox
Desktop                        Small Screen
In-page Analytics




Note: you can determine how your user’s
are accessing your Web site (e.g., mobile
devices, carriers, browsers , OS’s, screen
resolution etc.)
“Fundamentally, 'mobile'
refers to the user, not the
  device or application.”


Barbara Ballard Designing the Mobile User Experience
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://goo.gl/zEDoi
Learn and borrow from sites you like.




       http://m.novarelibrary.com/
Sketch ideas
Rapid Prototyping for jQuery Mobile




    Try it at http://codiqa.com/
Try it at http://jquerymobile.com/themeroller/
Quick jQuery Mobile Demo

  Highlight Documentation
      CDN-Hosted Files
     Viewport Meta Tag
  Creating a Basic Template
     Listview with Filter
Buttons with different themes
Advanced Example (Web SQL Database stores data within user’s
 browser. No cookies!) HTML5 has offline storage capabilities!




                                                            Favorites List
                                                            Favorites Found: 4

                                                            Conference
                                                            Committee, Friday, 8-
                                                            9am, Azalea A

                                                            Building the Next Generation
                                                            of E-Govt, Thurs. 1-
                                                            2pm, Jasmine

                                                            Opening General
                                                            Session, Wed. 9:15-
                                                            11:15am, Floral Ballroom




 http://novarelibrary.com/FLAmobile/   Note: this URL is not a best practice. More later.
http://www.w3.org/TR/webdatabase/



Although Web SQL Database worked on this Web app, the W3C recommends these
      storage-related specifications: Web Storage and Indexed Database API.
Steal, umm, borrow this code if you want.
<script type="text/javascript">
var db = openDatabase('mydb', '1.0', 'Test DB', 100000);
var msg;
var insertTxt = "";
$(document).ready(function() {
$("button").click(function(event) {
if(!confirm("Would you like to add to your favorites?")) {
             return;
}
insertTxt = $(this).text();
db.transaction(function (tx) {
             tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id INTEGER NOT NULL PRIMARY KEY
AUTOINCREMENT, log TEXT NOT NULL )',[],function(tx, result){},function(tx,error){alert("Error: Disable private
browsing");});

   tx.executeSql('SELECT * FROM LOGS WHERE log = ?',[insertTxt], function(tx, result) {
if(result.rows.length == 0) {
tx.executeSql('INSERT INTO LOGS (log) VALUES (?);', [insertTxt]);
}
});
});
});
});
</script>
Some Best Practices
• Follow the "m" convention (m.novarelibrary.com OR
  lifeonterra.com/m/)

• Keep categories (directories) short. Remember that you are creating a
  page that people touch without much typing

• Limit image and markup sizes

• Limit HTML pages to 25KB to allow for caching

• "Minify" your scripts and CSS (JSLint, CleanCSS)

• Link to Full Site

• Sniff for User Agent – Detection (allow the user to decide where to go)

• One Column Layout with some whitespace

• Mobile refers to the user!
Testing and validation

      Test Page Speed in Firebug




                     http://getfirebug.com/
W3C mobileOK Checker
http://validator.w3.org/mobile/
http://ready.mobi
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.
Emulators/Simulators:
•   Cowemo Mobile Emulator: http://www.mobilephoneemulator.com/

•   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
Other mobile development tools/frameworks
The Future of Mobile Web App/Site Development? Responsive Web Design?
Free jQTouch Mobile Templates at:   http://goo.gl/biPJj




   Note: jQuery Mobile templates coming soon!
http://www.slideshare.net/chadmairn




                @cmairn
Virtual Petting Zoo


    Google Plus
     Hangout




   gplus.to/chadmairn
Want to
  Hangout?




gplus.to/chadmairn

More Related Content

What's hot

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
Running the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerRunning the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerGuido Schmutz
 
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...Michael Noel
 
Microsoft Office 365 for Medium and Small Business - Presented by Atidan
Microsoft Office 365 for Medium and Small Business - Presented by AtidanMicrosoft Office 365 for Medium and Small Business - Presented by Atidan
Microsoft Office 365 for Medium and Small Business - Presented by AtidanDavid J Rosenthal
 
Ubiquitous computing applications
Ubiquitous computing applicationsUbiquitous computing applications
Ubiquitous computing applicationsHamza Malik
 
Cloud Academy for Enterprise
Cloud Academy for EnterpriseCloud Academy for Enterprise
Cloud Academy for EnterpriseCloud Academy
 
Overview of the ehcache
Overview of the ehcacheOverview of the ehcache
Overview of the ehcacheHyeonSeok Choi
 
SharePoint Administration & Permissions
SharePoint Administration & PermissionsSharePoint Administration & Permissions
SharePoint Administration & PermissionsCraig Jahnke
 
Overview of Microsoft Exchange Server
Overview of Microsoft Exchange ServerOverview of Microsoft Exchange Server
Overview of Microsoft Exchange Serverbedekarpm
 
Domain Migration/Administration for the
Domain Migration/Administration for the Domain Migration/Administration for the
Domain Migration/Administration for the webhostingguy
 
AD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfAD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfMartijn de Jong
 
Make web Magical with framer-motion
Make web Magical with framer-motionMake web Magical with framer-motion
Make web Magical with framer-motionAbderraouf GATTAL
 
RICH INTERNET APPLICATIONS - RIA Tools
RICH INTERNET APPLICATIONS - RIA ToolsRICH INTERNET APPLICATIONS - RIA Tools
RICH INTERNET APPLICATIONS - RIA ToolsMeghana Chandrashekar
 
Introducing Xen Server
Introducing Xen ServerIntroducing Xen Server
Introducing Xen ServerStephenRice86
 

What's hot (20)

Thesis on Wimax
Thesis on WimaxThesis on Wimax
Thesis on Wimax
 
IBM License management
IBM License managementIBM License management
IBM License management
 
Blazor and more.pptx
Blazor and more.pptxBlazor and more.pptx
Blazor and more.pptx
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Running the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerRunning the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker Container
 
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
 
Microsoft Office 365 for Medium and Small Business - Presented by Atidan
Microsoft Office 365 for Medium and Small Business - Presented by AtidanMicrosoft Office 365 for Medium and Small Business - Presented by Atidan
Microsoft Office 365 for Medium and Small Business - Presented by Atidan
 
Ubiquitous computing applications
Ubiquitous computing applicationsUbiquitous computing applications
Ubiquitous computing applications
 
Cloud Academy for Enterprise
Cloud Academy for EnterpriseCloud Academy for Enterprise
Cloud Academy for Enterprise
 
Overview of the ehcache
Overview of the ehcacheOverview of the ehcache
Overview of the ehcache
 
SharePoint Administration & Permissions
SharePoint Administration & PermissionsSharePoint Administration & Permissions
SharePoint Administration & Permissions
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
 
Overview of Microsoft Exchange Server
Overview of Microsoft Exchange ServerOverview of Microsoft Exchange Server
Overview of Microsoft Exchange Server
 
Domain Migration/Administration for the
Domain Migration/Administration for the Domain Migration/Administration for the
Domain Migration/Administration for the
 
AD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdfAD11 Starting with Domino on Docker.pdf
AD11 Starting with Domino on Docker.pdf
 
Make web Magical with framer-motion
Make web Magical with framer-motionMake web Magical with framer-motion
Make web Magical with framer-motion
 
RICH INTERNET APPLICATIONS - RIA Tools
RICH INTERNET APPLICATIONS - RIA ToolsRICH INTERNET APPLICATIONS - RIA Tools
RICH INTERNET APPLICATIONS - RIA Tools
 
oracle service bus
oracle service busoracle service bus
oracle service bus
 
The Mobile Ecosystem
The Mobile EcosystemThe Mobile Ecosystem
The Mobile Ecosystem
 
Introducing Xen Server
Introducing Xen ServerIntroducing Xen Server
Introducing Xen Server
 

Viewers also liked

Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllMarc Grabanski
 
Airbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitAirbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitnaseemh
 
Pushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency SystemPushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency SystemKevin Ballard
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynotedmethvin
 
CSS/SVG Matrix Transforms
CSS/SVG Matrix TransformsCSS/SVG Matrix Transforms
CSS/SVG Matrix TransformsMarc Grabanski
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm Chandler Huang
 
DNS Security Presentation ISSA
DNS Security Presentation ISSADNS Security Presentation ISSA
DNS Security Presentation ISSASrikrupa Srivatsan
 
Анонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита ВолковАнонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита ВолковЮрий Сыровецкий
 
Монады для барабанщиков. Антон Холомьёв
Монады для барабанщиков. Антон ХоломьёвМонады для барабанщиков. Антон Холомьёв
Монады для барабанщиков. Антон ХоломьёвЮрий Сыровецкий
 
Intro to Functional Programming
Intro to Functional ProgrammingIntro to Functional Programming
Intro to Functional ProgrammingHugo Firth
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013mumrah
 
Category theory, Monads, and Duality in the world of (BIG) Data
Category theory, Monads, and Duality in the world of (BIG) DataCategory theory, Monads, and Duality in the world of (BIG) Data
Category theory, Monads, and Duality in the world of (BIG) Datagreenwop
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.Taras Matyashovsky
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & FeaturesDataStax Academy
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 
Etsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureEtsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureDan McKinley
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeperSaurav Haloi
 

Viewers also liked (20)

Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for All
 
Airbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitAirbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkit
 
Pushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency SystemPushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency System
 
Impact of Open Source
Impact of Open SourceImpact of Open Source
Impact of Open Source
 
Unit testing
Unit testingUnit testing
Unit testing
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
 
CSS/SVG Matrix Transforms
CSS/SVG Matrix TransformsCSS/SVG Matrix Transforms
CSS/SVG Matrix Transforms
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm
 
DNS Security Presentation ISSA
DNS Security Presentation ISSADNS Security Presentation ISSA
DNS Security Presentation ISSA
 
Анонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита ВолковАнонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита Волков
 
Монады для барабанщиков. Антон Холомьёв
Монады для барабанщиков. Антон ХоломьёвМонады для барабанщиков. Антон Холомьёв
Монады для барабанщиков. Антон Холомьёв
 
Intro to Functional Programming
Intro to Functional ProgrammingIntro to Functional Programming
Intro to Functional Programming
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
 
Category theory, Monads, and Duality in the world of (BIG) Data
Category theory, Monads, and Duality in the world of (BIG) DataCategory theory, Monads, and Duality in the world of (BIG) Data
Category theory, Monads, and Duality in the world of (BIG) Data
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Etsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureEtsy Activity Feeds Architecture
Etsy Activity Feeds Architecture
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 

Similar to Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework

Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Atos_Worldline
 
Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Devicefilirom1
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppSt. Petersburg College
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy Apigee | Google Cloud
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Heiko Behrens
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-airbrucelawson
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumJeff Haynie
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Jeff Haynie
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaChristian Heilmann
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to TitaniumGraham Weldon
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and moreYan Shi
 
Web app and more
Web app and moreWeb app and more
Web app and morefaming su
 
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 - RecifeCaridy Patino
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsJAX London
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010Patrick Lauke
 
Stocktwits & Responsive Web Design, social network meets flexible framework
Stocktwits & Responsive Web Design, social network meets flexible frameworkStocktwits & Responsive Web Design, social network meets flexible framework
Stocktwits & Responsive Web Design, social network meets flexible frameworkJohn Strott
 

Similar to Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework (20)

Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...
 
Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Device
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile App
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 
Mobile for the rest of us
Mobile for the rest of usMobile for the rest of us
Mobile for the rest of us
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Fixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World RomaniaFixing the mobile web - Internet World Romania
Fixing the mobile web - Internet World Romania
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 
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
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
 
openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010openMIC barcamp 11.02.2010
openMIC barcamp 11.02.2010
 
Stocktwits & Responsive Web Design, social network meets flexible framework
Stocktwits & Responsive Web Design, social network meets flexible frameworkStocktwits & Responsive Web Design, social network meets flexible framework
Stocktwits & Responsive Web Design, social network meets flexible framework
 

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
 
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 LibrariesSt. 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 EditionSt. 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 ExperiencesSt. 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 CableSt. 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 GarageBandSt. 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 KidsSt. 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 WorldSt. 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

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework

  • 1. Building a Simple Mobile-optimized Web App/Site Using the jQuery Mobile Framework
  • 3. Agenda • Learn what a mobile framework is. • Understand the various technologies (HTML, CSS, JavaScript) and how they work together to build mobile Web apps/sites. • Recognize the differences between native and web apps/sites. • Explore jQuery Mobile basics. • Acquire best practices in mobile Web development. • Create an opportunity to continue to work with me after the webinar to demonstrate what you learned. • Gain access after the webinar to a free Web server so you can see your mobile Web app/site live.
  • 4. Virtual Petting Zoo Google Plus Hangout gplus.to/chadmairn
  • 5. Quick Poll Does your library have: Mobile-optimized Website Native App (iOS, Android etc.) Nothing yet, but considering an app Nothing yet, but considering a website. No plans; it is too expensive/complex!
  • 6.
  • 8. jQuery Mobile is … a unified, HTML5-based user interface system for all popular mobile device platforms. Source: http://jquerymobile.com/
  • 9. jQuery Mobile is well-documented and there are great demos to get you started
  • 10. What is HTML, CSS, and JavaScript and how do they all fit together?
  • 11. HyperText Markup Language (HTML) is the skeleton. Cascading Style Sheets (CSS) are the skin, clothes, cologne etc. JavaScript is the personality. The character. The pizazz! Source: http://goo.gl/kWzET
  • 12. Native Apps vs. Web/Browser Apps 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, Access thru browser is limited. compass, accelerometer, GPS Geolocation works! Development Build app for target platform (Android, Write/publish once using standard Web iOS [Objective-C] etc.) technologies, view it anywhere with URL. Speedy debugging and development. Distribution Most app stores require approval. No hassles. Source: http://goo.gl/zSeDU
  • 14. Take an emulated look at your desktop site. Mobile Site Desktop Site
  • 15. Small Screen Rendering (260 px) using the Web Developer add-on in Firefox Desktop Small Screen
  • 16. In-page Analytics Note: you can determine how your user’s are accessing your Web site (e.g., mobile devices, carriers, browsers , OS’s, screen resolution etc.)
  • 17. “Fundamentally, 'mobile' refers to the user, not the device or application.” Barbara Ballard Designing the Mobile User Experience
  • 18. 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://goo.gl/zEDoi
  • 19. Learn and borrow from sites you like. http://m.novarelibrary.com/
  • 21. Rapid Prototyping for jQuery Mobile Try it at http://codiqa.com/
  • 22. Try it at http://jquerymobile.com/themeroller/
  • 23. Quick jQuery Mobile Demo Highlight Documentation CDN-Hosted Files Viewport Meta Tag Creating a Basic Template Listview with Filter Buttons with different themes
  • 24. Advanced Example (Web SQL Database stores data within user’s browser. No cookies!) HTML5 has offline storage capabilities! Favorites List Favorites Found: 4 Conference Committee, Friday, 8- 9am, Azalea A Building the Next Generation of E-Govt, Thurs. 1- 2pm, Jasmine Opening General Session, Wed. 9:15- 11:15am, Floral Ballroom http://novarelibrary.com/FLAmobile/ Note: this URL is not a best practice. More later.
  • 25. http://www.w3.org/TR/webdatabase/ Although Web SQL Database worked on this Web app, the W3C recommends these storage-related specifications: Web Storage and Indexed Database API.
  • 26. Steal, umm, borrow this code if you want. <script type="text/javascript"> var db = openDatabase('mydb', '1.0', 'Test DB', 100000); var msg; var insertTxt = ""; $(document).ready(function() { $("button").click(function(event) { if(!confirm("Would you like to add to your favorites?")) { return; } insertTxt = $(this).text(); db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, log TEXT NOT NULL )',[],function(tx, result){},function(tx,error){alert("Error: Disable private browsing");}); tx.executeSql('SELECT * FROM LOGS WHERE log = ?',[insertTxt], function(tx, result) { if(result.rows.length == 0) { tx.executeSql('INSERT INTO LOGS (log) VALUES (?);', [insertTxt]); } }); }); }); }); </script>
  • 27. Some Best Practices • Follow the "m" convention (m.novarelibrary.com OR lifeonterra.com/m/) • Keep categories (directories) short. Remember that you are creating a page that people touch without much typing • Limit image and markup sizes • Limit HTML pages to 25KB to allow for caching • "Minify" your scripts and CSS (JSLint, CleanCSS) • Link to Full Site • Sniff for User Agent – Detection (allow the user to decide where to go) • One Column Layout with some whitespace • Mobile refers to the user!
  • 28. Testing and validation Test Page Speed in Firebug http://getfirebug.com/
  • 31. 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.
  • 32. Emulators/Simulators: • Cowemo Mobile Emulator: http://www.mobilephoneemulator.com/ • 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
  • 33. Other mobile development tools/frameworks
  • 34. The Future of Mobile Web App/Site Development? Responsive Web Design?
  • 35. Free jQTouch Mobile Templates at: http://goo.gl/biPJj Note: jQuery Mobile templates coming soon!
  • 37. Virtual Petting Zoo Google Plus Hangout gplus.to/chadmairn
  • 38. Want to Hangout? gplus.to/chadmairn