Index
A
- -after / Using content with :before and :after
- ant task / Minifying and concatenating scripts
- API descriptions
- Geolocation interface / The Geolocation interface
- PositionOptions interface / The PositionOptions interface
- API key
- about / Obtaining an API key
- services, activating / Activating the service
- retrieving / Retrieving the key
- App.VideoControls class / Customizing HTML5 video controls
- AppCache
- about / Application Cache
- manifest file / The manifest file
- cache manifest, implementing / Manifest implementation
- example / A simple example
- app functionality
- structuring / Structuring our app functionality
- namespacing / Namespacing our application
- IFE / Immediately Invoked Function Expressions
- use strict directives / Use strict
- default options / Default options
- constructor, defining / Defining the constructor, The prototype
- public methods, defining / Defining public methods
- constructor/function, returning / Returning our constructor/function
- application architecture
- about / Application architecture
- basic architecture / Basic sample architecture
- markup / Application markup
- scripts / Application scripts
- application framework
- creating / Creating our application framework
- boilerplate, modifying / Modifying the boilerplate
- markup, customizing / Customizing our markup
- customizing / Customizing our framework
- application markup
- about / Application markup
- templates, creating / Creating templates
- application scripts
- about / Application scripts
- BaseView / The BaseView
- music application / Music application
- user application / User application
- assets, web application
- tranferring / Transferring our assets
- markup, including / Including our markup
- styles, incorporating / Incorporating our styles
- scripts, inserting / Inserting our scripts
- attachEvents method / Adding interactivity to our customized controls, The JavaScript, Listening and handling the change event
- audio formats / Audio formats
- audio tracks, switching
- change event listener / The change event listener
- change event handler / The change event handler
- code, refactoring / Refactoring our code
- Audio class, initializing / Initializing our Audio class
- autoplay / Autoplay
B
- -before / Using content with :before and :after
- Backbone.js
- about / Introduction to Backbone.js
- MVC / MVC and Backbone.js
- backbone models / Backbone models
- views / Backbone views
- collections / Backbone collections
- server side interactions / Server-side interactions
- build script
- integrating / Integrating the build script
- about / Introducing our build script
- configuring / Configuring our build script
- minifying / Minifying and concatenating scripts
- styles, concatenating / Minifying and concatenating styles
- multiple environments, creating / Creating multiple environments
C
- $cache property / Geolocation with Google Maps
- cache manifest
- debugging / Debugging the cache manifest
- debugging, in browser / Debugging in the browser
- debugging, JavaScript used / Debugging using JavaScript
- callabacks, JavaScript video library
- about / Integrating callbacks
- creating / Integrating callbacks
- extending / Extending callbacks
- using / Using callbacks
- verifying / Tying it all up
- center property / Geolocation with Google Maps
- clearWatch method / The watchPosition method
- CLI / Creating a PhoneGap project
- contacts functionality
- ContactsView class, creating / Creating the ContactsView class
- ContactsView template, implementing / Implementing the ContactsView template
- Contacts API, integrating / Integrating the Contacts API
- ContactsView template
- implementing / Implementing the ContactsView template
- control caching, responsive photo gallery interactivity
- events, attaching / Attaching the events
- events, handling / Handling our events
- variables, caching / Caching variables, again
- controllers / Controllers
- CSS, stylesheets
- validating / Validating our CSS
- W3C CSS Validator / W3C CSS Validator
- customizable options / Customizable options, Customizable options
- exmaple, validating / Validating a successful example, Validating an unsuccessful example
- CSS Lint / CSS Lint
- example validation, CSS Lint used / Validating a successful example using CSS Lint
- unsuccesful example validation, CSS Lint used / Validating an unsuccessful example using CSS Lint
- CSS Lint, integrating / Integrating CSS Lint
- profiling / Profiling our CSS
- optimizing / Optimizing our CSS
- universal rules, avoiding / Avoid universal rules
- ID/class, qualifying / Don't qualify ID or Class rules
- styles, modularizing / Modularize styles
- CSS Lint / Validating our CSS
- custom module template integrating
- about / Integrating a custom module template
- scripts, including / Including our scripts
- framework, initializing / Initializing our framework
D
- datetime type / The datetime type
- development environment
- about / Setting up the development environment
- PhoneGap, setting up / Setting up PhoneGap
- project configuration / Configuring our project
- deviceready event / Inserting our scripts
- DOM / Default options
- Download as zip button / Integrating the build script
- dynamic audio player
- select element / The select element
- audio tracks, switching / Switching audio tracks
E
- example
- markup / The markup
- JavaScript / The JavaScript
- extend method / Default options and modularizing swipe events
F
- fluid images
- fluid width images / Fluid width images
- full width images / Full width images
- form layout, iPhone
- about / Form layout for iPhone
- forms
- HTML attributes / HTML5 attributes for forms
- form styling, for iOS
- about / Form styling for iOS
- basic styling / Basic styling
- custom styling / Custom styling
- form validation
- about / Form validation
- basic template / The basic template
- form, initializing / Initializing our forms
- events, attaching / Attaching events
- events handler / Event handlers
- input, validating / Validating our input
G
- gallery responsiveness
- creating / Gallery responsiveness
- styles, setting / Setting the gallery styles
- styles, resetting / Resetting the gallery styles
- styles, initializing / Initializing the gallery styles
- Geolocation
- specification / Geolocation specification
- and Google maps / Geolocation and Google Maps
- Geolocation interface
- about / The Geolocation interface
- getCurrentPosition method / The getCurrentPosition method
- watchPosition method / The watchPosition method
- clearWatch method / The clearWatch method
- Geolocation specification
- about / Geolocation specification
- implementation / Implementation
- security / Scope, security, and privacy
- privacy / Scope, security, and privacy
- scope / Scope, security, and privacy
- W3C specification, considerations / Scope, security, and privacy
- API descriptions / API descriptions
- use cases / Use cases
- gesture events
- about / Touch and Gesture events
- working / Gestures
- getCurrentPosition / The maximumAge option
- getCurrentPosition method / The Geolocation wrapper
- Google maps
- markup preparation / Markup preparation
- Geolocation wrapper / The Geolocation wrapper
- Geolocation / Geolocation with Google Maps
- Google Maps API
- about / Google Maps API
- API(s) / The API(s)
- API key, obtaining / Obtaining an API key
- GPS / Implementation
H
- <hgroup> element / Creating the header
- handleOnAudioEnded method / The JavaScript
- handleSequentialClick method / The JavaScript
- handleTouchEnd event handler / Handling touch events
- handleTouchStart method / Handling touch events
- header() method / Redirecting via PHP
- home screen icons
- about / Home screen icons
- HTML5 audio controls
- customizing / Customizing HTML5 audio controls
- custom media controls, creating / Creating custom media controls
- interactivity, adding / Adding interactivity to our customized controls
- sequential playback / Sequential playback
- HTML5 input types
- about / HTML5 input types
- button / HTML5 input types
- checkbox / HTML5 input types
- date / HTML5 input types
- datetime / HTML5 input types
- datetime-local / HTML5 input types
- email / HTML5 input types
- file / HTML5 input types
- hidden / HTML5 input types
- image / HTML5 input types
- month / HTML5 input types
- number / HTML5 input types
- password / HTML5 input types
- radio / HTML5 input types
- range / HTML5 input types
- reset / HTML5 input types
- search / HTML5 input types
- submit / HTML5 input types
- tel / HTML5 input types
- text / HTML5 input types
- time / HTML5 input types
- url / HTML5 input types
- week / HTML5 input types
- HTML5 Mobile Boilerplate
- about / Implementing the HTML5 Mobile Boilerplate
- implementing / Implementing the HTML5 Mobile Boilerplate
- installing / Downloading and installing the HTML5 Mobile Boilerplate
- downloading / Downloading and installing the HTML5 Mobile Boilerplate
- modifying / Modifying the boilerplate
- HTML5 video controls
- about / Customizing HTML5 video controls
- configuring / Customizing HTML5 video controls
- HTML5 video events
- listening / Listening to HTML5 video events
- video markup review / Video markup review
- video events, attaching / Attaching video events
- video, initializing / Initializing our video
- HTML attributes, forms
- autocapitalize / HTML5 attributes for forms
- autocomplete / HTML5 attributes for forms
- min / HTML5 attributes for forms
- max / HTML5 attributes for forms
- multiple / HTML5 attributes for forms
- placeholder / HTML5 attributes for forms
- required / HTML5 attributes for forms
I
- IDE / Integrating CSS Lint
- IDL / The Geolocation interface
- IFE / Immediately Invoked Function Expressions
- IIFE / Avoid globals
- Immediately-Invoked Function Expressions / Model-View-Controller or MVC
- initGoogleMaps method / Geolocation with Google Maps
- iOS / The select element
- form styling / Form styling for iOS
- iOS considerations
- about / iOS considerations
- volume / Volume
- autoplay / Autoplay
- simultaneous playback / Simultaneous playback
- iPhone
- form layout / Form layout for iPhone
J
- JavaScript
- used, for cache manifest debugging / Debugging using JavaScript
- optimizing / Optimizing JavaScript, Optimizing our JavaScript
- validating, JSLint used / Validating JavaScript using JSLint
- profiling / Profiling our JavaScript
- JavaScript architecture
- establishing / Establishing our JavaScript architecture
- app functionality, structuring / Structuring our app functionality
- application, structuring / Namespacing our application
- JavaScript optimization
- about / Optimizing our JavaScript
- globals, avoiding / Avoid globals
- DOM, isolating / Leave the DOM alone
- literals, using / Use literals
- functionality, modularizing / Modularize functionality
- JavaScript video library
- about / Creating a JavaScript video library
- essentials / Creating a JavaScript video library
- events, centralizing / Centralizing our events
- scopes / Scope in JavaScript
- functionality, exposing / Exposing functionality
- callabacks, integrating / Integrating callbacks
- JSLint
- used, for JavaScript optimization / Validating JavaScript using JSLint
- successful example, validating / Validating a successful example using JSLint
- unsuccessful example, validating / Validating an unsuccessful example
- customizable options / Customizable options
- integrating / Integrating JSLint
L
- last_name attribute / The model
- latlng property / Geolocation with Google Maps
- localStorage API / The localStorage API
- login form / The login form
M
- MediaElement abstraction
- about / MediaElement abstraction
- App.MediaElement.js, creating / Creating App.MediaElement.js
- App.MediaElement.js, initializing / Initializing App.MediaElement.js
- MediaElement API
- extending, for audio / Extending the MediaElement API for audio
- MediaElement API extension, for audio
- about / Extending the MediaElement API for audio
- base template / The base template
- audio element, caching / Finding and caching an audio element
- audio element, finding / Finding and caching an audio element
- MediaElement, initializing / Initializing MediaElement
- mobile site
- routing / Routing to a mobile site
- redirecting via PHP / Redirecting via PHP
- redirecting via htaccess / Redirecting via htaccess
- multiple environments
- creating / Creating multiple environments
- directories, navigating / Navigating our directories
- project, building / Building our project
- music application
- about / Music application
- router / The router
- collection / The collection
- model / The model
- view / The view(s)
- view, playlist view / The playlist view
- view, audio player view / The audio player view
- view, song view / The song view
- MVC
- about / Model-View-Controller or MVC
- models / Models
- views / Views
- controllers / Controllers
- relationships / Relationships
- Backbone.js / MVC and Backbone.js
N
- Namespace / Model-View-Controller or MVC
- navigation
- simplifying / Simplifying the navigation
- markup / Navigation markup and styling
- styling / Navigation markup and styling
- interactivity / Navigation interactivity
- navigation interactivity
- about / Navigation interactivity
- basic template / The basic template
- caching / Caching our navigation
- change event, listening / Listening and handling the change event
- change event, handling / Listening and handling the change event
- initializing / Initializing the navigation
- navigation styling
- basic template / The basic template
- select component, styling / Styling a select component
- number type / The number type
O
- offline applications
- handling / Handling offline applications
- simple use case / A simple use case
- network connectivity, detecting / Detecting network connectivity
- localStorage API / The localStorage API
- onContactSuccess callback / Integrating the Contacts API
- onEnded method / The JavaScript
- on method / The change event listener
- onProfileClick event / Profiling our JavaScript
- OOCSS (Object Oriented CSS) / Customizable options
P
- PhoneGap
- setting up / Setting up PhoneGap
- installing / Installing PhoneGap
- creating / Creating a PhoneGap project
- license / The PhoneGap license
- Playlist page / The profile view
- PositionOptions interface
- about / The PositionOptions interface
- enableHighAccuracy option / The enableHighAccuracy option
- timeout option / The timeout option
- maximumAge option / The maximumAge option
- Position interface / The Position interface
- Coordinates interface / The Coordinates interface
- PositionError interface / The PositionError interface
- profile form
- about / The profile form
- datetime type / The datetime type
- number type / The number type
- range type / The range type
- Profile tab / Profiling our CSS, Profiling our JavaScript
- prototype / The prototype
- publish directory / Building our project
Q
- querySelector / Initializing our framework
R
- range type / The range type
- registration form / The registration form
- relationships / Relationships
- render method / The profile view
- required class / Validating our input
- resetStyles method / Setting the gallery styles
- responsive design principles
- about / Responsive design principles
- media queries / Media queries to the rescue
- images / Responsive images
- responsive images
- about / Responsive images
- fluid images / Fluid images
- responsive photo gallery
- about / Creating a responsive photo gallery
- gallery markup / Gallery markup and styling
- basic slide list / The basic gallery slide list
- controls, adding / Adding simple gallery controls
- images, making responsive / Making images responsive
- styling / Styling our gallery
- CSS3 transitions, suing / Using CSS3 transitions
- interactivity / Gallery interactivity
- touch interactivity / Extending the gallery for touch
- JavaScript / The JavaScript
- markup / The markup
- responsive photo gallery interactivity
- about / Gallery interactivity
- basic templete / The basic template
- caching / Caching the gallery
- control, caching / Connecting our controls
S
- sample application
- about / Our sample application
- application architecture / Application architecture
- sample HTML5 forms
- about / Sample HTML5 forms
- setup work / Setup work
- sample HTML5 forms setup
- forms styling / Including our forms styling
- navigation, updating / Updating the navigation
- forms scripts / Including our navigation and forms scripts
- forms / The forms
- login form / The login form
- registration form / The registration form
- profile form / The profile form
- Scheme selector / The Xcode toolbar
- SDK / Installing Xcode
- semantic markup
- customizing / Creating semantic markup
- about / Creating semantic markup
- header, creating / Creating the header
- footer, creating / Creating the footer
- section, clearing / Clearing up section
- Sequential playback
- about / Sequential playback
- markup / The markup
- JavaScript / The JavaScript
- server configuration
- about / Configuring the server, Server configuration
- video formats / Video formats
- video format directives / Video format directives
- audio formats / Audio formats
- audio formats directives / Audio format directives
- setActiveSong method / The playlist view
- setAudioElement method / Refactoring our code
- setStyles method / Setting the gallery styles
- simple HTML5 audio integration
- about / Simple HTML5 audio integration
- simple HTML5 video
- about / A simple HTML5 video
- single video format / Single video format
- multiple formats, supporting / Supporting multiple formats
- simultaneous playback / Simultaneous playback
- somesite directory / Navigating our directories
- stylesheets
- structuring / Structuring our stylesheets
- optimizing / Optimizing stylesheets
- stylesheets, structuring
- about / Structuring our stylesheets
- global styling / Global styling
- global fonts, defining / Defining our global fonts
- page layout / Our page layout
- Topicnbefore, using / Using content with :before and :after
- Topicnafter, using / Using content with :before and :after
- navigation, styling / Styling our navigation
- SwipeRight events / The JavaScript
T
- Terminal / Creating a PhoneGap project
- toString method / Defining public methods
- touch events
- about / Touch and Gesture events, Touch events
- page scroll example / On scroll
- touch / On touch and hold
- on double-tap zoom / On double-tap zoom
- working / Supported touch events and how they work
- gesturestart / Supported touch events and how they work
- gesturechange / Supported touch events and how they work
- gestureend / Supported touch events and how they work
- touchcancel / Supported touch events and how they work
- touchend / Supported touch events and how they work
- touchmove / Supported touch events and how they work
- touchstart / Supported touch events and how they work
- touch interactivity, in responsive photo gallery
- basic template / The basic template
- swipe events, modularizing / Default options and modularizing swipe events
- default options / Default options and modularizing swipe events
- touch events, listening / Listening to touch events
- handling / Handling touch events
U
- Underscore.js
- about / Introduction to Underscore.js
- implementations / Implementation
- Underscore.js implementations
- _.extend / _.extend
- _.each / _.each
- _.template / _.template
- underscore method / Integrating the Contacts API
- updateTrack method / The playlist view
- use cases
- points if interest / Points of interest
- route navigation / Route navigation
- latest information / Latest information
- user application
- about / User application
- router / The router
- collection / The collection
- model / The model
- view / The view(s)
- view, dashboard view / The dashboard view
- view, profile view / The profile view
V
- videocontrols class
- configuring / Customizing HTML5 video controls
- views / Views
- View toolbar section / The Xcode toolbar
- volume button / Volume
W
- -webkit-appearance property / Custom styling
- W3C / Geolocation specification
- W3C Markup Validation Service / Creating the header
- web application
- transferring / Transferring a web application
- debugging / Debugging our application
- extending, with native functionality / Extending our application with native functionality, Setting up our contacts functionality, Implementing the ContactsView template, Integrating the Contacts API
- configuring / Configuring our application
- contacts functionality, setting up / Setting up our contacts functionality
- web application debugging
- about / Debugging our application
- code, logging out / Logging out our code
- Safari developer tools, using / Using the Safari developer tools
X
- Xcode
- starting with / Getting started with Xcode
- installing / Installing Xcode
- IDE overview / Xcode IDE overview – the basics
- Xcode IDE
- overview / Xcode IDE overview – the basics
- workspace / The Xcode workspace
- toolbar / The Xcode toolbar
- Xcode toolbar / The Xcode toolbar