Index
A
- Accelerometers
- about / Accelerometers, Adobe PhoneGap versus Apache Cordova
- URL / Accelerometers
- Adobe Experience Manager (AEM)
- about / Adobe Experience Manager
- URL / Adobe Experience Manager
- Adobe PhoneGap
- versus Apache Cordova / Adobe PhoneGap versus Apache Cordova
- Amazon / The game has changed
- Android
- AngularJS
- URL / MVC, MVVM, MV*
- Apache Cordova
- versus Adobe PhoneGap / Adobe PhoneGap versus Apache Cordova
- Apache HTTP core components
- app
- about / To app or not to app, that is the question
- project, compiling / Raining on the parade (take this seriously)
- compiling / Three good reasons for compiling an app
- product / The project itself is the product
- hardware capabilities / Access to native only hardware capabilities
- push notifications / Push notifications
- current customers, supporting / Supporting current customers
- Apple / The game has changed
- application
- about / The application
- Axure RP
B
- Backbone.JS
- URL / MVC, MVVM, MV*
- background images
- cycling / Cycling background images
- Balsamiq
- about / A taste of Balsamiq
- URL / A taste of Balsamiq
- Balsamiq Mockups
- broccoli
- and Grunt, comparing / Comparing Grunt, Gulp, and Broccoli
- and Gulp, comparing / Comparing Grunt, Gulp, and Broccoli
- URL / Comparing Grunt, Gulp, and Broccoli
- browser sniffing
- versus feature detection / Browser sniffing versus feature detection
- JavaScript-based / JavaScript-based browser sniffing
C
- camera
- capture
- Cascading Style Sheets (CSS) / Getting Glyphish and defining custom icons
- changing mobile playing field / The game has changed
- Characters Per Line (CPL)
- Chocolatey
- URL / Installing Node.js
- Chocolatey or Scoop (Windows)
- used, for installing Node.js / Installing Node.js
- client-side templating
- about / Client-side templating
- CMS
- landscape / The current CMS landscape
- URL / The current CMS landscape
- code
- organizing / Organizing your code
- compass
- compress option, uglify
- concatenation
- grunt-contrib-concat used / Concatenation using grunt-contrib-concat
- concat plugin
- separator option / Concatenation using grunt-contrib-concat
- banner option / Concatenation using grunt-contrib-concat
- footer option / Concatenation using grunt-contrib-concat
- nonull option / Concatenation using grunt-contrib-concat
- URL / Concatenation using grunt-contrib-concat
- connection
- contacts
- Cross Origin Resource Sharing (CORS)
- CSS preprocessors
- grunt-contrib-sass / grunt-contrib-less used / CSS preprocessors using grunt-contrib-sass / grunt-contrib-less
- custom CSS
- about / The custom CSS
- custom fonts
- about / Custom fonts
- custom icons
- defining / Getting Glyphish and defining custom icons
D
- desktop-sized devices / Desktop-sized devices
- device
- directions
- driving, Google Maps API used / Driving directions with the Google Maps API
- Document Object Model (DOM) / Cycling background images
- DOM weight
- and pages / Generated pages and DOM weight
- Don't Repeat Yourself (DRY) / A taste of Balsamiq
- drawing
- versus HTML prototyping / HTML prototyping versus drawing
- Drupal
- and jQuery Mobile / Drupal and jQuery Mobile
- Drupal jQuery Mobile theme
- Drupal templates
- and WordPress, updating / Updating your WordPress and Drupal templates
E
- e-commerce tracking
- with Google Analytics / E-commerce tracking with Google Analytics
- e-mails
- linking to / Linking to phones, e-mails, and maps
- Ember
- URL / MVC, MVVM, MV*
- events
F
- @font-face CSS / Custom fonts
- feature detection
- versus browser sniffing / Browser sniffing versus feature detection
- JavaScript-based, Modernizr used / JavaScript-based feature detection using Modernizr
- file
- Flappy Bird / The mobile usage pattern
- Fonts.com web fonts
- URL / Custom fonts
- Font Squirrel
- URL / Custom fonts
- Forbes
- full-site links
- beyond industry standard / Full-site links beyond the industry standard
- full-site pages, mobilizing
- hard way / Mobilizing full-site pages – the hard way, The hard way – final thoughts
- data-role attributes / Know your role
- content, focusing on / Step 1 of 2 – focus on content, marketing cries foul!
- global navigation style, selecting / Step 2 of 2 – choose global navigation style and insert
- insert, selecting / Step 2 of 2 – choose global navigation style and insert
- global nav, as separate page / Global nav as a separate page
- global nav, at bottom / Global nav at the bottom
- global nav, as panel / Global nav as a panel
- easy way / Mobilizing full-site pages – the easy way
- Functional Design Specification (FDS) / Design requirements
- future-friendly approach
G
- geolocation
- about / Geolocation, Adobe PhoneGap versus Apache Cordova
- API specification, URL / Geolocation
- URL / Geolocation
- JSON used / Using JSON
- user location, picking / Picking a user's location
- global configuration
- global CSS
- about / The global CSS
- globalization
- global JavaScript
- about / The global JavaScript
- Glyphish
- Google Analytics
- adding / Adding Google Analytics
- URL / Adding Google Analytics
- page views, tracking / Tracking and firing page views
- page views, firing / Tracking and firing page views
- used, for tracking e-commerce / E-commerce tracking with Google Analytics
- Google Maps API
- used, for driving directions / Driving directions with the Google Maps API
- URL / Driving directions with the Google Maps API
- Google Static Maps
- about / Google Static Maps
- Google Analytics, adding / Adding Google Analytics
- page views, firing / Tracking and firing page views
- long and multi-page forms, creating / Creating long and multi-page forms
- Google Web Fonts
- URL / Custom fonts
- GPS
- monitoring / Geek out moment - GPS monitoring
- Grunt
- about / Introducing Grunt - a JavaScript task runner
- URL / Introducing Grunt - a JavaScript task runner, Configuring Grunt
- installing / Installing Grunt
- installing, NPM used / Installing Grunt using NPM
- configuring / Configuring Grunt
- and Gulp, comparing / Comparing Grunt, Gulp, and Broccoli
- and broccoli, comparing / Comparing Grunt, Gulp, and Broccoli
- grunt-contrib-concat
- used, for concatenation / Concatenation using grunt-contrib-concat
- grunt-contrib-connect plugin
- grunt-contrib-sass
- used, for CSS preprocessors / CSS preprocessors using grunt-contrib-sass / grunt-contrib-less
- grunt-contrib-uglify
- used, for minification / Minification using grunt-contrib-uglify
- grunt-contrib-watch
- used, for LiveReloading / LiveReloading using grunt-contrib-watch
- Gulp
- and broccoli, comparing / Comparing Grunt, Gulp, and Broccoli
- and Grunt, comparing / Comparing Grunt, Gulp, and Broccoli
- URL / Comparing Grunt, Gulp, and Broccoli
- gzip
H
- hardware-level access
- APIs, on horizon / APIs on the horizon
- hardware-level access
- about / New device-level hardware access
- Accelerometers / Accelerometers
- camera / Camera
- HarpJS
- about / The Harp server
- rules / The rules of HarpJS
- Harp server
- about / The Harp server
- setting locally / Setting up Harp locally
- first page, adding / Adding your first page
- client involved, getting / Getting the client involved
- platform / The Harp platform
- project, publishing / Publishing your project
- helper method / Passing query params to jQuery Mobile
- Homebrew (OS X)
- used, for installing Node.js / Installing Node.js
- URL / Installing Node.js
- home screen
- saving to, HTML5 manifest used / Saving to the home screen with HTML5 manifest
- HTML
- breaking, into server side template / Breaking the HTML into a server-side template
- HTML5 Audio
- about / HTML5 Audio
- persistent toolbars, fixed position / Fixed position persistent toolbars
- controlling, JavaScript used / Controlling HTML5 Audio with JavaScript
- in iOS / HTML5 Audio in iOS
- jQuery Mobile apps / Multipage jQuery Mobile apps made useful
- HTML5 boilerplate
- HTML5 manifest
- used, for saving to home screen / Saving to the home screen with HTML5 manifest
- URL / Saving to the home screen with HTML5 manifest
- HTML5 Web Storage
- about / HTML5 Web Storage
- localStorage / HTML5 Web Storage
- sessionStorage / HTML5 Web Storage
- URL / HTML5 Web Storage
- browser-based databases / Browser-based databases (work in progress)
- HTML prototyping
- versus drawing / HTML prototyping versus drawing
- Hypertext Preprocessor (PHP) / Breaking the HTML into a server-side template
I
- InAppBrowser
- Indexed Database
- IndexedDB
- industry standard / Full-site links beyond the industry standard
- iOS
- HTML5 Audio / HTML5 Audio in iOS
- iPad mini
J
- Java Content Repository (JCR)
- URL / Adobe Experience Manager
- JavaScript
- used, for detecting / Detecting and redirecting using JavaScript
- used, for redirecting / Detecting and redirecting using JavaScript
- detecting / Detecting and redirecting using JavaScript
- redirecting / Detecting and redirecting using JavaScript
- used, for controlling HTML5 Audio / Controlling HTML5 Audio with JavaScript
- JavaScript Object Notation (JSON)
- used, for geolocation / Using JSON
- Jekyll
- URL / Static Site Generators
- jQMobile WordPress theme
- about / WordPress – jQMobile theme
- jquery.cookie.js
- jQuery cookie plugin
- jQuery Drupal Mobile theme
- about / Drupal – jQuery Mobile theme
- jQuery Mobile
- usage pattern / The mobile usage pattern
- remaining components, designing / Designing the remaining components
- design requirements / Design requirements
- about / Writing a new jQuery Mobile boilerplate
- URL / Optimization - why you should be thinking of it first, Generated pages and DOM weight, Drupal and jQuery Mobile
- query params, passing to / Passing query params to jQuery Mobile
- and WordPress / WordPress and jQuery Mobile
- and Drupal / Drupal and jQuery Mobile
- and MV* / MV* and jQuery Mobile
- jQuery Mobile apps
- jQuery Mobile boilerplate
- jQuery Mobile elements
- Listviews / Getting our hands dirty with small businesses
- Dialog / Getting our hands dirty with small businesses
- Navbars / Getting our hands dirty with small businesses
- Buttons / Getting our hands dirty with small businesses
- Grouped Buttons / Getting our hands dirty with small businesses
- Flip switch / Getting our hands dirty with small businesses
- Checkbox set / Getting our hands dirty with small businesses
- Radio set / Getting our hands dirty with small businesses
- Select menu / Getting our hands dirty with small businesses
- Split listviews / Getting our hands dirty with small businesses
- Bubble count list views / Getting our hands dirty with small businesses
- Multi-select / Designing the remaining components
- Slider / Designing the remaining components
- Collapsible / Designing the remaining components
- Input / Designing the remaining components
- Search / Designing the remaining components
- jQuery Mobile ThemeRoller
- jQuery Validate
- about / Integrating jQuery Validate
- URL / Integrating jQuery Validate
- multi-page form first page, creating / Creating the first page of our multi-page form
- page, validating / Validating each page
- meta.php file / The meta.php file
- JSON
- to rescue / JSON to the rescue
- URL / JSON to the rescue
- JSON APIs (GitHub)
- patching into / Patching into JSON APIs (GitHub)
- JSONP
- URL / Client-side templating
- JsRender template
K
- Knockout
- URL / MVC, MVVM, MV*
L
- lean feature detection
- JavaScript-based / JavaScript-based lean feature detection
- Less CSS file / Setting up Harp locally
- less plugin
- paths option / CSS preprocessors using grunt-contrib-sass / grunt-contrib-less
- rootpath option / CSS preprocessors using grunt-contrib-sass / grunt-contrib-less
- optimization option / CSS preprocessors using grunt-contrib-sass / grunt-contrib-less
- banner option / CSS preprocessors using grunt-contrib-sass / grunt-contrib-less
- URL / CSS preprocessors using grunt-contrib-sass / grunt-contrib-less
- lightGallery
- used, for creating basic gallery / Creating a basic gallery using lightGallery
- URL / Creating a basic gallery using lightGallery
- Linux, Apache, MySQL, PHP (LAMP) platform / Breaking the HTML into a server-side template
- Linux users
- Node.js, installing for / Installing Node.js
- LiveReloading
- grunt-contrib-watch used / LiveReloading using grunt-contrib-watch
- Long Term Evolution (LTE) / Optimization - why you should be thinking of it first
- Luhn algorithm
- URL / Validating each page
M
- MAMP
- maps
- linking to / Linking to phones, e-mails, and maps
- Markdown / Getting the client involved
- media / Adobe PhoneGap versus Apache Cordova
- meta viewport tag
- differences / Meta viewport differences
- microcaching / Optimization - why you should be thinking of it first
- microformats
- URL / Google Static Maps
- minification
- grunt-contrib-uglify used / Minification using grunt-contrib-uglify
- minifying
- mobile devices, detecting
- about / Detecting mobile – server-side, client-side, and the combination of the two
- browser sniffing, versus feature detection / Browser sniffing versus feature detection
- WURFL / WURFL – server-side database-driven browser sniffing
- browser sniffing, server-side database-driven / WURFL – server-side database-driven browser sniffing
- browser sniffing, JavaScript-based / JavaScript-based browser sniffing
- feature detection JavaScript-based, Modernizr used / JavaScript-based feature detection using Modernizr
- lean feature detection, JavaScript-based / JavaScript-based lean feature detection
- server-side plus client-side detection / Server-side plus client-side detection
- mobile site
- user, getting to / Getting the user to our mobile site
- mobile theme switcher
- manual installation / Manually installing the mobile theme switcher
- automatic installation / Automatically installing the mobile theme switcher
- configuring / Configuring the mobile theme switcher
- model
- about / The model
- Modernizr
- URL / Fixed position persistent toolbars, JavaScript-based feature detection using Modernizr
- used, for JavaScript-based feature detection / JavaScript-based feature detection using Modernizr
- Mom-and-Pop mobile website
- new jQuery Mobile boilerplate, writing / Writing a new jQuery Mobile boilerplate
- meta viewport, differences / Meta viewport differences
- full-site links, beyond industry standard / Full-site links beyond the industry standard
- global JavaScript / The global JavaScript
- global CSS / The global CSS
- HTML, breaking into server side template / Breaking the HTML into a server-side template
- requisites / What we need to create our site
- custom icons, defining / Getting Glyphish and defining custom icons
- phones, linking to / Linking to phones, e-mails, and maps
- e-mails, linking to / Linking to phones, e-mails, and maps
- maps, linking to / Linking to phones, e-mails, and maps
- final product / The final product
- custom CSS / The custom CSS
- resulting first page / The resulting first page
- user, getting to / Getting the user to our mobile site
- JavaScript, used for detecting / Detecting and redirecting using JavaScript
- JavaScript, used for redirecting / Detecting and redirecting using JavaScript
- server, detecting on / Detecting on the server
- MV*
- about / MVC, MVVM, MV*
- URL / MVC, MVVM, MV*
- and jQuery Mobile / MV* and jQuery Mobile
- MVC
- about / MVC, MVVM, MV*
- URL / MVC, MVVM, MV*
- MVVM
- about / MVC, MVVM, MV*
- URL / MVC, MVVM, MV*
N
- navigator.geolocation.watchPosition method
- Near Field Communication (NFC) / QR codes
- Node.js
- about / A brief aside about Node.js
- installing / Installing Node.js
- installing, Nodejs.org used / Installing Node.js
- URL / Installing Node.js
- installing, Homebrew (OS X) used / Installing Node.js
- installing, Chocolatey or Scoop (Windows) used / Installing Node.js
- installing, for Linux users / Installing Node.js
- Nodejs.org
- used, for installing Node.js / Installing Node.js
- Node Package Manager (NPM)
- used, for installing Grunt / Installing Grunt using NPM
- URL / Installing Grunt using NPM
- notification / Adobe PhoneGap versus Apache Cordova
- npm init command / Installing Grunt using NPM
O
- Okamototk
- on GitHub, URL / Prompting the user to install your app
- URL / Prompting the user to install your app
- optimization
P
- pages
- changing programmatically / Programmatically changing pages
- and DOM weight / Generated pages and DOM weight
- panel widget
- URL / Global nav as a panel
- paper-based ideation
- considerations / HTML prototyping versus drawing
- paper prototyping
- alternates / Alternates to paper prototyping
- Balsamiq Mockups / Alternates to paper prototyping
- Axure RP / Alternates to paper prototyping
- phones
- linking to / Linking to phones, e-mails, and maps
Q
- QR codes
- query params
- passing, to jQuery mobile / Passing query params to jQuery Mobile
R
- Really Simple Syndication (RSS)
- leveraging / Leveraging RSS feeds
- responsive images, forcing / Forcing responsive images
- Responsive Web Design (RWD)
- about / Supporting the full range of device sizes – responsive web design
- URL / Supporting the full range of device sizes – responsive web design
- and text readability / Text readability and responsive design
- smartphone-sized devices / Smartphone-sized devices
- tablet-sized devices / Tablet-sized devices
- desktop-sized devices / Desktop-sized devices
- background images, cycling / Cycling background images
- code / The final code
- RESS
- router / The events
- rules
- URL / The rules of HarpJS
S
- Scoop
- URL / Installing Node.js
- server
- detecting on / Detecting on the server
- site
- creating, requisites / What we need to create our site
- small business
- significance / Getting our hands dirty with small businesses
- smartphone-sized devices / Smartphone-sized devices
- Splashscreen / Adobe PhoneGap versus Apache Cordova
- static map
- URL / Google Static Maps
- Static Site Generators (SSG)
- about / Static Site Generators
- working / How do they work?
- Harp server / The Harp server
- storage / Adobe PhoneGap versus Apache Cordova
T
- tablet-sized devices / Tablet-sized devices
- text
- readability / Text readability and responsive design
- theme
- ThemeRoller
- theme switcher plugin
- URL / Drupal and jQuery Mobile
- TypeKit
- URL / Custom fonts
U
- uglify plugin
- mangle option / Minification using grunt-contrib-uglify
- compress option / Minification using grunt-contrib-uglify
- beautify option / Minification using grunt-contrib-uglify
- report option / Minification using grunt-contrib-uglify
- banner option / Minification using grunt-contrib-uglify
- footer option / Minification using grunt-contrib-uglify
- URL / Minification using grunt-contrib-uglify
- ui-grid
- user
- getting, to mobile site / Getting the user to our mobile site
- prompting, to install app / Prompting the user to install your app
- user, geolocation
- location, picking / Picking a user's location
- User Experience (UX) / The game has changed
- User Experience (UX) tool / A taste of Balsamiq
V
- video
- linking / Linking and embedding video
- embedding / Linking and embedding video
W
- WAMP
- Web Audio API
- Web SQL Database
- Wireless Universal Resource File (WURFL)
- URL / Detecting on the server
- WordPress
- and jQuery Mobile / WordPress and jQuery Mobile
- and Drupal templates / Updating your WordPress and Drupal templates
- World Wide Web Consortium (W3C) / Optimization - why you should be thinking of it first
- WURFL