Mobile Universe

Build Mobile Websites and Apps for Smart Devices

Earle Castledine, Myles Eftos, & Max Wheeler

Looking to really get into the nitty gritty of Mobile Development? Feel free to browse complete index from Build Mobile Websites and Apps for Smart Devices.

There isn't much we haven't covered.

Index

Symbols

37signals, (Application Icons)
:before pseudo-element, (Building on Our Base)

A

absolute paths, (The Anatomy of a PhoneGap Application)
accelerometer API, (Accelerometers: Device Orientation)
accelerometers, (Accelerometers)
"Access Denied" error (PhoneGap/Blackberry), (BlackBerry)
"Access-Control-Allow-Origin error", (Fetching HTML)
activity indicator, (Spinners)
Adams, Cameron, (Performance Considerations)
"add this app" prompt, (Tell Your Users), (Local Storage)
addresses, autolinking, (Phone Numbers)
addTest() method, (Standalone Mode)
adsf, (Using Ruby)
:after pseudo-element, (Images and Pseudo-elements), (Building on Our Base)
Ajax
cross-domain requests, (Twitter Integration with Templating), (The Anatomy of a PhoneGap Application)
dynamic data, (Ajax)
hijacking links, (Ajaxifying Links)
alerts, (Alerts)
alpha channel (see transparency)
Android Market, (The Android Market)
Android SDK, (Android SDK)
Android SDK and AVD Manager, (Using the SDK Manager), (Creating an Android Virtual Device)
Android Virtual Device (AVD), (Creating an Android Virtual Device), (Android)
Android, in PhoneGap, (Android), (Android)
animations (see page transitions)
Ant, (Apache Ant), (BlackBerry)
Apache server, (Built-in Servers: Apache on Linux)
APIs
benefits of, (The Problem with Going Native)
camera, (Paparazzi—Accessing the Camera)
geolocation (see geolocation API)
history, (Back with Hardware Buttons)
media capture, (Introducing PhoneGap), (Paparazzi—Accessing the Camera)
motion, (Accelerometers: Device Orientation)
offline operation, (Going Offline)
orientation, (Device Rotation)
PhoneGap and, (Paparazzi—Accessing the Camera)
touch events, (Pinch and Zoom)
App IDs, (iOS)
app name, setting
for Android, (Android)
for Blackberry, (BlackBerry)
for iOS, (iOS)
for WebOS, (WebOS)
App Store, (The Apple App Store)
App Store effect, (Start at the Beginning)
Apple Human Interface Guidelines, (Build a Better Mouse)
Application Loader, (The Apple App Store)
arrays, (Managing History)
audio, (Dealing with the Media)
autocapitalize attribute, (Form Field Attributes)
autocorrect attribute, (Form Field Attributes)
autoplay attribute, (Dealing with the Media)
AVD (Android Virtual Device), (Creating an Android Virtual Device), (Android)

B

back button
basic, (Going Backwards)
built-in, (Back with Hardware Buttons), (Back)
history list, (Managing History)
PhoneGap and, (Back)
wireframing, (Home Screen)
Backbone, (Other Frameworks)
background color, (The Tab Bar)
Ballard, Barbara, (What does it mean?)
Balsamiq, (Sketches)
bandwidth limits, (Know Your (Resource) Limits)
"Base SDK missing" error, ( Xcode)
Base64 encoding, (Paparazzi—Accessing the Camera)
beep() method, (Alerts)
:before pseudo-element, (Images and Pseudo-elements)
bitmaps, vs SVGs, (Scalable Images)
BlackBerry App World, (BlackBerry App World)
BlackBerry SDK, (BlackBerry SDK)
BlackBerry vendor, (BlackBerry App World)
Blackberry, in PhoneGap, (BlackBerry), (BlackBerry)
bridges, (Embedding Web Pages in Native Apps), (PhoneGap JavaScript Helpers)
browser engines, (The Natives Are Restless)
browser sniffing, (Option Three: Forever Alone), (Feature Detection)
browser testing, (Fading with WebKit Animations)
BrowserField, (Embedding Web Pages in Native Apps)
browsers, embedded, (Embedding Web Pages in Native Apps), (PhoneGap)
build tools, (Apache Ant)
busy indicator, (Spinners)
buttons, (Hover Me)

