Mobile applications that support generic business activities such as scheduling and email have already proven their worth, and customers have enjoyed the productivity benefits that they bring. Now, however, mobile applications are taking the next step. Companies are recognizing the potential for mobile applications that integrate more closely with core business functions and back-end workflow. From customer relationship management (CRM) to field service and delivery management, there are numerous applications that give specialized workers even more productivity in the field, both on smartphone and laptop platforms. Here are our ten top tips for deploying the next generation of mobile applications.
Understand user requirements
As with any application, understanding your users' requirements is a crucial success factor. Interview them early - not just the managers responsible for commissioning the application development, but also the mobile users who will be grappling with the software in their day to day jobs. What functions do they need? What would make the application more productive for them?
Use packaged solutions where possible
Why reinvent the wheel? Solutions are now available that can help you to develop applications quickly and decrease your deployment time. An example of this is in the UK, with Orange's Mobile Forms system which lets you quickly design front-end interfaces for data collection applications.
Evaluate your platform
With Windows Mobile, Symbian, OS X, and Palm OS, users have many different platforms to choose from. How you develop your application will depend on whether there is a corporate standard for your mobile phones or not. If you allow all employees to use their own devices, you may need to code for the lowest common denominator. On the other hand, if you standardize on a platform, it could allow you to improve the interface to use all of the device's capabilities, or perhaps even to develop a client-side agent for the device rather than relying purely on browser-based code.
Integrate your back-end systems
There's nothing worse than disparate systems that get out of sync. We've seen this in the retail sector, where ecommerce applications developed independently from those used to support in-store purchases, resulted in poor customer service and contradictory data about customers and product levels. Make sure that your mobile application interacts with the same back-end systems as your conventional enterprise applications to maintain a single version of the truth. Always follow the mantra: one view of the customer, or the product, or the service, across all of your applications.
Secure your endpoints
When deploying a mobile application, you're sending your two most valuable assets into the field - your employees, and your data. Be sure to fold security into your application development process from the start. Consider endpoint security mechanisms such as two-factor authentication, data encryption, or data leak prevention. Use a risk analysis to match the sensitivity of your mobile data to the appropriate security mechanisms, and then decide on a suitable service, such as Secure My Device for PCs.
The interface is king
User interfaces (UI) can sometimes be an afterthought for software developers, but it is especially important to emphasize UI design in a mobile application. Users will be working with less screen real estate, meaning that every pixel will count. Furthermore, they will often be using these applications on the move, and may be distracted by other tasks. An engineer in a field service environment will be dealing both with the customer, and with the repair task at hand. The application interface must be intuitive enough to let him fill out a service docket quickly.
Create mobile design standards
Hopefully, your mobile application will be so successful that others will bloom within your organization. Make sure that you codify what you have learned from your first deployment, so that you can build upon the mistakes you made and the successes that you achieved the first time around. Creating a set of mobile application design and deployment standards will also mean that applications feel the same way, and work similarly.
Consider your network
You may not need a HSPA or 3G network for some mobile applications. If you're using a full HTML browser-based application, then speed is of the essence. But if, for example, you have deployed a mobile application using a local form-filling application for field engineers on a tablet PC, then you might only need to send scant text-based information, which could potentially be communicated using 2.5G (GPRS) technology. Perhaps low latency delivery isn't an issue at all, in which case a batched or background 2.5G transfer would be perfectly acceptable.
In the last few years, many mobile devices have GPS and hence the ability to know where they are. This can prove invaluable to your mobile application. If, for example, your delivery fleet is equipped with such devices, a custom-coded application could automatically update their position when delivery workers access the mobile application, allowing you to optimize delivery routes and save on fuel, or give your customers an estimated time of arrival.
Undertake a pilot
Rather than rolling out a mobile application to your entire workforce, begin by testing the water with a select base of employees. This gives you the chance to tweak the application in advance of a broader, more expensive roll-out. The savvy project owner will establish a set of key performance indicators going into the pilot, which will be specific to the application involved, and the business function it supports. The extent to which the pilot project fulfills the KPIs will mould your strategy for a more widespread deployment. Also, look for feedback in generic areas such as usability, and return on investment.