Five Most Important Considerations for Enterprise Mobile Application Success
Thinking about developing a mobile application for enterprise use? Wait, don’t start coding yet! Research and planning around these five issues will lower your risks and reduce unexpected delays.
As mobile devices become more and more prevalent, enterprises have stronger reasons to consider moving applications from the desktop. More and more employees are getting their own smart mobile devices. They generate requests for mobile access to your enterprise applications and data. Upper management may be questioning you about mobilizing enterprise data for reasons ranging from perceived cost savings, worker efficiency, personal desires, or even industry or corporate status. (“If they have it, we gotta have something, too.”)
Preemptive Strike
The surest way to keep these individual requests from turning into chaos is to have a framework that specifies boundaries for mobile deployments. What devices will you support, for example?
Some current mobile devices such as the Microsoft Windows Mobile Pocket PC have what it takes to build serious mobile enterprise applications. Currently released Pocket PC devices can include up to 128 megabytes of RAM, 64 megabytes of ROM program storage, 1 gigabyte of removable storage in postage stamp sized SDIO memory units, multiple communication methods such as cell phone and wireless LAN and Bluetooth. Additional features available on business grade Pocket PC’s include biometric fingerprint readers for security, barcode readers, onboard SQL server and MQ messaging services.
All this high power technology masks the difficulties to properly engineer an application to use the Pocket PC well. The mobile device has some significantly different considerations from the traditional desktop. Here are some differences to watch out for!
The Top Five Things to Consider
1. Am I Connected Now?: The biggest software design issue to address, and one with many ramifications, is intermittent network connectivity. Mobile devices can lose their network connection at any time, for any period of time. This loss of connection can wreak havoc with software design techniques that worked well with ‘always on’ connections like the LAN or wire line broadband.
Recommendation: What works well with mobile devices are data communication techniques characterized by small bursts of data, a low number of line turnaround requests, and progress tracking on both ends of the link so that a long data transmission can be suspended and resumed without resorting to ‘starting over’. Other communication related issues include use of firewall friendly protocols such as HTTP.
2. XML – The Incredible Hulk: XML data and XML web services have been used to good effect in the desktop and server environments to solve disparate system integration issues. However, XML data is less attractive for mobile device applications because it is bulky to transport over lower speed wireless links. The biggest drawback to XML data may be the amount of CPU cycles required to construct and deconstruct XML data, which can seriously impact the performance of mobile devices such as smartphones and PDA’s. Although there are number of compact ‘binary XML’ formats currently in use, the W3C standards body has yet to adopt one.
Recommendation: If you are concerned about the negative performance impacts of normal text based XML, then you should consider other formats for interchanging data between your mobile application and enterprise server.
3. Think carefully about data synchronization: Unless your application can guarantee daily synchronization by having the mobile device in the ‘cradle’ at the desktop each morning, consider doing synchronization in small bursts throughout the day as a background activity for the mobile device.
Recommendation: Microsoft SQL CE is one good solution to the problems of intermittent network connectivity, compact data, data security, and data synchronization. It accomplishes this through it’s built in merge replication features. Microsoft MSMQ on Windows CE provides another alternative.
4. Everything is smaller! This includes development tools, available memory, CPU power, available screen pixels, input methods, battery life, connectivity, etc. Microsoft has created a very compelling set of development tools for the desktop and server environments, with scaled down versions for the mobile environment. The .NET Compact Framework is almost a pure subset of the full .NET Framework available on the larger machines. The Compact Framework memory footprint is about one tenth the size of the full framework, so there are quite a few classes either partially or totally missing.
Recommendation: There are techniques to work around the features that are missing, but plan on extra development time to make up the difference.
5. The User Is King: How is the user going to get information into your application? The more restrictive input methods, which include a stylus and navigation buttons as a minimum, may be sufficient. But, you may also need to consider devices that include keyboards and voice recognition.
Recommendation: Make it easy. The combination of the restricted screen area and reduced ability to easily input data means that your application screen interface may need to include more controls that allow simple selection by stylus taps, rather than relying on text entry through either the soft or hard keyboard
Beyond the Top Five
There are other points to consider beyond the top five, including security and wireless application installation. We will be discussing these considerations in future issues of this newsletter.
No Comments
No comments yet.
Sorry, the comment form is closed at this time.
