Monday, September 28, 2009

Mobile Application Development Strategies for Handhelds, Smart Phones and PDAs

The mobile application framework on the mobile handheld computer, Smart Phone or PDA can be thought of as a mini-EAI application (enterprise application integration platform). In the world of SAP they have NetWeaver for integrating all of the various applications together. NetWeaver is described as an integrated technology platform. Many different mobile software applications are found on a typical mobile device and they all need to be integrated together as well including:

  • Radios - Bluetooth, wifi, RFID, GPS, Phone
  • Data collectors - RFID, barcode scanners, digital images, voice memos, GPS, credit card swipers, mobile applications and forms
  • Databases, synchronization technologies
  • OS with downloadable applications

All of these various applications need to be integrated together using some kind of mobile integration technology platform. The OS can take care of many of the simple features and functionality, but a database driven integration platform for the mobile device is required if you are going to create various application layers that are all integrated into one downloadable mobile software application that can combine all of the necessary application functionality into one synchronization platform that is integrated with your back-office business applications.

Mobile applications have many unique requirements. Among these requirements are:

  • GUI that can be resized quickly based upon the mobile device used
  • Data collection fields and forms
  • Mobile application workflow engine and validation features
  • Data validation features
  • Framework for pulling in data from third-party data collection hardware and software applications (barcode scanners, RFID, GPS, voice memos, credit card swipers, databases, etc)
  • Mobile database (small databases optimized for mobile devices)
  • Synchronization technology on the mobile device and on a central server

Mobile software application developers will want to find a good development toolkit for efficiently creating mobile applications. These toolkits can assist in quickly creating:

  • Application GUIs
  • databases
  • Synchronization scripts
  • Workflows
  • Integration with third party data collection applications
  • Data validation features
  • etc.

In addition to the basics listed above, it would also be very useful to have the following:

  • Mobile application workflow engine (as described in this article)
  • A mobile software kit based on your back-office ERP or database

Wouldn't it be nice to bring up a "work order ticket" on your Oracle or SAP system and immediately replicate the data requirements and valid data rules on your mobile device database? Today, this is a long and painful exercise. Each field in the SAP or Oracle database for that specific application would have to be analyzed to determine what is a valid data entry. The validation rules, would need to be individually documented and recreated on the mobile application database manually. An ERP centric mobile application toolkit would quickly transfer those data validation requirements to the mobile application that would be collecting the data and synchronizing back to the office.

If you have not developed industrial strength mobile applications before, it may be good to work with some experienced mobile application developers on the first few. There are strategies that experienced mobile application developers employ that can save you much time and pain.

If you would like to discuss this topic in more detail please email me.