In today’s enterprise mobile world everyone agrees that the success of Mobile App Implementation is directly related to its best user experience (“Awesome looking and functioning App” = “Higher User Adoption”). At the same time best User Experience sometimes restricts the depth of an mobile application functionality due to various reasons. It is very challenging to do a tight-rope walk between the optimal application functionality and good user experience. Here in this blog, I tried to share my experiences by taking two different scenarios on how one can achieve the balance between these key aspects of these two mobile application features.
Just take a moment to imagine the following typical scenario (1) in your mind.
“You are walking into a supermarket on a Game Night and trying to find a chlorine removal shampoo. You are in a hurry to leave and cannot find that one particular product that is most important for regular swimmers. Due to game night there is less crowd in the supermarket due to which they understaffed. This makes it more time consuming to seek help. Even if you find a person to help (after wandering thru the isles from end to end searching for that one knowledgeable person) they might not be sure what you are looking for, as they are not working in that department regularly. This peaks the frustration to find that product and the chances of finding it become more difficult. Ultimately after 30 minutes searching you will find it and rush to self-checkout lanes to pay for the product and check out a.s.a.p.”
The key words in the above scenario are
On the other hand now lets just imagine the following scenario (2).
“You are in a hurry to go to your next meeting on a busy day. In that short gap between the meetings, you wanted to pick up a healthy snack from the vending machine. You know it is in the same floor and its direction, due the well placed directions on every floor of your office (Thanks to building facilities team). You quickly walk up to the vending machine, choose one of the payment option (options are Coins, 1/5/10 bills, credit card, debit card, Apple Pay, Google Wallet), quickly find and pick the snack you want, enter the corresponding combination key (row and column info as clearly directed by the machine display) on the keypad, automated delivery mechanism delivers the snack into the lower bin under a minute and leave with a happy smile to catch up to the next meeting on time.”
The key words in the above scenario are
If you closely observe, the activities are mostly similar between the above 2 scenarios. However, they both serve different types of consumers for the similar end goal. Lets take these 2 scenarios and compare the mobile app experience for the end users.
In my experience I have seen mobile applications that fall under both of these scenarios. Sometimes it is unavoidable to separate the functionality even though it complicates the mobile app navigation. In order to make them user-friendlier those result in successful and highly adapted mobile applications one must adhere to vending machine style architecture pattern where it applies and vice versa.
SCENARIO 1: Supermarket Pattern
The following would be useful architectural guidelines if this were a complex mobile application. It should be simple to use even with the more complex functionality.
- SEARCH Capabilities: Provide good search capabilities to find the information that the user is looking for in any corner of the mobile app.
- QUICK Navigation: User must be able to quickly find the content or get to the menu selection with in the mobile app that would perform a single meaningful task and complete an action (like a transaction or a decision). Navigation must be in Frequently Used transactions to Occasionally Used order. One can easily mimic the mobile app navigation in a similar to ‘Popular/Seasonal Product displays’ pattern at a Supermarket. A section for ‘Frequently Used’ transactions with navigation to subsequent functionalities all can be provided in a easy to find screens. A section for a quick suggestive follow up transactions based on the user’s mobile app interaction history could be helpful too. Similarly a section for ‘Newly Added Functionality or Menus or Screens’ could be useful to find in one place.
- Target Audience: Mobile app must target a particular group of users always. A Complex mobile app must try to combine related functionality into one place. Utmost care must be taken due to its complex functionality in selecting the features of the mobile app. It also must cover end-to-end functionality of a single well-defined function. For example in a Order to Cash process scenario, all the documents that are required to be processed by Order fulfillment department starting from Sales Order to Billing must be covered to its fullest extent in one mobile app.
- CONSISTENCY: “Most users are used to desktop applications” – it is a safe assumption when developing a complex mobile app. Significant amount of time is spent generally to decide if the complex mobile app should provide an in-app help or not? If one spends a good amount of time on the wireframes and design for the complex mobile app then in-app help can be reduced to a simple explanation of the screen purpose. In other words, the mobile app must clearly indicate the ability to (consistently across various screens) CLICK, EDIT, CLOSE, DRAG, SAVE, CANCEL or QUIT/ABORT. Also UI must be less complex in displaying its GUI controls.
- FEEDBACK: Support functionality for a mobile app must be simple to use to report to the help desk if all else fails in a day-to-day use. The mobile app must provide a way to self-attach a screen and pop up an email form with prefilled support help desk email id by selecting a GUI Control (like a ‘BIG RED’ help button’) which makes the user to raise an incident request as easily as a click of a button. This will not only improve the confidence level of the user to use the app on a daily basis but also will help IT to eliminate those bugs that only come to life during the runtime.
- USER CONTROL: The one other most common issue that I have observed is the session timeout, before the user can complete a particular task in the complex mobile applications. It is very important to provide the simple session recovery and data recovery options in a secure way when the user returns to the mobile app after a phone call or any other such interruptions.
- Dynamic Build process: On regular intervals the mobile app must be monitored for frequently used areas of functionality. In a complex mobile app, it is very important to manage the key functionality on a regular interval. The app must provide a modularized update capability. If for example the mobile app has building blocks A, B, C and D. The most frequently used areas belong to blocks A, B and D, the mobile app must be designed in such a way that C block can be removed after reviewing the usage of block C over a period of time. This could be useful for occasions when there is a high demand for a particular portion of the app. This could be helpful in case of seasonal behavior changes in user demands. Also make sure that primary focus of the app is kept intact in all form factors while navigating thru a complex mobile app.
- Deployment Methods: App must be made available to all the targeted audience with less complexity to install and update. It must also make it simple and non-intrusive for frequent updates. The updates to the app must run in the background (always) and unmanaged way. In all the situations the backup and restore of the app functionality should be maintained automatically. In other words, if the app update fails it must restore to its pre-update state without any interruption and interaction with the user.
SCENARIO 2: Vending Machine Pattern
In less complex mobile applications the above rules are important as well but in slightly a different way. These types of applications come under ‘Self-managed’ model (with a frequent updates to the content).
- TARGET Functionality: Vending machine like mobile applications must focus on its targeted functionality to serve a broader audience. In our example we see vending machines are installed with a single purpose like a snack based or a carbonated drink based or a hot beverage based solutions. Since these types of mobile applications are single focused functionality they must be well organized with a self-contained structure.
- Super Simple Navigation: Mobile app must provide simple navigation as in “Vending machine pattern”. Navigation must provide options at a glance and user must be able to quickly complete the task in under a certain time limit (like a Segmented Control in iOS).
- Self-Contained: It is very critical that this mobile app run in a self-contained fashion. It must provide a highly secure local storage, provide offline and online support and guaranteed delivery mechanism.
- Accurate and Efficient: Since the mobile application is a self-contained app, it must be able to update the data and keep data integrity at the highest level possible at all times. In case of failures due to any runtime errors, it must contain an internal recovery process (by way of auto-conflict resolution, auto-backup and recovery, offline synchronization, background process updates).
- Robust Security: The data is stored on a local device using a local persistent store. The security to protect data must be well planned and implemented. User must be able to provide login details after a long duration of absences to access the app (this function must be configurable at enterprise level/department/app/user). This app security must have remote enabled data wipe capabilities in the event the device is lost/stolen/damaged without losing the data.
- Bug Free: Self-contained application must be released after a very thorough testing. It must provide 99% up time. Well-documented test cases/test scenarios must be built at an early stage to be able to deliver such bug free mobile app.
- Time to Deliver: The mobile app delivery must be made simple and secure. This will encourage all the intended mobile users for an early adoption and regular usage.
- Well Advertised: Such mobile applications need to be announced at a very early stage of the application design to invite inputs from all the key targeted department/group users.
Finally, the above two approaches are most common categories of mobile applications. Depending on the scenario/Complexity of the mobile app it always helps to reduce the total cost of ownership by following the above said guidelines. This not only will result in achieving the highest rate of return on investment due to its higher adoption of mobile apps by the end users (it could be employee faced internal apps or partner/customer facing external apps). With combining the above guidelines with best Mobile Application Development Platforms like SAP Mobile Application Platform will help build mobile apps with less resources and a robust framework and tools. Next time when you are at your favorite supermarket think about your Enterprise mobile applications.
To achieve more successful User Adoption of any mobile application, give an End User a great User Experience (like Vending Machine Pattern) for a complex (Supermarket pattern) functionality.