C

cache disabling, (Ajaxifying Links)
cache events, (Cache Manifest Events)
cache limits, (Know Your (Resource) Limits)
cache manifest file
about, (The Cache Manifest)
debugging, (The Cache Manifest)
NETWORK vs FALLBACK, (Network and Fallback)
updating, (Cache Manifest Events)
callbacks
dialog boxes, (Dialog Boxes)
with foursquare, (Fetching Location)
geolocation, (Fetching Location)
in PhoneGap, (Learn to Love Callbacks)
camera, accessing, (Paparazzi—Accessing the Camera)
"Cannot open page error", (The Cache Manifest)
capitalization, disabling, (Form Field Attributes)
carousel pattern, (The Carousel)
CDNs (Content Distribution Networks), (Loading Your Libraries)
centering, vertical, (Rows, Rows, Rows)
Chrome, (The Cache Manifest)
click events, (Events), (Clicking with Feature Detection), (Clicking Faster)
click speed, (Clicking with Feature Detection), (Clicking Faster)
client-side data storage
local storage, (Local Storage)
Web SQL, (Web SQL Database)
clip property, (Images and Pseudo-elements)
code optimization
custom events, (Custom Events)
frameworks, (Other Frameworks)
modules, (Modules)
cognitive load, (Cognitive Load)
color
alternating, (Performance Considerations)
background, (The Tab Bar)
choosing, (Establish a Style)
scrollbars, (Fixed Menus)
tap highlighting, (Tap Highlight Color)
color input, (Form Field Attributes)
color stops, (Building on Our Base)
conditional comments, (Markup for Mobile)
confirm() method, (Alerts)
Content Distribution Networks (CDNs), (Loading Your Libraries)
content property, (Images and Pseudo-elements)
controls attribute, (Dealing with the Media)
cookies, (Tell Your Users), (Local Storage)
cropping (images), (Images and Pseudo-elements)
cross-domain requests, (Twitter Integration with Templating), (The Anatomy of a PhoneGap Application)
CSS
clearing defaults, (Style over Substance)
cropping images, (Images and Pseudo-elements)
device-fixed position, (Fixed Menus)
inserting images, (Images and Pseudo-elements)
for lists, (Rows, Rows, Rows)
positioning images, (Images and Pseudo-elements)
principles, (Style over Substance)
for tab bar, (The Tab Bar)
for tab bars, (Building on Our Base)
cssgradients class, (Building on Our Base)
custom events, (Custom Events)
Cygwin, (Make)

D

D-pads, (Build a Better Mouse)
data attributes, (Ajaxifying Links)
data-to-HTML conversion
about, (Templating)
using DOM template, (Templating)
using templating engines, (Templating)
using WebSQL, (Web SQL Database)
database, client-side, (Web SQL Database)
date input, (Form Field Attributes)
dates, storing, (Local Storage)
A Dead Simple Fileserver, (Using Ruby)
depth, creating, (Rows, Rows, Rows)
design phase
about, (Design for Mobile)
feature selection, (Rolling Up Our Sleeves), (Thinking Big), (Deciding on a Core Feature Set)
interface considerations, (Build a Better Mouse)
market research, (Start at the Beginning)
performance considerations, (Performance Considerations)
summary, (Reviewing Our Design)
testing, (Testing Design)
user profiling, (Putting Together a User Profile)
wireframing, (Sketches)
desktopCompatibility flag, (Fixed Menus)
destinationType attribute, (Paparazzi—Accessing the Camera)
developer registration
about, (App Marketplaces Can Be Complicated)
Android, (The Android Market)
Blackberry, (BlackBerry)
iOS, (iOS)
webOS, (Palm App Catalog)
development speed, (The Problem with Going Native)
device comparison table, (Using Device Features from Web Apps)
device-fixed position, (Fixed Menus)
device-width variable, (Understanding the Viewport)
DeviceMotionEvent object, (Accelerometers)
DeviceOrientation Event Specification, (Accelerometers: Device Orientation)
deviceready event, (Are we ready?)
dialog boxes, (Dialog Boxes), (Alerts)
dir command, (The Cache Manifest)
display: block, (Rows, Rows, Rows)
distribution (see selling your app)
doctype declaration, (Markup for Mobile)
DOM libraries, (Frameworks and Libraries)
dot notation, (Local Storage)
double-click, (Clicking with Feature Detection)
drop-down menus, (Hover Me)
duck-type checking, (Dialog Boxes)
dynamic data, (Ajax)

