Often businesses come to us convinced that to solve a problem or seize an opportunity they need to “build an app”. Before you dive in on the investment of building an app it is worth taking a step back and considering the context.
While there are several use cases a business could have – that number is a tiny fraction of the apps currently available for download from Google Play, (which at the time of this writing is some 2.56 million apps for android alone).
This suggests many apps in existence serve no clear purpose and/or are clones of each other offering similar and often identical functionality.
The following is a quick list of things to consider before diving into building an app:
What do you really mean by an app?
Your business may want users to access a remotely hosted website and have it render effectively within a mobile platform’s browser.
So basically, a website that can work on a mobile or across multiple device types. This is often what people mean when they ask for an app. Keep in mind while modern web design principles stress the importance of designing a site for multiple device types, a lot of websites particularly those developed expressly for business use may not have this functionality built in as a matter of course and a simple re-platforming or re-design of your existing site may give you the mobile compatibility you are after.
If your business needs to render static content from a website onto a mobile device then, happy days, this is (comparatively speaking) a painless process to achieve, considerably cheaper to develop, deploy and maintain as an app.
Unfortunately, life is rarely that simple. Often business websites, by and large, deal with dynamic data and complex transactions.
Maybe your business needs a hybrid app?
For example, you may have ONE business process that is suited to use an on-board mobile function or feature.
Some examples might be taking a photo, tracking a GPS route, while all your other business processes remain within your enterprise system or web portal, so you end up with a mix. This would mean having small simple tasks or pieces of vital up-to-the-minute information delivered via a mobile app, with many more complex business tasks remaining within your enterprise business solution or client portal.
A prime example of this approach are mobile internet banking system apps. Mobile banking system apps provide a common subset of online banking services that can be performed with the app acting as the interface. As a rule, these services tend to be simple transaction-based services such as account transfer, payments, some card management services and general transaction information. More complex online banking services, transactions and certain transaction types can only be performed via the banking systems website application. There are solid reasons why these apps tend to offer simple self-service transactions.
The business cases for an app
As I stated previously, there are a few use cases in business for the development of an app. The following are the most common ones I have come across:
- Interact with business systems where internet coverage is unreliable or not guaranteed. This is in where you cannot rely on internet coverage either because of simple communication restrictions such as mobile network coverage/emergency outages and you need some sort of offline data capture function to work locally on the device and some facility to resync with the main systems at some point in the future.
- Quick/repeated access to information. The caveat here is that the data required changes infrequently or is of a kind where the average age of the data when compared to the live system (data lag) is not a critical factor. The reason for the caveat is that by in large, apps work in a disconnected state from the live systems. They access the main systems via calls to a hosted service somewhere. These calls do not always succeed due to variable nature of mobile communications and are designed with these considerations in mind. Therefore, the data on the mobile app is likely to lag behind the data on live systems to some extent.
Additionally, there are a few use cases I would categorise as maybe’s, in part these features are things phones are good at, so it MAY be worth investing in an app to form part of your business IT assets:
When is an app not suitable?
- Capturing images using the phones inbuilt camera functionality to read barcodes, QR codes etc. and uploading that data to a system. Smart phones are very good at this.
- Leveraging the date time functionality inbuilt in mobile phones Simple time data tracking tools this like reminders/calendars/appointments.
- Leveraging the Inbuilt GPS tracking/routes/maps.
- Quick/simple repeatable transactions such as the creation and editing of simple data objects which are stored on device and may or may not sync with external systems such as shopping lists.
The following is a quick list when an app is probably not the right fit:
- Processes requiring considerable hardware resources. Mobile devices are evolving at a frenetic pace and the performance of the hardware is light years from what it was even five years ago. They remain however limited by their hardware architecture. Processes that require large amounts of processors and or memory are not suitable candidates for an app.
- Complex or nested transactions. If you have a complex process, that you are needing someone to do. Or the process is expected to take considerable time then this process even with the best user interface design is probably NOT best completed on a mobile app.
- Bulk data entry. As above. Remember not only the inputting via a phone keyboard is not ideal but also the display real estate you have on a mobile phone is not vast, hence most people would avoid reading or writing a novel on their phone. Side note: Yes, there are speech to text tools, and these are getting better and better. Just beware of privacy/environment noise and how these may affect the quality of using these tools.
- You are in an agile business with ever changing business processes. Building an app to meet continually evolving business use cases, where changes that influence the underlying business rules for example will require frequent updates to the app pushing out new updates, is a substantial overhead. Depending on your workforce you may end up with lots of different versions of the app in use depending on when people update it – meaning you will need backward capability including database design etc.
Simply put, building an app may or may not be the right choice for your business, so before launching into your next software project seek advice from the experts, who really are invested in providing the best solution for your business.
Ready to build an app? Contact us, we’re ready to help.