Paul Golding
Next Generation Wireless Applications
Creating Mobile Applications in a Web 2.0 and Mobile 2.0 World
Paul Golding
Next Generation Wireless Applications
Creating Mobile Applications in a Web 2.0 and Mobile 2.0 World
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
"Cuts through the hype! Golding's compelling style offers visionary, but practical insights. A "must have" reference treatment for all practitioners in the mobile innovation space." - Jag Minhas
Second edition of the 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…mehr
Andere Kunden interessierten sich auch für
- Farooq AnjumJava in Telecommunications139,99 €
- Eddie C. L. ChanIntroduction to Wireless Localization141,99 €
- James McDonaldManaging the Development of Software-Intensive Systems122,99 €
- Shoshana LoebThe Fabric of Mobile Services131,99 €
- Dieter FenselInformation Integration with Ontologies169,99 €
- Sanjay M. MishraWearable Android79,99 €
- Joseph MitolaCognitive Radio w/website191,99 €
-
-
-
"Cuts through the hype! Golding's compelling style offers visionary, but practical insights. A "must have" reference treatment for all practitioners in the mobile innovation space." - Jag Minhas
Second edition of the 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.
Next Generation Wireless Applications will prove essential reading for professionals in mobile operator and mobile application developing companies, web developers, and developer community mangers. 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." - Martin Smith
Key Features include:
_ New introductory chapters on trends in mobile application, and on becoming an operator.
_ Two new chapters on Mobile 2.0 and IMS and Mobilising Media and TV.
_ Extra material on convergence, Web 2.0 AJAX (Asynchronous JavaScript and XML), HSDPA ad MBMS (Multimedia Broadcast Multicast Service), WiMAX and WiFi.
_ Best practice on how to present to, sell to and work with operators.
_ More insights, anecdotes and sidebars reflecting the author's extensive experience in the industry.
For further information visit http://www.paulgolding.com
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Second edition of the 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.
Next Generation Wireless Applications will prove essential reading for professionals in mobile operator and mobile application developing companies, web developers, and developer community mangers. 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." - Martin Smith
Key Features include:
_ New introductory chapters on trends in mobile application, and on becoming an operator.
_ Two new chapters on Mobile 2.0 and IMS and Mobilising Media and TV.
_ Extra material on convergence, Web 2.0 AJAX (Asynchronous JavaScript and XML), HSDPA ad MBMS (Multimedia Broadcast Multicast Service), WiMAX and WiFi.
_ Best practice on how to present to, sell to and work with operators.
_ More insights, anecdotes and sidebars reflecting the author's extensive experience in the industry.
For further information visit http://www.paulgolding.com
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Verlag: Wiley & Sons
- Artikelnr. des Verlages: 14572506000
- 2. Aufl.
- Seitenzahl: 624
- Erscheinungstermin: 1. Mai 2008
- Englisch
- Abmessung: 253mm x 177mm x 41mm
- Gewicht: 1215g
- ISBN-13: 9780470725061
- ISBN-10: 0470725060
- Artikelnr.: 23328209
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
- Verlag: Wiley & Sons
- Artikelnr. des Verlages: 14572506000
- 2. Aufl.
- Seitenzahl: 624
- Erscheinungstermin: 1. Mai 2008
- Englisch
- Abmessung: 253mm x 177mm x 41mm
- Gewicht: 1215g
- ISBN-13: 9780470725061
- ISBN-10: 0470725060
- Artikelnr.: 23328209
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
Paul Golding has over fifteen years experience in the wireless and mobile technology industry. Paul runs his own consultancy company Magic E Company and is currently consulting?in the area of IP Multimedia Subsystem (IMS) and Push-to-talk over Cellular (PoC). He has worked as senior consultant within Motorola's newly formed mobile applications team involving numerous encounters with operators globally and with numerous mobile applications vendors. He also has a popular blog which features a series of 100 Mobile Ideas, which has been followed by various industry participants, including prominent companies (e.g. Yahoo, Vodafone, O2, Etisalat).
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
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
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
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