E

Eclipse, (Eclipse), (Android)
Eclipse plugin, (Installing the Eclipse Plugin)
em, (The Tab Bar)
email input, (Form Field Attributes)
email, launching, (Email)
embedded browsers, (Embedding Web Pages in Native Apps), (PhoneGap)
emulators, (Creating an Android Virtual Device)
error console, (Debugging Mobile JavaScript), (Debugging Is Painful)
events, capturing, (Clicking with Feature Detection), (Swiping Photo Gallery)
(see also feature detection)
(see also touch events)
cache events, (Cache Manifest Events)
click events, (Clicking Faster)
clicks, (Events), (Clicking with Feature Detection)
motion, (Accelerometers: Device Orientation)
mouseup, (Events)
navigation menu clicks, (Swapping Pages)
orientation change, (Device Rotation)
swipes, (Swiping Photo Gallery)
events, custom, (Custom Events)
executeSql() method, (Web SQL Database)

F

Facebook, (Option Three: Forever Alone)
fadeIn() method, (Dialog Boxes)
fadeOut() method, (Dialog Boxes)
fading
using jQuery, (Dialog Boxes)
using WebKit animations, (Fading with WebKit Animations)
FALLBACK resources, (Network and Fallback)
fastButton() method, (Clicking Faster)
feature detection, (Clicking with Feature Detection), (Feature Detection)
(see also specific features, e.g touchscreens)
feature selection, (Rolling Up Our Sleeves), (Thinking Big), (Deciding on a Core Feature Set)
file input, (Paparazzi—Accessing the Camera)
file listing, (The Cache Manifest)
file size limits, (Know Your (Resource) Limits)
find command, (The Cache Manifest)
Fioravanti, Ryan, (Clicking Faster)
Fitts’s Law, (Cognitive Load)
fixed position, (The Fix Is Out), (Standalone Mode), (Fixed Menus)
fixed scrolling, (Fixed Menus)
font size, (The Tab Bar), (Text Size Adjust)
@font-face, (Typography), (Modernizr to the Rescue)
font-size property, (The Tab Bar)
fonts, (Typography)
forms, (Adding a Sighting), (Form Field Attributes)
four-way navigation, (Build a Better Mouse)
foursquare, (Fetching Location)
frameworks, (A Note on Frameworks), (Frameworks and Libraries)
full-featured pages, (Option One: Nada)
full-screen mode (see standalone mode)
full-screen, enabling, (Standalone Mode), (iOS)

G

geo: URI, (Maps)
geolocation API
callbacks, (Fetching Location)
error handling, (Handling Errors)
fallbacks for, (Finding Sightings By Location)
fetching location, (Fetching Location)
permission issues, (Fetching Location), (Handling Errors)
PhoneGap and, (Geolocation, Storage, and Device Orientation)
timeouts, (Fetching Location)
writing location, (Fetching Location)
gesturechange, (Pinch and Zoom)
gestureend, (Pinch and Zoom)
gestures (see touch events)
gesturestart, (Pinch and Zoom)
getCurrentPosition() method, (Fetching Location)
getItem() method, (Local Storage)
getJSON() method, (Twitter Integration with Templating)
Git, (Git)
global variables, (Modules)
Glyphish, (Interface Icons)
graceful degradation, (Let’s Get Progressive)
gradients
linear, (Building on Our Base)
radial, (Building on Our Base)
transparent, (Building on Our Base), (Standalone Mode)
graphics (see icons) (see images)
graphing, (Accelerometers)
Grove, Ryan, (Know Your (Resource) Limits)

