Developing for Wireless Systems

Dr. Dobb's Journal October 2001

By Barbara Lach-Smith

Barbara is pursuing a Ph.D. in technology management with a specialization in digital communications. She can be contacted at lachsmith@hotmail.com.


GPRS and 3G Wireless Applications: Professional Developer's Guide
Christoffer Andersson

John Wiley & Sons, 2001
317 pp., $49.99
ISBN 0-471-41405-0

The timing is right, the audience is ready, the technology is about to realize itself. GPRS and 3G Wireless Applications, by Christoffer Andersson, arrives at a time when mobile Internet is ready to take off, and consequently, there is an urgent need for software and content developers who have the expertise to bridge programming and web design, who can make the applications tolerant to mobile scenarios.

As top European and Japanese mobile carriers race to get the world's first 3G networks up and running, Andersson takes it upon himself to educate the average developer on the wireless theme. Although deeply rooted in the 3G systems by Ericsson (where Andersson is head of technology for the company's Mobile Applications Initiative), GPRS and 3G Wireless Applications delivers a comprehensive overview of the wireless standard. It is so comprehensive, indeed, that it reads at times more like a textbook than a guide. He writes 20 to 30 pages about main technologies, then follows with specific advice about how to create optimized applications for wireless networks. You walk away with a broad but solid understanding of the different mobile technologies, how they are related, and how to make the initial selection of the application architecture.

From the evolution of General Packet Radio Services (GPRS) to 3G networks, and from tips on avoiding problems when testing applications to tips on optimizing applications and the service network architecture/platforms, Andersson reviews the technologies underlying software development for wireless systems. You also get a peek at the future of the emerging wireless market as perceived by this seasoned 3G application developer. Coupled with a CD-ROM offering a development kit with tools to build applications based on mobile positioning, this book strives to be the all-in-one guide to mobile networks.

However, you need more than this book to create applications. You won't find many code samples and program examples — they're too limiting for the intended use of the book, Andersson admits. Instead, he explains standards from the wireless industry insider's perspective, using Ericsson material. Standards are important; standards are crucial, he insists. "My general philosophy," he says, "is that every developer should adhere to the standard if there is one, such as with WAP." Clearly, he is no fan of services-over-standards thinking, a sentiment shared by some manufacturers of 3G devices. And yet, he fails to make the connection between standards and security. (Many disparate protocols that don't necessarily work together complicate security of wireless networks, which, some argue, accounts for the major drawback in the widespread deployment of wireless LANs.)

If you are comfortable with wireless terminology and basic concepts, you can probably skip Chapters 1 and 2 and go directly to Chapter 3, in which Andersson takes a more in-depth approach to applications and their environment. Wireless experts might browse through the first five chapters and concentrate on the remaining parts. Although each of the 15 chapters may be read selectively, a consecutive approach certainly gives you a better understanding of wireless technology.

The CD-ROM contains a WAP development kit that lets you get started on WAP applications, which in turn can be tested through a few emulators of current mobile devices included in the package. Several web addresses, part of the CD package, are handy when searching for more up-to-date information on standards and available tools. So are testing templates that can be used when working on your own applications.

The book covers three major areas: An explanation of how the wireless networks work and complement each other from the application developer's perspective, an analysis of optimizing the transmission, and a description of the actual applications and other components that interact directly with them. Technology focused, the book deals with the business aspect of wireless applications only in the last chapter.

Chapter 1 examines some of the basics of wireless applications, setting the stage for abbreviations as well as naming conventions used in the book. In Chapter 2, Andersson paints the large picture of the evolution of mobile systems, followed by a description of the steps for each migration path into 3G. He explains the existence of several different 2G networks and why it has been rather difficult to achieve one unified 3G standard. He also draws an expected timeline and some of the challenges faced by operators.

"GPRS-Wireless Packet Data," Chapter 3, describes in more detail the workings of a specific system, the General Packet Radio Services. It includes some specific information about the GPRS handsets, such as how to connect other devices to the phone via the R-reference point and how to use AT-commands to access the network properties.

