Table of Contents
Preface
Chapter 1: Getting Mobile
Chapter 2: Starting Your Mobile Site
Chapter 3: Building Pizza On The Run
Chapter 4: Adapting to User Devices
Chapter 5: Developing Standards- Compliant Sites
Chapter 6: Sending Text Messages
Chapter 7: Adding Spice to Messages: MMS
Chapter 8: Making Money via Mobile Devices
Chapter 9: Interactive Voice
Chapter 10: Mobile AJAX
Chapter 11: Mobile Web 3.0?
Index
- Chapter 1: Getting Mobile
- What is Mobile Web?
- Mobile Web Integration is Connecting the Two!
- The First Step—Understanding Mobile Devices
- Mobile Phones
- PDAs
- Other Devices
- Mobile Data Usage is Exploding
- Mobile Usage Around the World is Not the Same
- Mobiles and Desktops
- People Use Their Mobiles Differently Than Their Desktops
- How Would You Do This Using Your Mobile?
- People Use Their Mobiles Differently Than Their Desktops
- It's Not All Rosy—Mobile Devices have Limitations
- Advantages of Mobile Web
- But There are Many Ways to Do Mobile Web Development!
- What About WAP?
- Bringing Order with Standards and Guidelines
- Adaptation is Better, but LCD is Easier
- Summary
- What is Mobile Web?
- Chapter 2: Starting Your Mobile Site
- Pizza On The Run and the Mobile Web
- Different Options for Going Mobile
- Do Nothing
- When to Use This Approach
- When to Avoid This Approach
- Remove Formatting
- When to Use This Approach
- When to Avoid This Approach
- CSS-Based Design
- When to Use This Approach
- When to Avoid This Approach
- Mobile Site
- When to Use This Approach
- When to Avoid This Approach
- Do Nothing
- Mobile Navigation and Information Architecture
- Step-By-Step: Planning the Structure of Your Mobile Site
- Handy Tips in Structuring Your Mobile Site
- Setting Up the Development Environment
- Hosting Your Mobile Site is Trivial
- POTR Mobile Homepage
- Making a Call is as Simple as Email
- Understanding the Homepage
- Document Structure
- Fundamentals of XHTML MP
- Before Writing Further Code, Let's Learn Some Grammar
- Most Common HTML Elements are Supported
- XHTML MP Does Not Support Many WML Features
- Summary
- Chapter 3: Building Pizza On The Run
- Luigi's Pizza On The Run
- Designing Layouts for the Mobile Web
- Mobile Screen Sizes
- Colors, Images, Page Sizes, and More
- To Mobile or Not to Mobile?
- Web Layouts Don't Work on Mobile Devices
- Using Wireless CSS as the Silver Bullet, Almost!
- Creating the Database and Code Architecture for POTR
- Classes for POTR
- Database Schema
- Coding Framework
- Redoing the POTR Homepage
- Form Elements Don't Look the Same Across Browsers
- Form Processing Does not Change!
- Handling Sessions and User Login
- Taking Orders
- Constraining User Input with WCSS
- Single-Step Registration and Order Placement on POTR
- Special Effects with CSS
- Luigi's Pizza On The Run is Live!
- Summary
- Chapter 4: Adapting to User Devices
- What is Adaptation?
- Do I Need Adaptation?
- Can't I just Use Common Capabilities and Ignore the Rest?
- How to Determine the LCD?
- OK, So How do I Adapt?
- Fancy Pizza Selection
- What are Those <wall:*> Tags?
- Let's Make Sense of This Code!
- Can I Use All XHTML Tags?
- Will This Work Well for WML?
- Device Detection and Capabilities
- XML Processing can Bog Down My Server, is There Something Easier?
- What About W3C's DIAL?
- What is Adaptation?
- Other Useful Tools for Adaptation
- Dynamically Resizing Images
- Quick and Easy Way to Make Your Blog Mobile
- MyMobileWeb: Going the Semantic Way
- HAWHAW: As Simple as a Laugh?
- Summary
- Chapter 5: Developing Standards- Compliant Sites
- Running the ready.mobi Test
- Time for Action: Test Your Site's Mobile Readiness with the ready.mobi Test
- Running the ready.mobi Test
- Creating the Structure, Design, Markup, and Navigation for Best User Experience
- Mobile Web Development Checklists
- Strategy
- Testing Setup
- Structure and Page Information
- Design and CSS
- Images
- Navigation and Links
- Content
- Markup
- User Input
- Objects, Security, Caching, Etc.
- Best Practices should be Upgraded!
- Most Good Styles of Design and Software will Work on the Mobile Web Too
- Mobile Web Development Checklists
- Collecting User Behavior Data
- Time for Action: Implementing User Tracking
- How is All the Data Tracked?
- Covering Problem Areas
- Tapping into the Device Data
- Making it Easier to Ask for Help
- Summary
- Chapter 6: Sending Text Messages
- Updating Order Status
- Time for Action: Updating Order Status
- Updating Order Status
- Sending SMS Notifications
- Getting Started with a Gateway
- Time for Action: Registering on Clickatell
- Integrating with Clickatell
- Time for Action: Integrating with Clickatell to Send SMS Notifications
- What Just Happened?
- Getting Started with a Gateway
- So What Happens at the Gateway?
- Finding Message Delivery Status
- Time for Action: Tracking Queued Messages
- Querying for Message Status
- Lessen the Load with Status Update Callbacks
- Before You Decide on a Gateway
- Sending SMS from Your Own Computer
- Sending Bulk Messages
- Summary
- Chapter 7: Adding Spice to Messages: MMS
- Creating a "Special Offers" MMS message
- Time for Action: Compose an MMS message using Nokia Tools
- What Just Happened: Understanding MMS Structure
- Creating a "Special Offers" MMS message
- Controlling Message Presentation
- Understanding SMIL Elements
- Modules and Elements of SMIL 2.1 Mobile Profile
- More SMIL: Applying Transitions
- Understanding SMIL Elements
- Sending Multimedia Messages through Our Gateway
- Time for Action: Sending MMS Messages via Clickatell
- How is an MMS Message Sent?
- MMS Gateways do Good Work
- Receiving Photos from Customers via MMS
- Time for Action: Decoding an MMS Message
- What Just Happened: Decoding the MMS Message
- MMS's Potential is Yet to Be Exploited!
- Summary
- Chapter 8: Making Money via Mobile Devices
- Getting Money through PayPal
- Time for Action: Setting Up the PayPal Account for Mobile Payments
- Why This Configuration?
- Mobile Checkout is a Three-Step Flow
- Time for Action: Integrating PayPal Mobile Checkout with POTR
- How Does This Work?
- Getting Money through PayPal
- Evaluating Mobile Payment Methods
- Premium SMS
- WAP-Based Credit Card Payment
- Direct Billing
- Proximity Payment
- Security Concerns in Mobile Payments
- Using SMS in Mobile Payment
- Receiving Text Messages
- Getting a Short Code
- Receiving Messages via Clickatell
- Sending Messages That Can Be Replied To
- Getting a Short Code
- Making it Easier—Payment Gateways Help get More Money!
- Summary
- Chapter 9: Interactive Voice
- First, Some Basics
- Busting Some Jargon
- IVR Infrastructure: Hosted or Owned?
- Time for Action: Setting Up an Interactive Voice Response Platform
- Designing the Call Flow of Our Application
- Creating an Application to Play Audio
- Time for Action: Creating an Application and Welcoming Callers
- First, Some Basics
- Making Choices by Key Presses
- Time for Action: Prompting the User for Next Action
- Transferring Calls in Voice XML
- Handling Errors
- Adding Global Navigation with the <link> Tag
- Recognizing Voice
- Storing Variables at the Application Level
- Detecting the Caller's Phone Number
- Time for Action: Let's Put It All Together
- Writing Complex Grammar Rules
- Time for Action: Writing Complex Grammars
- Selecting the Topping and Quantity
- Confirming and Submitting an Order
- Time for Action: Confirming and Submitting an Order
- How Did It Turn It All Around?
- Summary
- Chapter 10: Mobile AJAX
- Getting Pizza Recipes via AJAX
- Devising our AJAX Strategy
- Time for Action: Showing Recipes
- What's Going on in the Background?
- What if Your Device Does Not Support AJAX?
- Adding Navigation
- Time for Action: Adding Navigation for Recipes
- Devising our AJAX Strategy
- Adding Comments
- Time for Action: Submitting Comments
- What's the Deal with All that Form Code?
- I Want More AJAX on My Mobile!
- Getting Pizza Recipes via AJAX
- Understanding iPhone Application Development
- More Ways to Build Rich Mobile Apps
- Summary
- Chapter 11: Mobile Web 3.0?
- Mobile Web Applications are Growing Faster than Humans
- Mobile Widgets and Mobile Browsers
- The Advantages of Mobile Widgets
- Mobile Browsers Get Better
- Do We Need Server-Side Adaptation?
- Connectivity—Mobile Networks and Occasionally Connected Devices
- Occasionally Connected Computing
- Androids will Invade Your Mobile Space Soon!
- Getting Inside the Android
- Other Players
- Is the Mobile the Next Computer?
- How will People Use Their Mobile Computer?
- Mobile is Not Limited to Phones
- Some More Analysis!
- Location-Based Services will Mushroom
- SMS Messaging will Continue Its Hold
- Mobile Payments will Happen, Albeit Slowly
- You will Build Some Kickass Mobile Web Applications
- Resources for Mobile Web Integration
- Summary