H

H.264 format, (Dealing with the Media)
hardware buttons, hijacking, (Hardware Buttons)
Helveticons, (Interface Icons)
hiding elements, (Application Icons), (Text Overflow with Ellipsis)
highlighting (taps), (Tap Highlight Color)
hijacking, (Ajaxifying Links), (Hardware Buttons)
Hijax, (Ajaxifying Links)
History API, (Back with Hardware Buttons)
history, tracking
manual, (Managing History)
using API, (Back with Hardware Buttons)
hovering, (Hover Me)
HTML
converting data to (see HTML, from data)
linking to CSS, (Style over Substance)
for lists, (Rows, Rows, Rows)
page skeleton, (Markup for Mobile)
for tab bar, (The Tab Bar)
validating, (Rows, Rows, Rows)
HTML, from data
about, (Templating)
using DOM template, (Templating)
using templating engines, (Templating)
using WebSQL, (Web SQL Database)
HTML5, support for, (The Tab Bar)
Human Interface Guidelines, (Build a Better Mouse)

I

icons
for Android, (Android)
application, (Application Icons), (Application Icons), (The Android Market)
for Blackberry, (BlackBerry)
design principles, (Application Icons)
interface, (Interface Icons)
for iOS, (iOS)
for iTunes, (The Apple App Store)
spinners, (Spinners)
in tab bar, (Swapping Pages)
task bar display, (Application Icons)
for WebOS, (WebOS)
id attribute, (The Tab Bar)
image formats, (Paparazzi—Accessing the Camera)
image sprites, (Images and Pseudo-elements)
images, (Application Icons)
(see also icons)
cropping, (Images and Pseudo-elements)
file formats, (Paparazzi—Accessing the Camera)
inserting using CSS, (Images and Pseudo-elements)
positioning, (Images and Pseudo-elements)
rotating/scaling, (Pinch and Zoom)
scalable, (Scalable Images)
size limits, (Know Your (Resource) Limits)
sourceType, (Paparazzi—Accessing the Camera)
startup, (Application Icons)
storing photos, (Paparazzi—Accessing the Camera)
transitioning, (Swiping Photo Gallery)
using media queries, (Pixel Perfection)
Infinity Blade, (Cognitive Load)
input types, (Form Field Attributes)
iOS SDK, (Apple iOS SDK), (iOS)
iOS, in PhoneGap, ( Xcode), (iOS)
IP address, finding, (Running a Server for Testing)
iPad simulator, (iOS)
Irish, Paul, (Markup for Mobile)
iScroll 4, (Fixed Menus)
iScroll Lite, (Fixed Menus)
iTunes, (The Apple App Store)

J

Java Development Kit (JDK), (The Java Development Kit), (Installing the Android SDK)
JavaScript
alerts API, (Alerts)
camera options, (Paparazzi—Accessing the Camera)
cross-platform system, (Alternatives)
deviceready event, (Are we ready?)
execution limits, (Know Your (Resource) Limits)
jQuery vs, (Frameworks and Libraries)
navigator object, (Standalone Mode)
object literals, (Modules)
orientation API, (Device Rotation)
page transitions, (Sliding)
PhoneGap bridge, (PhoneGap JavaScript Helpers)
for scrolling, (Fixed Menus)
testing with Modernizr, (Modernizr to the Rescue)
URL/function mapping, (Other Frameworks)
JDK (Java Development Kit), (The Java Development Kit), (Installing the Android SDK)
jQuery
checking for, (Loading Your Libraries)
cloning template, (Templating)
debugging, (Debugging Mobile JavaScript)
fade methods, (Dialog Boxes)
History API and, (Back with Hardware Buttons)
JavaScript vs, (Frameworks and Libraries)
load() function, (Fetching HTML)
selecting elements, (Swapping Pages)
templating engine, (Templating), (Twitter Integration with Templating)
trigger() method, (Custom Events)
Zepto project, (Frameworks and Libraries)
jQuery Mobile, (A Note on Frameworks), (Frameworks and Libraries), (Fixed Menus)
JSONP, (Twitter Integration with Templating)

