The 15 Dos and Don’ts of App Development
You might already have a mobile or web application or you might be starting from scratch. Either way, once in the mobile and web application game you are constantly in a battle for improvement.
Your business, no matter the industry or if it’s B2C or B2B, will benefit from a functionality-rich performance application. It might be gained revenue, increased productivity or improved brand loyalty.
Whether you are part of the development team or responsible for the end-user experience, these 15 do’s and don’ts will help you when developing or improving your mobile application.
1. Do support real-time experiences.
We live in the moment and we want our apps to as well. 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.
Take advantage of the volume of data generated and respond to end users in near real-time by providing an integrated streaming data distribution server. 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?
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 – there could be millions of concurrent users/devices accessing your servers – to support the IoT or for when the marketing team launches a new successful viral campaign.
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. This should include Apple iOS (APNS – Apple Push Notification Service), Android (GCM – Google Cloud Messaging), Windows notifications and even SMS.
5. Don’t waste time getting to market.
Give your developers the tools to develop apps that can reach the market quickly. This should include tools that cover the entire lifecycle - development, testing, deploying, running, analysing - your app as well as the capability to ensure high performance and scale.
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
It doesn’t matter if it is a network issue, if an end-user is trying to use your app, but if the connectivity is intermittent, you are to blame.
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.
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.
11. Don’t use templates that dictate your look and feel.
You want to create a continuous brand experience whether in person, online or via your app. Use a development environment built on top of open, standards-based technology such as Eclipse and Apache Cordova. Also, make sure it is flexible enough to allow the development team freedom to design for a high quality experience.
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 Centre so you can deploy your app to your end users on your own terms
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. This allows stunning UIs to be built easily.