 |
[Special Report]
Common Challenges Lurk In Application Development
To make successful products, it's vital to recognize and appreciate the most common obstacles to developing software applications on mobile wireless devices.
John Blyler
April 2004
 |
|
|
The development of software applications that run on mobile wireless devices is a relatively young but growing field. The creation of these applications requires a set of skills that isn't commonly found among PC application developers. Those developers simply aren't familiar with the unique requirements posed by the mobile nature of many wireless devices. These requirements exist whether the developer is dealing with a cell phone, PDA, or other handheld device.
What do engineers list as the biggest headaches in developing wireless software applications? The 10 most common obstacles are covered below. They've been compiled from a recent survey of working professionals. By recognizing these common problem areas, developers can meet these obstacles with preparation instead of surprise.
- Application Portability
Almost every respondent in this survey pointed to portability issues as his or her chief challenge. Senior programmers at Verizon Wireless (www.verizonwireless.com), for example, acknowledged that porting applications across multiple handsets with different screen sizes, keypad types, and processor types is a major concern. This problem is compounded further when programs must be ported across numerous carriers that each have multiple handsets. This can lead to 40 or 50 variations of the application that must be ported, notes Mike Yuen, Director of BREW Developer Relations for Qualcomm Internet Services (www.qualcomm.com). Mike sees this obstacle as more of an operational challenge than a technical problem. Wireless game developers, for example, must recognize the keypad input limits of certain handsets. While pressing multiple keys at the same time may be a feature that's supported on high-end handsets, it wouldn't work on low-end units.
- Resource Constraints
Compared to the desktop-computing environment, one of the biggest differences in creating applications for mobile wireless devices is the introduction of resource constraints. Inexperienced developers often struggle with optimizing their code size to deal with constraints like limited memory size. Another example is the slower processor speed offered by lower-end handsets, which prohibits the use of applications that are based on frame rates. According to Jason Loia, Managing Director of Entertainment and Media at Lavastorm Engineering (www.lavastorm-engineering.com), "Application-size limits on lower-end devices are atrocious to work with. This is especially the case when you want to have some networking, high-quality graphics, and sound in your game."
- Server-Side Infrastructures
Many interactive wireless-handset applications, such as those for entertainment or office productivity, require a robust server-side component. Yet Xavier Facon, CTO for Crisp Wireless (www.crispwireless.com), points out that many developers lack the required infrastructure background, application-provisioning software, and access to messaging gateways that are needed for successful interactive programs.
Several application issues are really more related to the network infrastructure. But at least developers should recognize them as concerns. Linda Everk, Broadbeam Corp.'s (www.broadbeam.com) Executive Director, Marketing, says that developers need to know how data is "pushed" (i.e., dispatched) from the server to the client when the device's IP address changes throughout the day. Other obstacles include the ease with which they can integrate existing back-end applications.
- Access To New Devices
Development cycles for handset applications are perhaps the shortest of any mobile wireless device. New handsets are introduced to the market every three to six months. It's therefore very difficult for developers to gain early access to handsets for testing purposes. A similar argument holds true for the latest versions of popular device operating systems (OSs).
Qualcomm's Mike Yuen explains that only a handful of pre-commercial handsets are available for developers. In the development of a personal-computer application, everyone has access to even the latest PC. But new cellular handsets are hard to come by. He adds that even when they are available, most pre-commercial handsets are still going through the rigors of the final hardware-debugging process. The software developer is therefore left trying to create his or her application on unstable hardware.
- Security Issues
Application developers must understand the inherent security challenges of a mobile device. Chief among these limitations is the power-sensitive nature of most handsets. In response, developers must make use of computationally efficient security programs like certain types of cryptographic technologies, notes Roy Pereira, VP of Marketing and Product Management for Certicom (www.certicom.com).
In addition, position-aware applications represent a growing market for wireless developers. Yet they are fraught with security issues. As Doug Peckover, President of Privacy (www.privacyinc.com), observes, "You can now track the location of mobile phones in real time." Application developers must be sensitive to the privacy needs of potential users.
Of course, cellular phones aren't the only devices that need security. Perhaps data-intensive PDAs or messaging handsets have even greater needs. Mark Guibert, VP of Corporate Marketing for Research In Motion (www.rim.net), notes that it is difficult for developers to make wireless applications secure on their own. "Given the confidential nature of the data that is being transmitted to and from handhelds, the system must support end-to-end security," he concludes.
<-- prev. page
[1]
2
next page -->
|
 |