Whether you are part of the development team or responsible for the end-user experience, these tips will help when developing or improving a mobile application.
1. Do support real-time experiences
Modern apps require access to real-time events from backend services, such as an alert for a factory monitoring application, or flight information for airport ground staff, aircraft crew and passengers. Incorporate data distribution technologies within your app development cycle that intelligently assess data to only send the most up-to-date information instantly.
2. Do ensure your app is highly responsive
When your end-user does something with your app, you want to respond, immediately and certainly not longer than four seconds (we lose attention in that space of time!). Delivering an exceptional user experience is all about interactivity and responsiveness of the app, the timeliness and relevance of the data it presents and the cost of the running the app. Provide a development platform that enables you to build apps that can cope with speed, engagement and relevance of data.
3. Do keep scale in mind. What happens if your app goes viral?
What happens if your app goes viral? Developing with data distribution at massive scale in mind, your existing infrastructure must have the ability to support millions of concurrent users and do so quickly without crashing. You need to ensure the app you’ve developed can cope with the vast amount of data that will be sent to it and the app infrastructure can also support all the connected devices.
4. Don’t develop for one device and platform at a time
Use a development environment that allows developers to write an app once and deploy anywhere, whether for the browser, a hybrid mobile application or native applications for iOS, Android or Windows. Ensure that your development environment supports all push notification methods.
5. Don’t waste time getting to market
You want the development team focused on how your organisation will offer an engaging app experience and you want your business teams identifying ways to monetize this. Give your developers the tools to develop apps that can reach the market quickly. You also don’t want to waste time developing new ways to handle speed, scale and data efficiency, when the technology already exists.
6. Don’t develop an app that cannot make use of device features
Ensure you are developing with all of the latest client device SDKs, so you can build apps that make use of device features such as GPS to enable functionality based on location to push out specific notifications. Without this functionality, you might as well just create a mobile website.
7. Don’t assume network pressures and constraints will be blamed on the mobile operator
Deliver users quality of service by ensuring that if connections are lost you are picking up exactly where the session left off upon reconnection. This capability should be incorporated into the development lifecycle so that data distributed is cached close to the end user ready for delivery. Just as important is not wasting bandwidth or infrastructure on this; you should efficiently send only the most up-to-date changed data.
8. Do ensure your application integrates to the corporate and back-end systems and cloud
You want your app to talk to all the existing data services you have in place otherwise you’ll be wasting money introducing new data silos. Make sure you use plugin adapters to provide access to services apps require such as SOAP or REST, SQL databases and JMS message buses.
9. Don’t ignore the insights you can gain from mobile customers
75% of mobile shoppers take action after receiving location-based messages. Make use of comprehensive analytics to allow you to see how an application is used, what type of device it’s running on, where it is being run and what the common usage flows are through the application. All of this information should be fed back to the developers to further streamline the application for usability lending itself to better retention of users and improving revenue-generating opportunities.
10. Do incorporate security measures for apps
For enterprise apps, with end-users accessing sensitive corporate information via a company-issued device or their own (BYOD), ensure that you are only allowing a single point at which apps can access business-critical backend services. You will also want to ensure all network traffic between the app and the server is encrypted and includes user authentication and authorisation for access to sensitive information.
11. Don’t use templates that dictate your look and feel
You should therefore look to replicate your brand on your app and should avoid using development frameworks and templates that dictate your look and feel of the user interface and the flow of the user experience. Instead, use a development environment built on top of open, standards-based technology such as Eclipse and Apache Cordova.
12. Do test your app across platforms and devices without wasting time
In the race to get to market, companies will sometimes reduce the amount of time available to properly test their app. This ultimately leads to lack of testing, poorly performing software and inevitable customer frustration and lack of confidence.
13. Don’t deploy your corporate app on a public app store
Why spend the money and time validating your app in Apple App Store, Google Play or Amazon Appstore when your end users are within your own organization? Set up your own Application Center so you can deploy your app to your end users on your own terms.
>See also: Why you need to move on mobile app testing
14. Do develop for clustering and failover support
Make use of a development platform that can provide all the clustering and failover support to provide a highly available and reliable connection point for applications.
15. Don’t make the development environment too complex
You want your development team focused on competitive advantages so make sure you select a development platform that is easy to use. This can include capabilities such as a drag and drop development interface based on the industry standard Eclipse IDE, coupled with a large built-in library of common UI elements.
Sourced from Dr Andy Piper, CTO, Push Technology http://www.pushtechnology.com/