.FLYINGHEAD PROGRAMMING POWER
.TITLE Developing PalmPilot applications means understanding constraints
.DEPT
.SUMMARY We’ve got a guest contributor to our new Programming Power column this month. Jay Cohan of SoftMagic explains the special considerations involved when programming for the PalmPilot.
.AUTHOR Jay Cohan
The PalmPilot’s small size, low price, and programmability make it an excellent platform for extending enterprise information to mobile workers.
.H1 The need
Today, millions of workers collect data on clipboards, view data on printed reports, and unnecessarily lug laptop computers to run specific applications rather than perform general purpose computing. Accomplishing these same tasks with handheld applications reduces errors, streamlines data processing, and enables corporations to more effectively deploy hardware and human resources.
In the past, only larger companies could realize the benefits of handheld applications. These efforts required large up-front costs for custom hardware and software design, and large variable costs with each additional unit deployed. Now, with the PalmPilot, organizations can cost-effectively create handheld solutions. Over the next several years, a growing number of corporations will deploy handheld applications, initially, as a way to gain competitive advantage, and ultimately, as a cost of doing business.
These factors create a significant opportunity for handheld software developers who serve the enterprise marketplace. These developers need to quickly prototype solutions for their prospects and expand these prototypes into complete, integrated solutions. There is nothing more powerful than to sit down with a client and interactively mock up their requirements into a functioning application. Leveraging these prototypes into full solutions speeds the development life cycle and reduces costs.
.H1 Developing for the handheld platform
I recommend an iterative approach for PalmPilot development. In this methodology, you create successive prototypes and solicit user feedback to refine your solution. While many of the principles you may be familiar with from client/server PC development apply to handheld development, the unique characteristics of the PalmPilot make feedback loops valuable, especially for your first application.
Your PalmPilot application must address a number of platform constraints and differences from the PC world. These include:
.H2 Less processing power
Don’t expect to run complex algorithms that crunch lots of data on the handheld. Instead, segment your application so different parts run on the handheld client, on a middleware server, and on a database server. Let the middleware and database servers do the heavy lifting.
.H2 Less memory
In addition to segmenting your application, segment your data. For example, rather than storing an entire customer database on the PalmPilot, give each user only the information on the customers they service. Further reduce the size of this data set by eliminating customers that won’t be seen this month or this week.
.H2 Smaller screen
With little screen real estate, you need to trade off having the user navigate among multiple screens against trying to organize a lot of data on any single screen. Provide users with contextual information and the ability to retrace their steps so they don’t get lost in your application.
.H2 Stylus input
End-users won’t necessarily have any computer experience nor will they have mastered Graffiti, so keep things simple. Take advantage of graphical objects like drop lists, check boxes, and radio buttons to speed data entry. In many cases, your most likely competition will be a pencil and paper, so be sure your application is at least as quick and easy to use.
.H2 Occasional connectivity
Your application will have access to enterprise data only when users connect with the server. Anticipate the data they will need and how often they will connect to refresh their information. Trade this off against the memory constraints of the device. Also remember that your application may be used under less than the ideal conditions, not necessarily at a desk, with adequate light and help just a phone call away.
Next month, we’ll look at building a simple forms-based application to write sales orders.
.BEGIN_SIDEBAR
Fans of Alan Jay Weiner, our regular Programming Power columnist, will be thrilled to see his comprehensive article next month on development using C and C++.
Meanwhile, in the general section of the May issue of PalmPower, Jay Cohan will continue the exploration he began here and delve into using forms-management software to create PalmPilot applications.
.END_SIDEBAR
.BIO Jay Cohan manages business development at SoftMagic. Contact him at jcohan@softmagic.com.
.DISCUSS http://www.component-net.com/webx?13@@.ee6bc66


