Freshly Printed - allow 7 days lead
Couldn't load pickup availability
Next Generation Wireless Applications
Creating Mobile Applications in a Web 2.0 and Mobile 2.0 World
Paul Golding (Author)
9780470725061, Wiley
Hardback, published 8 April 2008
626 pages
25.2 x 17.7 x 4 cm, 1.276 kg
"Cuts through the hype! Golding's compelling offers visionary, but practical insights. A "must have" reference treatment for all practitioners in the mobile innovation space." Second edition of this best-selling guide to Wireless Applications: fully revised, updated and with brand new material! In Next Generation Wireless Applications, Second Edition, the author establishes a picture of the entire mobile application ecosystem, and explains how it all fits together. This edition builds upon the successes of the first edition by offering an up-to-date holistic guide to mobile application development, including an assessment of the applicability of new mobile applications, and an exploration into the developments in a number of areas such as Web 2.0, 3G, Mobile TV, J2ME (Java 2 Micro Edition) and many more. Key features of this second edition include: Next Generation Wireless Applications will prove essential reading for professionals in mobile operator and mobile application developing companies, web developers, and developer community managers. Media companies, general managers, business analysts, students, business consultants, and Java developers will also find this book captivating. "If you want to understand the future of mobile applications and services, their potential impact and the growth opportunities this is the perfect starting point."
—Jag Minhas, Telefónica O2 Europe
—Martin Smith, Head of Content Innovation & Applications, T-Mobile
Acknowledgements xv Preface xvii Abbreviations and Acronyms xix 1 Prelude – The Next Generation Experience 1 1.1 What is ‘Next Generation’ Anyhow? 1 1.2 The Mobile Mindset 2 1.3 The Future’s Bright, the Future’s Ubiquity 3 1.4 Our Multitasking Mobile Future 9 2 Introduction 11 2.1 What Does ‘Next Generation’ Mean? 11 2.2 What is a ‘Wireless Application’? 13 2.3 A Concentric Networks Approach 14 2.3.1 Social Network 15 2.3.2 Device Network 16 2.3.3 Radio Frequency (RF – Wireless) Network 17 2.3.4 Internet Protocol (IP) Network 19 2.3.5 Content Network 20 2.4 Application Topologies 21 2.5 Physical Network Elements 24 3 Becoming an Operator 2.0 27 3.1 Introduction 27 3.2 What Applications Can I Sell? 28 3.3 Where Does the Money Come From? 29 3.4 Direct-to-Consumer (D2C) Retailing 30 3.4.1 Application Discovery 30 3.4.2 Application Distribution 32 3.4.3 Application Access 33 3.4.4 Charging Mechanism 33 3.5 Operator Retailing 34 3.6 Selling to Operators 35 3.6.1 Top Ten Selling Tips 35 3.6.2 Selling Apps to Operators – Operator Perspective 37 3.7 Which Applications Should an Operator Deploy? 38 3.7.1 The Market Challenges 38 3.7.2 The User-Experience Focus 39 3.8 Interpreting User-Experience Trends into Applications 40 3.9 Wider Digital Trends Including Web 2.0 41 3.9.1 Web 2.0 and Mobile Web 2.0 41 3.9.2 Mobile Web 2.0 or Mobile 2.0? 43 3.9.3 Content Trends 44 3.10 Harnessing the Trends 47 3.11 Conclusion 48 4 Introduction to Mobile Service Architectures and Paradigms 49 4.1 Possible Application Paradigms for Mobile Services 49 4.2 Modes of Mobile Interaction 53 4.3 Mapping the Interaction to the Network Model 54 4.4 Mobile Interaction in the Mobile Ecosystem 57 4.4.1 Social Network 58 4.4.2 Device Network 59 4.4.3 RF Network 61 4.4.4 IP Network 66 4.4.5 Content Network 67 4.4.6 Machine Network 70 4.5 Modes of Communication Across the Network Layers 70 4.5.1 Human-to-Human Interaction (H2H) 70 4.5.2 Human-to-Content Interaction (H2C) 73 4.5.3 Human-to-Machine Interaction (H2M) 75 4.5.4 Machine-to-Machine Interaction (M2M) 77 4.6 Operator Challenges 79 4.7 The Web 2.0 Challenge 83 5 P-Centric Mobile Ecosystem and Web 2.0 85 5.1 Introduction 85 5.2 The Internet and Web 2.0 91 5.3 The Challenges of Liberating Data 93 5.3.1 Challenge 1: Making Database Information Human-readable 95 5.3.2 Challenge 2: Adding Visual Formatting to the Database Information 100 5.3.3 Challenge 3: The Need for a Protocol 102 5.3.4 Challenge 4: The Need for a Delivery Mechanism 106 5.4 Did We Need HTTP and HTML? 109 5.5 Overcoming Web Limitations with Web 2.0’s AJAX, Widgets and Other Goodies 111 5.6 Sidestepping the Web with P2P Interaction 114 5.7 Going Beyond Publishing with Web Services 117 5.8 Semantic Web 120 5.9 XML Glue 122 5.10 Real-Time Services 124 5.10.1 Multimedia Streaming 124 5.10.2 Session Initiation Protocol (SIP) 127 6 Client–Server Platforms for Mobile Services 129 6.1 The Greater Challenges 130 6.2 The Specific Challenges 134 6.3 Service Delivery Platforms 136 6.4 Software Services Technologies 139 6.4.1 Example CS Design Issues 141 6.5 Introducing J2EE – The ‘Dirty Stuff’ Done For Us! 146 6.6 Why All the Fuss About J2EE? 148 6.6.1 The Challenges of Integration 149 6.7 Handling SIP with Java 156 7 HTTP, WAP, AJAX, P2P and IM Protocols 159 7.1 The Rise of the Web 159 7.2 How HTTP and HTML works 160 7.3 Important Detail is in the HTTP Headers 164 7.4 The Challenges of Using HTTP Over a Wireless Link 167 7.5 WAP Data Transmission Protocols 171 7.5.1 Protocol Stack Paradigm 171 7.5.2 The WAP Stack 173 7.5.3 Wireless-Profiled TCP 176 7.5.4 Wireless-Profiled HTTP (W-HTTP) 179 7.6 Wireless Protocols – WTP and WSP 183 7.6.1 Introduction 183 7.6.2 Wireless Transport Protocol (WTP) 184 7.6.3 Concatenation and Segmentation 186 7.6.4 Segmentation and Reassembly in Action 187 7.6.5 Wireless Session Protocol (WSP) 188 7.6.6 WAP Push 189 7.7 Ajax 192 7.8 Peer-to-Peer (P2P) 193 7.8.1 Defining P2P 193 7.8.2 Some P2P Concepts 194 7.8.3 Jxta 195 7.9 Instant Messaging (IM) Protocols 198 7.9.1 Sip/simple 198 7.9.2 Xmpp 200 7.9.3 Imps 201 7.9.4 IM Interoperability 202 7.9.5 Protocol Acceptance (Support) 203 8 J2EE Presentation Layer 207 8.1 Separating Presentation from Business Logic 207 8.1.1 Servlets and JSPs – ‘HTTP Programs’ 209 8.1.2 Comparing Servlets with JSPs 211 8.2 Markup Languages for Mobile Devices 214 8.2.1 The HTML Foundation 215 8.2.2 The Mobile Evolution (WML) 218 8.3 Full Circle – WML ‘Becomes’ XHTML 226 8.3.1 XHTML is Modular 227 8.3.2 XHTML Basic 229 8.3.3 XHTML-MP (Mobile Profile) – The Final Frontier 233 8.3.4 Using XHTML-MP 234 8.3.5 Browser-specific Enhancements to XHTML-MP 239 8.3.6 Guidelines for Mobile Webpage Authoring 242 8.4 Managing Different Devices 247 8.5 Building Device-Independent Applications 250 8.5.1 Detecting and Capturing Device or Browser Information 252 8.5.2 Conveying CC/PP Information 254 8.5.3 Dynamic Page Generation Schemes 259 8.6 Managing Sessions 270 8.6.1 Cookies to the Rescue 272 8.7 MMS and SMIL 277 9 Using J2EE for Mobile Services 283 9.1 Technologies Underpinning J2EE 284 9.1.1 Containers – The J2EE ‘Glue’ 284 9.1.2 RMI – The EJB ‘Glue’ 287 9.1.3 Stubs and Skeletons – The Inner Workings of RMI 288 9.2 Managing Security 293 9.2.1 Securely Connecting the User 294 9.2.2 HTTP Authentication – Basic 295 9.2.3 HTTP Authentication – Digest 298 9.3 Encrypting the HTTP Link 303 9.3.1 Public Key Cryptography 305 9.3.2 Using PKC to Secure Web Connections 306 9.4 Applying SSL to Wireless 310 9.5 End-to-End Encryption in a Mobile Network 313 10 Mobile Devices 317 10.1 Introduction 317 10.2 Interface Elements 319 10.2.1 Tactile Interface Elements 319 10.2.2 Aural Interface Elements 323 10.2.3 Vocal Interface Elements 323 10.2.4 Visual Interface Elements 324 10.3 Interface Layer 325 10.3.1 Interfacing Via the Network Layer 327 10.4 Service Layer 328 10.5 Network Layer 329 10.6 Role of DSP in Digital Wireless Devices 333 10.6.1 Radio Frequency (RF) 334 10.6.2 Analog Baseband 334 10.6.3 Digital Baseband 335 10.6.4 Digital Signal Processor (DSP) 341 10.6.5 Summary 341 10.7 Suggesting a Generic Device Architecture 342 10.7.1 Core Processor and Operating System 343 10.7.2 Digital Signal Processor 346 10.7.3 Application Loader 349 10.7.4 Application Programming Interfaces (APIs) 349 10.8 Moving Towards a Commercial Mobile Platform 354 10.8.1 Communications Utilities 355 10.8.2 Personal Information Management (PIM) Utilities 360 11 Mobile Application Paradigms 365 11.1 Introduction 365 11.2 Application Topologies 365 11.3 Embedded Applications 367 11.3.1 What Do We Need to Develop an Embedded Application? 368 11.3.2 c and c++ Are Not the Only choices 369 11.3.3 ‘Native’ Java Support 370 11.4 Embedded Development Tools 373 11.4.1 Design 374 11.4.2 Configuring the IDE/Program Editing/Compilation and Build 376 11.4.3 Testing and Debugging with a Simulator 377 11.4.4 Testing on the Target Device 380 11.4.5 Conducting Usability Tests 382 11.4.6 Pilot Trials and Deployment 383 11.5 Browser-based Applications 393 11.5.1 Limited Local Processing 396 11.5.2 Requires an Available Network Connection (Caching) 397 11.5.3 User Interface Constraints 398 11.6 Java Platform Applications 399 11.7 The Java Ethos–aTaleofTwoParts 399 11.8 Java 2 Micro Edition – ‘Wireless Java’ 405 11.9 Using MIDP to Develop Mobile Applications 409 11.10 What Does MIDP 2.0 Offer? 412 11.10.1 Application Packaging and Delivery 413 11.10.2 API Summary 414 11.10.3 User Interface APIs 414 11.10.4 Networking API 418 11.10.5 Securing the APIs 419 11.10.6 Push Mechanism 419 11.11 MIDP OTA Download Mechanism 420 11.12 What Does MIDP 3.0 Offer? 424 11.13 On-Device Portals 426 11.13.1 Introduction 426 11.13.2 ODPs 427 11.13.3 Alternative Application Paradigms – Opera Platform 429 12 The RF Network 433 12.1 The Essence of Cellular Networks 434 12.1.1 RF Network Convergence 436 12.2 The Radio Part 439 12.2.1 Basic RF 440 12.2.2 Building an RF Network 442 12.2.3 Increasing Capacity Using TDMA 446 12.2.4 Increasing Capacity Using CDMA 448 12.3 The Harsher Reality of Cellular Systems 451 12.3.1 Data-Rate Variation 453 12.4 Mobile Broadband Networks 456 12.4.1 Hspa 457 12.4.2 WiMAX 459 12.5 Techniques for Adaptation 460 12.6 Cellular Network Operation 465 12.6.1 Getting Data In and Out 467 12.6.2 Gateway GPRS Service Node 468 12.7 Accessing Network Assets 472 12.7.1 J2EE Revisited 478 12.7.2 Service Delivery Platforms Based on Web Services 483 12.7.3 Standards for the Service Layer APIs – Parlay/OSA 485 12.8 Parlay X (Parlay Web Services) 488 12.8.1 What Does a Parlay X Message Look Like? 490 13 Mobile Location Services 495 13.1 ‘I’ve Just Run Someone Over’ 495 13.2 ‘Where Am I?’ 496 13.3 Message Handling Using J2EE 503 13.4 Accuracy of Location-Based Services (LBS) 507 13.5 Interfacing LBS Applications with the Cellular Network 512 13.6 Integrating LBS Applications 517 13.7 Multimedia Messaging (MM) 521 13.7.1 Composing MMS Messages 523 13.8 Getting in the Zone with Splash (Spatial) Messaging 532 13.8.1 Introduction 532 13.8.2 Connectedness of Things 532 13.8.3 Making a Splash 532 13.8.4 Splash-Messaging Summary 538 14 Mobile 2.0 and IMS 541 14.1 Introduction 541 14.2 Mobile Transformation 541 14.3 IMS – What is it Really? 543 14.4 Why is IMS Important? 544 14.5 Start Here: Internet Telephony, or VoIP 544 14.6 Session Initiation Protocol (SIP) 545 14.6.1 Making the Connection 545 14.6.2 The CSCF Triad 549 14.6.3 Media Support 551 14.6.4 Media Out of IMS Control 553 14.6.5 Telephony Gateway Support 553 14.6.6 More Than Just SIP 555 14.7 The Promise of a Common Services Environment 557 14.7.1 Seamless Mobility and Convergence 557 14.8 IMS as a Convergence Catalyst 558 14.8.1 Mobile Roots, Fixed Branches 558 14.8.2 Spanning the Mobile-fixed Divide – TISPAN 559 14.8.3 A Winding Path to Convergence 559 14.9 End Here: Beyond VoIP - Application Servers 561 14.10 IMS Service Concept 561 14.11 Service Examples 563 14.11.1 Multimodal Chat 563 14.11.2 Push-To-Taxi 564 14.11.3 Avatar Chat 566 14.12 The Universal Client and Web 2.0 566 14.13 Conclusion 568 15 Mobilising Media and TV 569 15.1 Introduction 569 15.2 Why ‘Experience’? 570 15.3 Unique Mobilisation Characteristics 571 15.3.1 Pervasiveness – Always On 571 15.3.2 Personalising the Experience 571 15.3.3 Merchandising – Paying is a Familiar Experience 572 15.4 The Content Experience 572 15.5 Mobilisation Options 572 15.5.1 Client Versus Clientless: to WAP or Not to WAP 573 15.5.2 On-Device Portals: Using Clients to Engage the User 576 15.5.3 Offering Video Services 577 15.6 Mobile TV 578 15.6.1 Unicast (and Multicast) TV and Video 579 15.6.2 Broadcast TV and Video 580 15.7 Mobile TV is Not TV on the Mobile 582 15.7.1 Interactivity 583 15.7.2 Made-for-Mobile Production 584 15.7.3 Time and Place Shifted Viewing 584 15.7.4 TV-Centric Convergence 584 15.8 Commercial Considerations 585 15.9 Monetisation 586 15.9.1 Subscription Models 586 15.9.2 Advertising Models 587 Index 589
Subject Areas: Electronics & communications engineering [TJ]