K

keyboard, on-screen, (Finding Sightings By Location)
keypads, custom, (Form Field Attributes)
Koch, Peter-Paul, (Understanding the Viewport)

L

landscape vs. portrait display, (Device Rotation)
libraries, loading, (Loading Your Libraries)
lighting, (Touchable Interfaces), (Performance Considerations)
links
autocreated, (Phone Numbers)
design considerations, (Hover Me)
hijacking, (Ajaxifying Links)
to device functionality, (Nifty Links)
listing files, (The Cache Manifest)
lists
as navigation, (Lists), (Finding Sightings By Location), (Reviewing Our Design), (The Tab Bar)
CSS for, (Rows, Rows, Rows)
HTML for, (Rows, Rows, Rows)
LiveView, (Testing Design)
load() function, (Fetching HTML)
loader icon, (Spinners)
local storage, (Tell Your Users), (Local Storage)
location, finding user's, (Finding Sightings By Location), (Fetching Location)
(see also geolocation API)

M

MacPorts, (MacPorts (OS X))
manifest file
about, (The Cache Manifest)
inspecting, (The Cache Manifest)
NETWORK vs FALLBACK, (Network and Fallback)
updating, (Cache Manifest Events)
maps, opening, (Maps)
Marcotte, Ethan, (Option Two: Transform and Move Out)
margins, (The Tab Bar), (Building on Our Base)
market fragmentation, (The Problem with Going Native)
market research, (Start at the Beginning)
masks, (Dialog Boxes)
master/detail pages, (Lists), (Overview and Detail), (Reviewing Our Design), (Sliding)
Media Capture API, (Introducing PhoneGap)
media queries, (Option Two: Transform and Move Out), (Pixel Perfection)
memory limits, (Know Your (Resource) Limits)
menu button, (Menu)
meta tag, (Standalone Mode), (Phone Numbers)
meta tags, (Understanding the Viewport)
MIME types, (The Cache Manifest)
min-width, (Device Rotation)
Mobile Boilerplate, (Web App Tricks), (Clicking Faster)
Mobile Bookmark Bubble project, (Tell Your Users)
mobile sites, (Option Three: Forever Alone)
mobile users, (Why does it matter?)
mobile web, (What does it mean?)
Mockingbird, (Sketches)
Modernizr, (Modernizr to the Rescue), (Building on Our Base), (Scalable Images), (Standalone Mode)
modules, (Modules)
motion, detecting, (Accelerometers: Device Orientation)
mouse events, (Hover Me), (Simple Touch Events)
mousedown, (Simple Touch Events)
mousemove, (Simple Touch Events)
mouseover, (Simple Touch Events)
mouseup, (Events), (Simple Touch Events)
MP4, (Dealing with the Media)
multimedia, (Dealing with the Media)
Mustache, (Templating)

N

namespacing, (Modules)
native applications vs. web applications, (The Natives Are Restless)
native functionality, accessing
about, (Learn to Love Callbacks)
buttons, (Hardware Buttons)
camera, (Paparazzi—Accessing the Camera)
nav element, (The Tab Bar)
navigator object, (Standalone Mode)
navigator.network.isReachable() method, (Network Checks)
navigator.notification.alert(), (Alerts)
navigator.onLine, (Cache Manifest Events)
negative margins, (The Tab Bar), (Building on Our Base)
NETWORK resources, (Network and Fallback)
network, detecting, (Cache Manifest Events), (Network Checks)
no-js class, (Modernizr to the Rescue)
numbers, storing, (Local Storage)
numeric input, (Form Field Attributes)

O

offline error page, (Network and Fallback)
offline mode, (The Cache Manifest)
(see also cache manifest file)
about, (Going Offline)
detecting, (Cache Manifest Events)
loading libraries, (Loading Your Libraries)
Offline Web Applications API, (Going Offline)
Ogg Theora, (Dealing with the Media)
Omnigraffle, (Sketches)
online access, detecting, (Cache Manifest Events)
online whitelist, (Network and Fallback)
openDatabase() method, (Web SQL Database)
orientation API, (Device Rotation)
orientation, detecting, (Device Rotation), (Feature Detection)
overflow: hidden, (Text Overflow with Ellipsis), (Pinch and Zoom)

