Acknowledgements. Preface. Abbreviations and Acronyms. 1 Prelude - The Next Generation Experience. 1.1 What is 'Next Generation' Anyhow? 1.2 The Mobile Mindset. 1.3 The Future's Bright, the Future's Ubiquity. 1.4 Our Multitasking Mobile Future. 2 Introduction. 2.1 What Does 'Next Generation' Mean? 2.2 What is a 'Wireless Application'? 2.3 A Concentric Networks Approach. 2.3.1 Social Network. 2.3.2 Device Network. 2.3.3 Radio Frequency (RF - Wireless) Network. 2.3.4 Internet Protocol (IP) Network. 2.3.5 Content Network. 2.4 Application Topologies. 2.5 Physical Network Elements. 3 Becoming an Operator 2.0. 3.1 Introduction. 3.2 What Applications Can I Sell? 3.3 Where Does the Money Come From? 3.4 Direct-to-Consumer (D2C) Retailing. 3.4.1 Application Discovery. 3.4.2 Application Distribution. 3.4.3 Application Access. 3.4.4 Charging Mechanism. 3.5 Operator Retailing. 3.6 Selling to Operators. 3.6.1 Top Ten Selling Tips. 3.6.2 Selling Apps to Operators - Operator Perspective. 3.7 Which Applications Should an Operator Deploy? 3.7.1 The Market Challenges. 3.7.2 The User-Experience Focus. 3.8 Interpreting User-Experience Trends into Applications. 3.9 Wider Digital Trends Including Web 2.0. 3.9.1 Web 2.0 and Mobile Web 2.0. 3.9.2 Mobile Web 2.0 or Mobile 2.0? 3.9.3 Content Trends. 3.10 Harnessing the Trends. 3.11 Conclusion. 4 Introduction to Mobile Service Architectures and Paradigms. 4.1 Possible Application Paradigms for Mobile Services. 4.2 Modes of Mobile Interaction. 4.3 Mapping the Interaction to the Network Model. 4.4 Mobile Interaction in the Mobile Ecosystem. 4.4.1 Social Network. 4.4.2 Device Network. 4.4.3 RF Network. 4.4.4 IP Network. 4.4.5 Content Network. 4.4.6 Machine Network. 4.5 Modes of Communication Across the Network Layers. 4.5.1 Human-to-Human Interaction (H2H). 4.5.2 Human-to-Content Interaction (H2C). 4.5.3 Human-to-Machine Interaction (H2M). 4.5.4 Machine-to-Machine Interaction (M2M). 4.6 Operator Challenges. 4.7 The Web 2.0 Challenge. 5 P-Centric Mobile Ecosystem and Web 2.0. 5.1 Introduction. 5.2 The Internet and Web 2.0. 5.3 The Challenges of Liberating Data. 5.3.1 Challenge 1: Making Database Information Human-readable. 5.3.2 Challenge 2: Adding Visual Formatting to the Database Information. 5.3.3 Challenge 3: The Need for a Protocol. 5.3.4 Challenge 4: The Need for a Delivery Mechanism. 5.4 Did We Need HTTP and HTML? 5.5 Overcoming Web Limitations with Web 2.0's AJAX, Widgets and Other Goodies. 5.6 Sidestepping the Web with P2P Interaction. 5.7 Going Beyond Publishing with Web Services. 5.8 Semantic Web. 5.9 XML Glue. 5.10 Real-Time Services. 5.10.1 Multimedia Streaming. 5.10.2 Session Initiation Protocol (SIP). 6 Client-Server Platforms for Mobile Services. 6.1 The Greater Challenges. 6.2 The Specific Challenges. 6.3 Service Delivery Platforms. 6.4 Software Services Technologies. 6.4.1 Example CS Design Issues. 6.5 Introducing J2EE - The 'Dirty Stuff' Done For Us! 6.6 Why All the Fuss About J2EE? 6.6.1 The Challenges of Integration. 6.7 Handling SIP with Java. 7 HTTP, WAP, AJAX, P2P and IM Protocols. 7.1 The Rise of the Web. 7.2 How HTTP and HTML works. 7.3 Important Detail is in the HTTP Headers. 7.4 The Challenges of Using HTTP Over a Wireless Link. 7.5 WAP Data Transmission Protocols. 7.5.1 Protocol Stack Paradigm. 7.5.2 The WAP Stack. 7.5.3 Wireless-Profiled TCP. 7.5.4 Wireless-Profiled HTTP (W-HTTP). 7.6 Wireless Protocols - WTP and WSP. 7.6.1 Introduction. 7.6.2 Wireless Transport Protocol (WTP). 7.6.3 Concatenation and Segmentation. 7.6.4 Segmentation and Reassembly in Action. 7.6.5 Wireless Session Protocol (WSP). 7.6.6 WAP Push. 7.7 AJAX. 7.8 Peer-to-Peer (P2P). 7.8.1 Defining P2P. 7.8.2 Some P2P Concepts. 7.8.3 JXTA. 7.9 Instant Messaging (IM) Protocols. 7.9.1 SIP/SIMPLE. 7.9.2 XMPP. 7.9.3 IMPS. 7.9.4 IM Interoperability. 7.9.5 Protocol Acceptance (Support). 8 J2EE Presentation Layer. 8.1 Separating Presentation from Business Logic. 8.1.1 Servlets and JSPs - 'HTTP Programs'. 8.1.2 Comparing Servlets with JSPs. 8.2 Markup Languages for Mobile Devices. 8.2.1 The HTML Foundation. 8.2.2 The Mobile Evolution (WML). 8.3 Full Circle - WML 'Becomes' XHTML. 8.3.1 XHTML is Modular. 8.3.2 XHTML Basic. 8.3.3 XHTML-MP (Mobile Profile) - The Final Frontier. 8.3.4 Using XHTML-MP. 8.3.5 Browser-specific Enhancements to XHTML-MP. 8.3.6 Guidelines for Mobile Webpage Authoring. 8.4 Managing Different Devices. 8.5 Building Device-Independent Applications. 8.5.1 Detecting and Capturing Device or Browser Information. 8.5.2 Conveying CC/PP Information. 8.5.3 Dynamic Page Generation Schemes. 8.6 Managing Sessions. 8.6.1 Cookies to the Rescue. 8.7 MMS and SMIL. 9 Using J2EE for Mobile Services. 9.1 Technologies Underpinning J2EE. 9.1.1 Containers - The J2EE 'Glue'. 9.1.2 RMI - The EJB 'Glue'. 9.1.3 Stubs and Skeletons - The Inner Workings of RMI. 9.2 Managing Security. 9.2.1 Securely Connecting the User. 9.2.2 HTTP Authentication - Basic. 9.2.3 HTTP Authentication - Digest. 9.3 Encrypting the HTTP Link. 9.3.1 Public Key Cryptography. 9.3.2 Using PKC to Secure Web Connections. 9.4 Applying SSL to Wireless. 9.5 End-to-End Encryption in a Mobile Network. 10 Mobile Devices. 10.1 Introduction. 10.2 Interface Elements. 10.2.1 Tactile Interface Elements. 10.2.2 Aural Interface Elements. 10.2.3 Vocal Interface Elements. 10.2.4 Visual Interface Elements. 10.3 Interface Layer. 10.3.1 Interfacing Via the Network Layer. 10.4 Service Layer. 10.5 Network Layer. 10.6 Role of DSP in Digital Wireless Devices. 10.6.1 Radio Frequency (RF). 10.6.2 Analog Baseband. 10.6.3 Digital Baseband. 10.6.4 Digital Signal Processor (DSP). 10.6.5 Summary. 10.7 Suggesting a Generic Device Architecture. 10.7.1 Core Processor and Operating System. 10.7.2 Digital Signal Processor. 10.7.3 Application Loader. 10.7.4 Application Programming Interfaces (APIs). 10.8 Moving Towards a Commercial Mobile Platform. 10.8.1 Communications Utilities. 10.8.2 Personal Information Management (PIM) Utilities. 11 Mobile Application Paradigms. 11.1 Introduction. 11.2 Application Topologies. 11.3 Embedded Applications. 11.3.1 What Do We Need to Develop an Embedded Application? 11.3.2 C and C++ Are Not the Only Choices. 11.3.3 'Native' Java Support. 11.4 Embedded Development Tools. 11.4.1 Design. 11.4.2 Configuring the IDE/Program Editing/Compilation and Build. 11.4.3 Testing and Debugging with a Simulator. 11.4.4 Testing on the Target Device. 11.4.5 Conducting Usability Tests. 11.4.6 Pilot Trials and Deployment. 11.5 Browser-based Applications. 11.5.1 Limited Local Processing. 11.5.2 Requires an Available Network Connection (Caching). 11.5.3 User Interface Constraints. 11.6 Java Platform Applications. 11.7 The Java Ethos - a Tale of Two Parts. 11.8 Java 2 Micro Edition - 'Wireless Java'. 11.9 Using MIDP to Develop Mobile Applications. 11.10 What Does MIDP 2.0 Offer? 11.10.1 Application Packaging and Delivery. 11.10.2 API Summary. 11.10.3 User Interface APIs. 11.10.4 Networking API. 11.10.5 Securing the APIs. 11.10.6 Push Mechanism. 11.11 MIDP OTA Download Mechanism. 11.12 What Does MIDP 3.0 Offer? 11.13 On-Device Portals. 11.13.1 Introduction. 11.13.2 ODPs. 11.13.3 Alternative Application Paradigms - Opera Platform. 12 The RF Network. 12.1 The Essence of Cellular Networks. 12.1.1 RF Network Convergence. 12.2 The Radio Part. 12.2.1 Basic RF. 12.2.2 Building an RF Network. 12.2.3 Increasing Capacity Using TDMA. 12.2.4 Increasing Capacity Using CDMA. 12.3 The Harsher Reality of Cellular Systems. 12.3.1 Data-Rate Variation. 12.4 Mobile Broadband Networks. 12.4.1 HSPA. 12.4.2 WiMAX. 12.5 Techniques for Adaptation. 12.6 Cellular Network Operation. 12.6.1 Getting Data In and Out. 12.6.2 Gateway GPRS Service Node. 12.7 Accessing Network Assets. 12.7.1 J2EE Revisited. 12.7.2 Service Delivery Platforms Based on Web Services. 12.7.3 Standards for the Service Layer APIs - Parlay/OSA. 12.8 Parlay X (Parlay Web Services). 12.8.1 What Does a Parlay X Message Look Like? 13 Mobile Location Services. 13.1 'I've Just Run Someone Over'. 13.2 'Where Am I?'. 13.3 Message Handling Using J2EE. 13.4 Accuracy of Location-Based Services (LBS). 13.5 Interfacing LBS Applications with the Cellular Network. 13.6 Integrating LBS Applications. 13.7 Multimedia Messaging (MM). 13.7.1 Composing MMS Messages. 13.8 Getting in the Zone with Splash (Spatial) Messaging. 13.8.1 Introduction. 13.8.2 Connectedness of Things. 13.8.3 Making a Splash. 13.8.4 Splash-Messaging Summary. 14 Mobile 2.0 and IMS. 14.1 Introduction. 14.2 Mobile Transformation. 14.3 IMS - What is it Really? 14.4 Why is IMS Important? 14.5 Start Here: Internet Telephony, or VoIP. 14.6 Session Initiation Protocol (SIP). 14.6.1 Making the Connection. 14.6.2 The CSCF Triad. 14.6.3 Media Support. 14.6.4 Media Out of IMS Control. 14.6.5 Telephony Gateway Support. 14.6.6 More Than Just SIP. 14.7 The Promise of a Common Services Environment. 14.7.1 Seamless Mobility and Convergence. 14.8 IMS as a Convergence Catalyst. 14.8.1 Mobile Roots, Fixed Branches. 14.8.2 Spanning the Mobile-fixed Divide - TISPAN. 14.8.3 A Winding Path to Convergence. 14.9 End Here: Beyond VoIP - Application Servers. 14.10 IMS Service Concept. 14.11 Service Examples. 14.11.1 Multimodal Chat. 14.11.2 Push-To-Taxi. 14.11.3 Avatar Chat. 14.12 The Universal Client and Web 2.0. 14.13 Conclusion. 15 Mobilising Media and TV. 15.1 Introduction. 15.2 Why 'Experience'? 15.3 Unique Mobilisation Characteristics. 15.3.1 Pervasiveness - Always On. 15.3.2 Personalising the Experience. 15.3.3 Merchandising - Paying is a Familiar Experience. 15.4 The Content Experience. 15.5 Mobilisation Options. 15.5.1 Client Versus Clientless: to WAP or Not to WAP. 15.5.2 On-Device Portals: Using Clients to Engage the User. 15.5.3 Offering Video Services. 15.6 Mobile TV. 15.6.1 Unicast (and Multicast) TV and Video. 15.6.2 Broadcast TV and Video. 15.7 Mobile TV is Not TV on the Mobile. 15.7.1 Interactivity. 15.7.2 Made-for-Mobile Production. 15.7.3 Time and Place Shifted Viewing. 15.7.4 TV-Centric Convergence. 15.8 Commercial Considerations. 15.9 Monetisation. 15.9.1 Subscription Models. 15.9.2 Advertising Models. Index.