Mobile Enterprise Application Platform (or MEAP) typically utilizes pre-built environments that allow developing enterprise mobile applications with the intended purpose of deploying the application to multiple mobile operating systems. The development environments are usually fairly straightforward, and require minimal programming experience to develop functions for the application. MEAPs can support more than one type of mobile device and operating system without having to maintain separate sets of code. MEAP typically contains a mobile middleware server that provide integration point to integrate with multiple server Enterprise Backend.
Image Source [xcubelabs]
There is a lot of debate on choosing MEAP over Native tools for developing a mobile application for enterprise. As per Gartner’s Magic Quadrant for Mobile Enterprise Application Platforms report, a key rule in choosing which if you need a MEAP for a particular development purpose is the Rule of Three: If an organization is targeting three or more device platforms, if they have three or more applications, or if they have three or more back-end systems, then the multichannel or cross-platform tools like MEAP typically yield better project results during the course of three to five years than native tools.
As there are number of MEAPs, some of them born recently while some have matured solution and tool sets to support rapid development of mobile applications for more than one mobile operating system, choosing the right MEAP vendor / tool for your development never became simple. Here in this post we cover 25 parameters t consider while evaluating a MEAP that is suits your development.
Here are 25 parameters ones must consider while evaluating a MEAP (Mobile Enterprise Application Platform)
1. Speed of development support
The first and foremost thing from business perspective is to see what the framework provides to help in speeding the development process without compromising on quality and user experience of the app. Most MEAP frameworks provide higher level languages and easy development templates to simplify and speed the mobile application development timeframe, requiring less programming knowledge for mobile business application deployment
2. Which devices are supported?
MEAPs allow developers to create mobile applications that are suitable to run on different devices. It is important to consider which all devices the MEAP support – Smartphones, Tablets or ruggedized handhelds. What capabilities they offer in UI design and build, application integration, debugging, deployment, and application delivery and maintenance on different devices.
3. What low level APIs are supported?
It is through these low-level API calls that the app can interact directly with the touch screen or keyboard, render graphics, connect to networks, process audio received from the microphone, play sounds through the speaker or headphones, or receive images and videos from the camera. It can access the GPS, receive orientation information, read and write files on the solid state disk, or access any other hardware element available today or in the future. The framework should enable the developers to have full access to the device capabilities such as scanning, camera, GPS, NFC, RFID, battery, gesture control, signature capture, payment, OS specific contacts, calendaring etc
4. Which operating systems are supported?
Compatibility with a wide range of mobile operating systems is a top priority for mobile enterprise application. An organization must evaluate the operating system support provided by the MEAP without having to maintain separate code. It should support at least three popular operating systems – iOS, Android and Windows Phone.
5. Are their specific limitations for a certain platforms?
Many MEAP vendors offer support to different operating systems, but the ability to support low level APIs may vary on different operating system. While developing customer applications and deploying on multiple platforms, support of low level APIs become essential.
6. Does the MEAP provided an integrated Mobile Application Management
Mobile Application Management is the service or software that allows the deployment and management of Mobile Enterprise Apps used in Enterprise both on company provided and “bring your own” smartphone and tablets. Where there are software vendor who offer MAM as a specific service, some of the MEAP vendors offer MAM as one of their software suite.
7. What features are supported by the SDK?
When a native application is installed on the mobile device and launched by the user, it interacts with the mobile operating system through proprietary API calls that the operating system exposes. While native apps have full access to the device, many features are only partially available via the SDKs provided by the MEAPs. It is important to check the features supported by SDKs in terms of support to APIs to access the device specific functionalities.
8. Can you integrate through the SDK? If so how using what technology/language/etc?
9. Are there templates or accelerators for applications built on the MEAP?
Most MEAP products offer template applications, which enable quick deployments of mobile versions of collaboration products like Microsoft Sharepoint, as well as common sales and field service apps. Organizations can modify these template applications to meet their own specific needs and thus speed up their process of app development.
10. Are there off the shelf applications built on the MEAP?
Some MEAP products provide source adapters to popular back ends and developers can also start using the database source adapters of the back end to build mobile applications that integrate with popular backend enterprise systems.
11. What architectural models are supported
There are evolving six stiles of mobility architecture: Thick, Rich, Thin, Streaming, Messaging and no client. Some vendors provide server-side capability and tools, so that applications can be rendered as thin, rich or thick.
12. Architectural flexibility
Additional credit must be given for MEAPs that can be configured so that business logic can run across thin client, rich-client or thick-client architectures without recoding.
While more and more organizations are embracing BYOD, there is an ongoing set of security vs user privacy tradeoffs to make. The ability to manage security is one of the most important features of MEAP. Though most MEAPs make security and Authentication capabilities are available, the support for features like device level encryption and remote lock/wipe of date is important and to be studied in detail.
MEAP solutions follow client server architecture. The client is the Mobile Application and the server is the back-end services that link them to enterprise applications and databases. The server could be either in premises or it could be hosted on Cloud. Few MEAP vendors provide cloud based offering where your source adapters connecting to enterprise back ends can be hosted.
15. Integration Support
MEAPs typically provide integration points to connect/integrate to enterprise backend via source adapters and connectors. These are catalysts that will help in speeding up the development of Enterprise Apps with quick integration support to popular backends
16. What integration / back end systems are key to your success
Depending on the nature of Enterprise App, the type of backend becomes important. It could be Content Management System (CMS), ERP, CRM or a Business warehouse.
17. What credentials does the MEAP have in integrating to your target systems
What are the readymade adapters/connectors available as integration point to backend target systems so you don’t reinvent the wheel. This cuts the development and integration time needed for enterprise app.
18. What middleware is required?
Another important consideration is the requirement of the middleware in deploying the MEAP solution, as most of the MEAPs typically have a client server based solution
19. What data modeling for online/offline replication of data is supported?
Enterprise Apps typically will have to work in both online and offline modes as the apps are mainly used by field force who may not be online all the time. The support of local caching, data synchronization is important. MEAPs framework support local caching and synchronization of data via different methods like HTML caching or local database
20. Does it support bulk synchronization of data?
When offline/online is support, there would be a need to synchronize bulk data between the mobile device and the backend database. Some MEAPs provide optimized synchronization mechanism via incremental synchronization, compressed data synchronization etc to optimize the bandwidth used for data transfer.
21. Does the framework allow push notification support?
In enterprise apps often there would be a need to provide notification to the mobile device, notifying the user about events or alerts. The MEAP framework typically provide push notifications for mobile operating systems like iOS and Androids.
22. What are the low hanging fruit from a process perspective?
Another non-functional consideration is to look at low hanging fruits that will help in the process of Enterprise App development like by providing a template for certain common workflows.
23. What experience does the solution provider have with these processes?
In the era where we see a new MEAP coming up every other day, its important to look at the experience the a MEAP provider have in handling enterprise workflows, process and its has been tried and tested.
24. What experience does the solution provider have with the non-build activities e.g. testing, training, rollout, user up take, support?
Most MEAPs have a good start guides in form of trainings, videos, self-learning tutorials, webminars etc. and also support the customer in rolling out the solution. As you role out the solution and see more and more devices being launched, it’s important to have a good support network for the MEAP that you are banking on.
25. What’s the R&D roadmap for the future?
The R&D roadmap of MEAP is important to choose the MEAP as it becomes a part of enterprise mobility strategy.