P

page loading
dynamic, (Ajax)
modularization, (Modules)
for photo galleries, (Swiping Photo Gallery)
scrolling issues, (Fixed Menus)
using jQuery, (Fetching HTML)
page transitions, (Going Backwards)
(see also back button)
about, (Loading Pages)
excluding from history, (Managing History)
fading, (Fading with WebKit Animations)
pub/sub model, (Custom Events)
sliding, (Sliding)
swapping, (Swapping Pages)
page, basic HTML, (Style over Substance)
Palm App Catalog, (Palm App Catalog)
PATH variable, (Windows)
paths, relative vs. absolute, (The Anatomy of a PhoneGap Application)
performance issues, (Performance Considerations), (Know Your (Resource) Limits), (Building on Our Base), (Performance Matters)
phone numbers, autolinking, (Phone Numbers)
PhoneGap
about, (PhoneGap)
alerts, (Alerts)
alternatives to, (Alternatives)
Android apps, (Android)
Android project, (Android)
API list, (Paparazzi—Accessing the Camera)
app name, setting, (iOS), (Android), (BlackBerry), (WebOS)
Blackberry apps, (BlackBerry)
Blackberry project, (BlackBerry)
button access, (Hardware Buttons)
callbacks, (Learn to Love Callbacks)
camera access, (Paparazzi—Accessing the Camera)
checking for network, (Network Checks)
debugging, (Debugging Is Painful)
deviceready event, (Are we ready?)
Eclipse/JAR error, (Android)
file loading, (The Anatomy of a PhoneGap Application)
geolocation API, (Geolocation, Storage, and Device Orientation)
hardware access, (Paparazzi—Accessing the Camera)
icons, (iOS), (Android), (BlackBerry), (WebOS)
installing, (Installing the SDKs), (Installing PhoneGap)
iOS apps, (iOS)
iOS project, ( Xcode)
JavaScript bridge, (PhoneGap JavaScript Helpers)
OAuth keys, (Fetching Location)
Retina display, (iOS)
splash screens, (iOS), (Android), (BlackBerry), (WebOS)
WebOS apps, (WebOS)
WebOS project, (WebOS)
Windows requirements, (WebOS)
Xcode project, ( Xcode)
photo galleries, (Swiping Photo Gallery), (Paparazzi—Accessing the Camera)
Pictos, (Interface Icons)
Pilgrim, Mark, (Dealing with the Media)
pinch/zoom, (Pinch and Zoom), (Fixed Menus)
pixel density (see resolution)
placeholder attribute, (Form Field Attributes)
.plist file, (iOS), (iOS)
pop() method, (Managing History)
portrait vs. landscape display, (Device Rotation)
position: fixed, (The Fix Is Out)
position: relative, (Rows, Rows, Rows)
progressive enhancement, (Option Two: Transform and Move Out), (Let’s Get Progressive)
provisioning profile, (iOS), (The Apple App Store)
pseudo-elements, (Images and Pseudo-elements)
publish/subscribe model, (Custom Events)
push() method, (Managing History)
Python server, (Using Python)

Q

queries, media, (Option Two: Transform and Move Out)
quick click, (Clicking with Feature Detection), (Clicking Faster)

R

relative font size, (The Tab Bar)
relative paths, (The Anatomy of a PhoneGap Application)
relative positioning, (Rows, Rows, Rows)
relative spacing, (The Tab Bar)
release date, (The Apple App Store)
removeItem() method, (Local Storage)
Resig, John, (Templating)
resolution, (Scalable Images)
design considerations, (Small Screens), (Interface Icons)
layout considerations, (The Tab Bar)
list by device, (Scalable Images)
multiple icons, (Application Icons)
scaling icons, (Scalable Images)
target-densitydpi property, (Understanding the Viewport)
resource limits, (Know Your (Resource) Limits)
responsive web design, (Option Two: Transform and Move Out)
Retina, (iOS)
reverse domain, (iOS)
revision control system, (Git)
RGBA notation, (Building on Our Base)
right-click equivalent, (Touch Callout)
rotation (of images), (Pinch and Zoom)
rotation property, (Pinch and Zoom)
rounded corners, (Rows, Rows, Rows), (Building on Our Base)
Ruby server, (Using Ruby)

