I mentioned before in one of my posts about the growing use of smart phones application as a form of Just-in-Time performance support; as mentioned before; I feel eventually technology will enable individuals and not just companies/departments to deliver applications. When developing applications for just-in-time performance support, here are some items I keep on my checklist. They are good to consider when taking on that app development assignment.
- Prototyping – sure, I harped about it before on this blog; but is very important to reiterate. Companies typically want to prototype and then test the solution with a limited user group, and this must be done very quickly. Unlike other software applications, companies cannot spend months on development and deployment, speed is of the essence. For example, a client might want to extend the functionality of an existing information system to the iPad/iPhone. This can easily accomplished with a simple interface to the system. In this case, a quick prototype can clearly communicate the possible benefits of creating a fully featured application without expending significant effort or money. Also, we’ve seen that significant parts of the prototype can be reused in the production application.
- All About Data – in our experience, we have seen that performance support apps in the technical domain tend to be of two types a. Decision-making – based on datasets in the cloud or local device; accessing instruction trees/specific content look-up. b. Calculation – using real world data to compute values; this is mainly algorithmic in nature and substitutes physical calculation (prone to human error) There is a huge variety of applications covering the spectrum from decision-making to calculation. Both types depend on some form of data to assist the user in performance. Consider if you want data to be retrieved and saved on the device; or will the app only interact with online datasets in the cloud. Not getting in to offline vs. online debate, each has distinct advantages and disadvantages. Make your choice based on design and usability considerations, just remember proper integration with data is important.
- User Interfaces – Mobile devices offer many interfaces, including touch devices that support gestures. Consider carefully which of these features you want to use in the application. It becomes quite critical because the higher you set the technology bar, the less accessible your application actually is. For example, if you have chosen to use multi-touch gestures as part of your interface design, this automatically eliminates devices that don’t support touch. Try to keep the interface as simple as possible; we’ve seen that keeping it simple and standard allows better portability across platforms and devices. HTML5 may just prove to provide the right tools for truly portable interfaces.
- Security and Updates – with increased data integration with corporate information systems, the security of data will become an increasing concern for companies rolling out mobile applications for performance support. Consider during design, the data is proprietary (mostly always is), confidential, of value to competitors, etc., if the data has value in any way, it is important to secure it. Data security cannot be an afterthought, it must be carefully considered during design. You may consider encryption on the device and in communication protocols for security. Another aspect to consider is updates; the need to change/tweak features or parts of the application after deployment is a common scenario. As a developer, ask how you might be able to update applications on user’s devices. Again, consider this during design and development, even if you envision never having to update the app.