Given the complexities of different smartphone platforms, software builders embarking on an enterprise application project for these systems must know their audience, an official with smartphone maker RIM said Tuesday.

Speaking about best practices in developing mobile applications, Rana Puri, senior wireless application consultant at RIM, cautioned that application developers must be aware of fragmentation in the mobile space, which has resulted in multiple screen sizes, OS versions, and API capabilities. "You need to know your audience. You need to know exactly who your end customer is going to be and this is because the smartphone ecosystem is diverse." Without this knowledge, developers are guessing on how to proceed, Puri warned the audience at the Software & Information Industry Association's All About Mobile conference in San Jose, Calif.

Also, Puri emphasised the less is more when it comes to smartphone application development. Knowing  why a business process works in a particular manner is useful. A small application that does one thing perfectly is better than a Swiss Army knife-like program that performs seven or eight tasks at a subpar level, he said.

Usability is king, Puri advised. "If your application is difficult to use, people won't use it." Simplicity is not a bad thing, and usability includes responsiveness, Puri added.

Performance-tuning also was cited as a critical step that should be at the forefront of a development process. If this task is left to the end of a project, developers risk having to re-architect the application or limit its scope and usefulness, said Puri. They also might hear user complaints about battery drain.

Developers, he said, also must understand the server data and back-end repositories that will link up with the handheld device. A proper security model also should be vetted prior to development.

Other tips offered by Puri included defining success up front and leveraging push technologies for an application. Deployment and support for applications also is vital. Developers need to ensure that users understand what an application does and how to use it, said Puri, and they also need to promote an application.