S

Sammy.js, (Other Frameworks)
scalable vector graphics (SVGs), (Scalable Images)
scale property, (Pinch and Zoom)
screen resolution (see resolution)
screen size, (Small Screens), (Finding Sightings By Location), (Understanding the Viewport)
scrollbarColor property, (Fixed Menus)
scrolling, fixed, (Fixed Menus)
SDK and AVD Manager, (Using the SDK Manager), (Creating an Android Virtual Device)
search button, (Search)
selling your app
about, (App Marketplaces Can Be Complicated)
Android Market, (The Android Market)
App Store, (The Apple App Store)
BlackBerry App World, (BlackBerry App World)
limiting distribution, (BlackBerry App World)
market research, (Start at the Beginning)
Palm App Catalog, (Palm App Catalog)
Sencha Touch, (A Note on Frameworks), (Frameworks and Libraries)
servers
adsf, (Using Ruby)
Apache, (Built-in Servers: Apache on Linux)
finding IP address, (Running a Server for Testing)
SimpleHTTPServer, (Using Python)
Windows IIS, (Built-in Servers: IIS on Windows)
setItem() method, (Local Storage)
shadows, (Performance Considerations)
shake, detecting, (Shake Gesture)
signing apps
about, (App Marketplaces Can Be Complicated)
Android, (The Android Market)
Blackberry, (BlackBerry)
iOS, (iOS), (The Apple App Store)
SimpleHTTPServer, (Using Python)
sliding (pages), (Sliding)
Software Development Kits (SDKs), (Installing the SDKs)
(see also specific software, e.g. Java)
sourceType attribute, (Paparazzi—Accessing the Camera)
spell correct, disabling, (Form Field Attributes)
spinners, (Spinners)
splash screens
for Android, (Android)
for Blackberry, (BlackBerry)
for iOS, (iOS)
for WebOS, (WebOS)
SQL tutorials, (Web SQL Database)
SQLite, (Web SQL Database)
standalone mode, (Home Screen), (Reviewing Our Design), (Standalone Mode), (Touch Callout)
standalone property, (Standalone Mode), (Tell Your Users)
startup images, (Application Icons)
status bar, (Standalone Mode)
Stocks app, (Application Icons)
Subversion, (Git)
swapCache() method, (Cache Manifest Events)
swapping (pages), (Swapping Pages)
swipes, (Swiping Photo Gallery)

T

tab bars
about, (Tab Bar)
changing selected icon, (Swapping Pages)
CSS for, (The Tab Bar)
gradients in, (Building on Our Base)
HTML for, (The Tab Bar)
lighting, (Touchable Interfaces)
lists and, (Lists)
placement, (Tying It All Together)
in Twitter, (Tab Bar)
tap highlighting, (Tap Highlight Color)
template types, (Twitter Integration with Templating)
templating
DOM approach, (Templating)
JavaScript approach, (Templating)
Twitter feeds, (Twitter Integration with Templating)
templating engines, (Templating), (Twitter Integration with Templating)
ternary operator, (Clicking with Feature Detection)
testing, (Building on Our Base)
on Android, (Android)
app design, (Testing Design)
on Blackberry, (BlackBerry)
browsers, (Fading with WebKit Animations)
from server (see servers)
on iOS, (iOS)
on WebOS, (WebOS)
text overflow, (Text Overflow with Ellipsis)
text selection, (User Select)
text size, (Text Size Adjust)
text-overflow: ellipsis, (Text Overflow with Ellipsis)
text-shadow, (Rows, Rows, Rows)
37signals, (The Problem with Going Native)
Titanium, (Alternatives)
touch callout, (Touch Callout)
touch events, (Simple Touch Events)
(see also specific events, e.g. touchstart)
about, (Simple Touch Events), (Touch Gestures)
APIs for, (Pinch and Zoom)
emulating, (Clicking with Feature Detection)
highlighting, (Tap Highlight Color)
masking, (Dialog Boxes)
mouse analogs, (Simple Touch Events)
pinch/zoom, (Pinch and Zoom), (Fixed Menus)
swipes, (Swiping Photo Gallery)
taps, (Tap Highlight Color)
timing, (Clicking Faster)
touchability, (Touchable Interfaces)
touchend event, (Simple Touch Events), (Clicking Faster)
touchmove event, (Simple Touch Events)
touchscreens
about, (Build a Better Mouse)
detecting, (Weighing In), (Feature Detection)
keyboard display, (Finding Sightings By Location)
touchstart event, (Weighing In), (Simple Touch Events), (Clicking Faster)
transaction() method, (Web SQL Database)
transforms, (Sliding)
transitions (see page transitions)
transparency, (Building on Our Base)
trigger() method, (Custom Events)
Twitter, (Tab Bar), (Twitter Integration with Templating)
typography, (Typography)

