Did you know – the enterprise mobile application development market’s estimated annual revenues for 2018 were $2.9 billion! Plus, the enterprise ecosystem has opened its doors far and wide to BYOD, IoT, and citizen developers.
What does this mean for you as a software/web application developer? Well, you may be on an enterprise mobile app development project soon.
Now you may be a consumer mobile app ninja, know that developing an app for an enterprise is very different. Such an app will be used to make internal task management easier for end-users, executives, project managers, and leaders.
Filling timesheets, resource planning, and allocation, managing reimbursements for internal expenses – the app could be expected to solve any of the gazillion problems the modern enterprise grapples with, daily.
So, what do you keep in mind as you start participating in design meetings for an enterprise mobile app? Here are 25 pointers. I’ve grouped these together under different heads, to make it more intuitive for readers.
Key Business Aspects
1. Business use cases
Ask yourself – have you clearly and completely enumerated all the business use cases the app’s expected to serve?
Based on the range of functionalities to be covered, you may need more than one mobile apps.
2. Know Your User
The next big question – who’s going to use the application? Designing for the enterprises’ internal customers is going to be vastly different from designing an app for its external customers (even the latter is very different from designing a contemporary consumer market app).
3. Mobile Operating Systems
While both Google and Apple are bringing complete uniformity over app user experiences across different OS versions, differences do remain.
For instance, WebViews (the rendering component of HTML powered hybrid apps) only got the capability of OS-independent updates from Android 5.0 onwards.
What’s the enterprise’s vision? Does it want to undertake parallel development of the app for all major operating systems, or does it want to make it phase-wise?
4. The Device Types
Chances are, again, it’s only going to be Apple and Android. After all, the latest iOS is supported by 20+ Apple devices, and the latest Android is supported by thousands of phones.
5. Device Screen Sizes
Consider how your technical choices will be influenced by factors related to the screen sizes of the devices on which the apps will be used.
Phone-sized UI, tablet-sized UI, split-screen UI – whall all do you need to be prepared for? How will you adapt the UI to work on the different screen sizes and resolutions?
6. Determine the App Type
Once your device types and operating system types are decided, you’ll need to make this super important decision. Let’s consider our options:
- Native apps, though hard to design, perform the best in terms of a user-friendly UI and sticking to platform guidelines.
- Hybrid apps have a general reputation for being most appropriate for enterprise app needs because additional native capabilities can be added on them via custom codes and additional plugins.
7. What are the battery consumption constraints?
While this may not be a constraint if you’re developing an enterprise app for expense reimbursements, it may be a showstopper/gamechanger if you’re developing the app for end-users who will use it in the field.
Try to understand the details related to the unmodifiable platform features that consume significant battery consumption. That’s because you simply can’t optimize these closed-source parts, and hence, need to make the right choice upfront rather than hope for course corrections later.
User Interface and Experience Aspects
8. The UI and UX Design
Is this a novel app idea; something that’s not been done in the industry earlier? In such a case, it makes a lot of sense to make end-users participate in the UI and UX design phases. Else, for standard enterprise apps such as sales lead management, it’s practical, effective, and inexpensive to go by established UI practices and elements.
9. Company Branding
You may be surprised to note, but enterprises are very picky about their internal apps’ branding. And it’s easy to understand, because the app is going to create an impression, and enterprises want a consistent and predictable impression. So, as someone leading design discussions, make sure you request your counterparts to showcase the key existing apps deployed by the enterprise.
10. Localization or Internationalization
Internationalization is the deliberate act of developing an application by dividing the code into two elements – one uniform code, and the other that can be tweaked according to geographical/cultural factors.
Localization, then, is the act of altering the latter kind of code to suit the logic requirements resulting because of the end-users bring from a particular geography.
How does the enterprise plan to roll the app out to all its workforce across geographies? What are the cultural and geographical factors at play, which could have a role in the UI, UX, or logic design?
11. Think of Performance and Scalability
End users perform a thousand different tasks with their devices. Your app may not perform well if you don’t anticipate these tasks, and design the app around these usage patterns. For instance, determine the app response for these events:
- Incoming call/text/video call
- Low battery
- Low storage space
- Airplane mode
- Sleep mode
- Night mode
- No storage
- Silent mode
12. Device Security
- Which device components will come into play when the app is used (cameras, sensors, GPS, etc.)?
- How will you manage UDID numbers?
- Will the app serve all end users enrolled in the enterprise’s BYOD program?
13. Network Security
Consider whether you need to plan for scenario-based network access. Evaluate all use cases, particularly for apps that will be used by field employees, to ensure you use the right and secure network protocols, ensuring all the use cases are served.
Get your network security team onboard to talk about whether they will use encrypted SSL certificates to secure the data used and transmitted by/to the app.
14. Data Security
Based on the nature of the app, you may need to:
- Provide Single Sign-On support to make the device accessible on all device types.
- Enable users to access their device content while they’re using the app, still ensuring data protection.
- Deliver reasonable user privacy.
Maintenance and Support Aspects
15. Make it sustainable
Chances are you’re going to be around after the go-live, so for your sake and for everyone else’s, think of maintenance and support right from the first day. Key points to note:
- How will the app handle OS updates?
- What’s the app update strategy?
- Does the app need to integrate with any existing apps (such as a sales lead management app may be required to integrate with business intelligence and self-service reporting app)
- Server-side app upgrade versus applications side app upgrade – which one will it be?
Parting Thoughts This list, of course, is not exhaustive. My purpose has been to make sure you know what all you’ll need to consider before you sign off a design/architecture approach while developing a mobile app for an enterprise.