In Chapter 4, Andersson goes into detail about the 3G wireless systems — four main standards — and how they affect developers. The several 3G systems are created with migration from legacy systems but with a different degree of backward compatibility. Although different, the systems share many common features such as higher bit rates, more services, and quality of service (QoS). Andersson predicts that the 3G systems will appear this year first in Japan and in 2002 to the rest of the world.

Bluetooth is discussed in Chapter 5. This technology, which operates in the 2.4-GHz band and uses frequency hopping, enables devices of various functionalities from different vendors to communicate. Andersson predicts that Bluetooth "will be a major enabler of the mobile Internet." From the developer's perspective, the main consideration remains what platform to use for software applications.

In Chapter 6, Andersson abolishes the myth that mobile Internet is an extension of the Web, only without wires. The TCP/IP protocol suite was designed a long time ago and is not optimized for the properties of wireless links, so it does not perform well. The WAP protocol stack, on the other hand, addresses these issues because it was optimized for wireless from its inception. This chapter explains what to do in order to cope with problems when running the fixed Internet protocols.

Chapter 7 describes the properties of the Wireless Application Protocol. The author investigates the underlying protocols that ensure that information is transferred in a robust and efficient way with the TCP/IP protocols of the previous chapter. He also touches upon the future of WAP and XHTML.

Finally, Chapter 8 is a must-read for application developers for wireless networks. Andersson speaks about his personal experience gathered from testing wireless applications and working with developers to help them optimize the applications. "Adapting for Wireless Challenges" addresses interruptions, latency, and avoiding overhead, among other problems. The author suggests that you make the application robust and efficient. You should also consider the application type, device, and operating system when deciding whether to use middleware.

How to implement applications on the mobile networks is the subject of Chapter 9, "Application Architecture." One of the most important aspects of the 3G networks is that the architecture is layered horizontally; that is, applications can be designed to run independently of the underlying networks and interface with the control and transport functions. The open APIs make it possible to add features to the applications, like positioning and call control.

Andersson admits in Chapter 10 that vendors do not want to tell wireless application developers what future devices will look like and what properties they will have. The transition from working with hardware developers who show their products years in advance to working with manufacturers of mobile phones and PDAs who are not accustomed to such openness proves to be most difficult to many software developers. While no one knows what new devices will be developed in the future, this chapter illustrates some of the changes occurring and how to adapt one's thinking. For example, the author concludes that both input mechanisms and battery power are likely to be limiting factors that developers need to consider.

"Operating Systems and Application Environments" goes beyond the previous chapter in looking at items that can be added to devices to make application implementation easier.

In Chapter 12, Andersson addresses the issue of security for mobile Internet applications, which is significant to the end user and should be important to developers. He defines the basics of cryptography and how to use it in products. Security, he says, should be examined from an end-to-end point of view, with every link from client to server being secure.

The author describes location-based services in the next chapter. Positioning, he says, will be one of the most significant features of the mobile Internet. Handset-based, such as GPS and E-OTD, and network-based, such as UL-TOA and CGI-TA, positioning techniques are perceived as the ones to dominate the market. Andersson's suggestion: Develop for an open API that hides the detail and works independently of the underlying positioning technology.

Chapter 14 explains the different parts of the testing process, including the wireless properties as well as usability and user friendliness. The author advises that one of the keys to successful testing is to work with experienced professionals who can provide meaningful and objective feedback. He provides a list of such resources at the end of the chapter.

In the final chapter, "Getting It All Together," you learn about Andersson's ideas on how to make money from a successful mobile Internet application. In other words, take it from the industry expert: Getting prototypes out early and using the "right partners" can prove beneficial. Clearly, Andersson strives to keep the business aspect under wraps throughout most of the book, but the last chapter proves that he is a savvy business type. Partnership is the operative word. "Everyone benefits from partnering, and it often makes the development process easier," Andersson concludes.

DDJ