U

UIWebView, (Embedding Web Pages in Native Apps)
ul element, (The Tab Bar)
uncanny valley, (A Note on Frameworks), (The Uncanny Valley)
url input, (Form Field Attributes)
URLs, mapping to functions, (Other Frameworks)
USB debugging, (Android)
"User denied Geolocation" error, (Handling Errors)
user profiling, (Putting Together a User Profile)

V

validation, (Rows, Rows, Rows)
version control, (Git)
vertical centering, (Rows, Rows, Rows)
vibrate() method, (Alerts)
video, (Dealing with the Media)
viewports, (Understanding the Viewport)
visibility: hidden property, (Application Icons)
Voice Memos, (Application Icons)

W

Weather app, (The Carousel)
web applications
native applications vs., (The Natives Are Restless)
websites vs., (Rolling Up Our Sleeves)
Web SQL, (Web SQL Database)
WebKit Comparison Table, (Using Device Features from Web Apps)
WebM, (Dealing with the Media)
WebOS SDK, (WebOS SDK)
WebOS, in PhoneGap, (WebOS), (WebOS)
websites
mobile sites vs., (Option Three: Forever Alone)
web applications vs., (Rolling Up Our Sleeves)
WebView, (Embedding Web Pages in Native Apps)
webviews, (Embedding Web Pages in Native Apps), (PhoneGap)
whitelist, (Network and Fallback)
Windows IIS, (Built-in Servers: IIS on Windows)
wireframes, (Sketches)
Wireless Markup Language (WML), (Markup for Mobile)
wrap text, avoiding, (Text Overflow with Ellipsis)

X

Xcode, (Xcode (OS X)), ( Xcode), (iOS), (iOS)

Z

Zeldman, Jeffrey, (Design for Mobile)
Zepto, (Frameworks and Libraries)
zooming, (Understanding the Viewport), (Pinch and Zoom), (Fixed Menus)

Only$29.95(eBook)

Build Mobile Websites and Apps for Smart Devices

Add to Cart

Take the Course!

The Build Mobile Online Course

sketch

Get the benefit of online learning with the Learnable Online Course.

It contains:

  • 6 Lessons
  • 29 Video Tutorials
  • Interactive Q&A

Plus downloads of all the HTML, CSS, and JavaScript files for each lesson.

Full Details

Customer Reviews

Live, unmoderated reviews from our customers, typos and all.
Gravatar

So far, the book seems to provide good information. I believe the bulk of the techical aspects come towards the end, of which I have not reached yet.

Eric Cattau, USA 4 stars

Gravatar

i am satisfied! I learn from it...Thanks! I hope soon with my next purchase some ebooks have free sample resources (links) for free downloads to make it much comprehensive...

Emmanuel Secretaria, USA 4 stars

Gravatar

The principles I learned from this book about mobile devices helped me create a site that earned a lot of favor with my boss. Thanks for a well written easy to understand book.

James Yates, USA 5 stars

Reviews:
See More Reviews or Write Your Own

The contents of this web page are copyright © 1998–2013 SitePoint Pty. Ltd. All Rights Reserved.