Over the last several years, MachNation has observed a rapidly shifting landscape in the Mobile Enterprise Application Platform / Mobile Application Development Platform space. We expect the evolution of platforms and applications in the Internet of Things and Internet of Everything ecosystem to follow a similar evolution to that followed in the application server space and the MEAP/MADP space. This blog and two that follow will address some of the changes in the MEAP/MADP space to show some of the similarities.
Mobile application development continues remain a high priority for businesses. Mobilizing enterprise processes no longer is a competitive differentiator for enterprises: it is required by enterprises to maintain their market positions by allowing them to create a set of necessary process improvements and facilitate new process development. Enterprises are also becoming a lot more savvy when it comes to shopping for a platform to adopt for ongoing and future mobile initiatives.
In a not too distant past, mobile app development in the enterprise was in its infancy, and getting an app out was a big feat.
In this series of blogs, MachNation elaborates on the key criteria for selecting a mobile development platform and why these criteria are important. The top three criteria are: flexibility/extensibility, security and manageability. In this first blog, we discuss the importance of having flexibility and extensibility in the application development process.
Today we focus on ‘flexibility and extensibility of development’.
Flexibility and Extensibility
According to MachNation, when we speak of a platform that is flexible and extensible, we mean that the platform can be extended beyond it’s out-of-the-box feature set and that the platform “plays nice” with other technologies and the preferred development environment.
Enterprises must choose a mobile development platform that is both flexible and extensible in its approach so that the app can be built with a best-of-breed UI on a future-proof standards-based platform. This allows the most flexibility in making changes and improvements to the enterprise application.
Enterprises demand best-of-breed UI
Today, ‘if you build it they will come’ doesn’t suffice, as users constantly apply the standard of UI/UX excellence of their personal apps to their business apps. Before ground is broken on an app, before a single line of code is written, it is critical to invest in an app design that is optimal for the end-user. Prioritizing app usability using specific use cases is a great place to start; jamming all features that are available on the desktop version onto a mobile interface is not. A user-centric development focus leads to a set of UI and UX requirements that will differ from app to app.
Open enterprise development platforms provide a framework that allow developers to create the best UI for an application. Proprietary front-end development tools (and MADPs that provide them) have fallen out of fashion. This is especially true for front-end development tools that seek to provide a ‘build once, run anywhere’ approach to native development. Such approaches tend to produce apps that have a similar look-and-feel across varying mobile OSs, but as a result deviate from the native UI guidelines and design paradigms that are set forth for each mobile operating system. Aside from this drawback, closed front-end development tools play a never ending game catch up with Google, Apple and other OS vendors.
Standards-based development is a smart business practice
Development platforms that are based on standards allow for both a faster time-to-market and a lower TCO for mobile initiatives. Open platforms make it possible to reuse existing skillsets (iOS, Android, HTML/JS, etc) and abate the dependence on specialized training and retraining. Enterprises that have developers in-house will be able to get up and running quickly and avoid switching costs. If an enterprise outsources its development, relying on standards means tapping into a ubiquitous pool of skilled developers rather than relying on a much smaller subset that are familiar with a proprietary environment.
Use of standards also means developers can rely on large online communities working with the same language rather than much smaller private forums provided by the vendor. Enterprises will also be able to ditch expensive support and professional services packages are often the fine print that can add significant costs to a project.
Enterprise applications change
When evaluating mobile platforms, mobile architects ought to favor a solution that doesn’t just satisfy today’s requirements, but one that is also future-proof. A platform that is both flexible and extensible makes life much easier down the road. A successful mobile initiative must effect improvements in productivity to the user and cost-savings to the business not just on day one, but for the foreseeable future. To maintain this edge, the app must evolve over time. This involves introducing enhancements and new features based on both user feedback and improved business processes.
Today, version 1.0 of an app may involve some data entry, but six to nine months, the enterprise may decide it wants to automate some of these manual processes using QR codes, NFC or Bluetooth LE. Version 2.0 of the same app may also need to store data securely on device. On the backend, it is just as important to build on top of an extensible platform that allows the enterprise to expose data to mobile devices. Ability to write custom plugins to extend out-of-the-box functionality is an important requirement to consider.
A development platform must be evaluated not just on its fit for the current app requirements, but also how it would fare when the enterprise decides to push the envelope in the future.
Finding a platform that is highly extensible and flexible is a key aspect to a mature, sensible and forward-thinking mobility strategy.
In future posts, we will cover the importance of evaluating the security and manageability aspects of a mobile development platforms.