A Fast App is a Successful App: Tips for Developing Enterprise Mobile Apps that Don’t Leave Employees Waiting
Tuesday, November 11, 2014
Mark Kirstein |
When we listen to the criteria enterprise users take into account when judging the quality of the mobile apps they use, we hear two more often than others: app speed and app responsiveness. Nowadays no one likes to wait (or, perhaps more accurately, nowadays we don’t tolerate waiting). When users see the message “waiting for download” pumping the brakes on their productivity, they pass judgment – and probably rightfully so in an era where that doesn’t have to be the case.
Users demand apps that work as fast as they do. They want to take the most direct paths to getting work completed. If an app has an overly-complex, overly-burdened interface that doesn’t allow users to quickly and intuitively navigate to the tools they need, that app isn’t performing to the enterprise user’s needs.
When apps don’t help to automatically input form data whenever possible, users will feel their time is being disrespected as well. If the time users must spend interacting with the screen is noticeable and tedious, it represents a major performance issue that needs to be addressed with better design.
High latency app reactions, a cumbersome feeling, and apps not exploiting the capabilities of the their devices, can give enterprise users time to imagine the app they wish they had. A fast app startup time is absolutely essential for this reason as well – you don’t want a user to activate an app you’ve developed and have time to conjure up complaints. You want them to be able to get right to work and on with their day.
Based on knowledge gained in our interactions with users and developers, as well as through our experience building and improving upon our own RhoMobile Suite open source enterprise app framework, we’ve identified what we think are the best practices for making apps that work and feel fast.
Best Practices in Enterprise App Development
We recommend syncing local data, so that “waiting for download” is removed as a roadblock to employees’ productivity. With syncs happening in the background, data is already waiting when a user needs it, even if they are offline or out of network. It is true that sync servers can be complicated and a sizeable investment, and that building a sync can be a challenge for developers, but overcoming these issues pays major dividends in the form of user satisfaction. It’s a solution that’s best not ignored.
Developers should leverage asynchrony by always using callbacks. Do not block waiting for a device, and make an effort not to block waiting for data. Keep time-intensive work out of the callback, and always remember the user’s experience is your primary concern.
Thoughtful developers can use context to complete input fields automatically, saving the user much-appreciated time. Devices contain date and time data. GPS has the users’ location information. Contact lists on devices make selecting other people and users simple, and pictures provide richer profiles and clarity. Respect the user by making sure your app doesn’t ask for anything it should already know.
Because scrolling on a mobile device is much easier and faster than drilling down through menus and loading new pages, mobile apps should have flat UIs. Keep navigation simple and let the user work while remaining in the main navigation as much as possible. For example, don’t have a map and a separate input form; instead simply make the map responsive to input.
Since smaller apps start up faster, keep the scope of your app tightly focused. Rather than making one sprawling app with top-level navigation and segments for every need within an enterprise, developing a number of small, pinpointed apps is often more appropriate. Think of the employee and place the tools that let them be productive easily at hand.
To provide the optimal experience on your users’ devices, be sure to use the correct libraries. For newer devices, use modern JavaScript frameworks like Angular, Backbone, and Ember. For older devices using Windows Mobile or Windows CE, use the libraries most appropriate. If using JavaScript libraries originally designed for desktop web, do so thoughtfully. Consider Ruby libraries, which can support more abstraction compared to JavaScript. If possible, find a framework that mixes JavaScript and other languages.
When you hit bottlenecks as a developer, have the tools ready to help you iterate rapidly. This isn’t always easy, as in the case of using the stock simulator for Android development. Seek tools that give you near instant response time for quick tests and changes. Tools with an IDE and interactive debugger are valuable assistants.
For best results, these technical best practices should be executed with the correct mindset – put the user and their experience first. What may be challenging to a development team often serves to simplify work for a user. Make an app that enables the user to get work done fast and they’ll be sure to appreciate the work you’ve done too (well, hopefully).
Read more: http://rhomobile.com/
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more
Subscribe here