Over the last six months I met with a wide range of customers and prospects in order to understand how they understand enterprise mobility, and especially to see whether they see it as a business opportunity or just another piece of technology. It’s no secret that the past few years have seen a debate between two paradigms: whether to write specific code for different devices, or to take a wider approach.
The rapid advances in mobile technology have led to a world where there is no single accepted approach, but history looks to be repeating itself from the desktop world, and I believe that application development platforms are the way forward.
In general, the company I work for has two types of customer: ISVs, who develop solutions and typically have some investment in a certain paradigm or technology; and end users across industries from financial services in banking and insurance, through logistics, leisure and more, who may have a preference for one internal environment but who have usually ended up with a mix of technologies. This range makes their perspectives on mobile technologies varied and fascinating.
I have written a lot on the application technologies war, mostly focusing on HTML5. What I’m seeing in the market is that people who have been convinced to develop specific code for each device are sticking with this route, as are those who have chosen to use HTML5 web apps. However neither of these approaches is completely issue-free.
Regardless of whether you choose to code natively or use HTML5, there are both pros and cons. Organisations using HTML5 for mission-critical applications find that they suffer from delays caused by the need to deploy patches; while custom code has proved to be very expensive in terms of time and effort needed to support the multiple versions needed for different mobile ecosystems and device types and keep them all up to date. Just take a look at the iOS and Android Facebook clients for an example of this. The question is, how to move forward?
Once upon a time…
I have long been an advocate of using a mobile business platform in order to build applications with true multi-platform and multi-channel capability, and this is not a choice between developing HTML5 or native applications. Platforms can do both, and which you choose is a deployment, not a development, question. This is not about generating code, rather, it is about pre-packaged functionality that can be configured through a development process and activated across any platform, whether native or HTML5.
The real advantage of using platforms is that they provide a uniform approach to develop, deploy and manage applications. From collecting data and processes from multiple sources, whether these are located on premise or in the cloud, traditional enterprise systems or social media, and reusing it in an auditable and governable way, to consumption of data services and user interface across multiple devices. For example, you can set policies to ensure that certain data or applications can only be accessed in certain countries, or only when an employee is working from home, via geofencing.
Platforms have the ability to encode auditability and governance automatically into your applications, going beyond the user interface. You can determine policies for how the application should handle data when there is no connectivity, such as underground or on trains. Offline access needs to be built in, as does security.
Today’s enterprise mobile users are carrying out tasks that would previously only have been available behind the firewall, so it’s increasingly important that security is built in at the device, application and user levels. Platforms enable all of this, not as a patch-based solution but as a single-stack solution to enable features to be easily built in.
I have written many times about the benefits of platforms, but I find that their benefits are often misunderstood. Especially in organisations where there is a strong understanding of HTML5, mobility experts fall into the trap of believing that just because they can make HTML do what they want that this is all their solution needs. For example, just because you can fire a HTML wrapper at a problem doesn’t mean that this is the easiest solution to maintain, upgrade or deploy to multiple devices.
The real benefits of platforms lie in the ways they enable you to predictably develop, manage and experience your applications, such as allowing you to concentrate on service consumption and provisioning at all levels and across all your applications. Rapid development is also a benefit, as the pre-packaged functionality in the platform allows you to reduce your development time by up to 80%, thus reducing your time to market as well as costs. Likewise, this rapid, agile development allows end users to participate in all stages of development, ensuring that the resulting applications are better adapted to user requirements and market needs.
As most platform vendors incorporate the latest mobile technology into their platform via updates, allowing you to use it without researching the technologies in great detail, it becomes easy to keep your applications up to date. This has always been a benefit of using platforms, but it is especially noticeable with mobile due to the rapid evolution of the technology, especially when it comes to security, data standards, and ecosystems.
To examine why platforms are so important, let’s take a trip to “ancient history”, or as you might know it, about 20 years ago and the early days of ecommerce on the web. When websites first became important business tools they were written directly in HTML, and while there were some very impressive efforts, overall this trend led to sites that were little more than an online version of the company’s paper catalogue or brochure. This also led to pages becoming increasingly complicated as revisions were made or new technologies adopted.
Consider that in the space of a few years customers started to expect embedded media, secure payment, live stock levels, mapping and online reviews: trying to code all of this into a page by HTML was very complicated.
The solution to the ever-increasing complexity of webpages was to use platforms which allowed new technologies to be implemented as standard objects, rather than having to write everything from scratch, to the point that today webpages resemble a Lego model rather than a hand-written essay. For example, if you want to create a blog site, using platforms such as WordPress or Eblogger is an obvious choice, while Magneta, Shopify and Voluta easily handle the complexities of an e-commerce website, and for a CMS there is a plethora of choices such as Drupal, Squarespace, and Movable.
Platforms can also be easily updated to cope with new requirements, thus simplifying maintenance, while custom HTML or Java is used to customise rather than create. Remember that the purpose of mobile apps is not just to present information, but to be able to reuse existing business logic behind a new user interface.
Is the past relevant to mobile?
I believe that the picture in mobile today is very similar in that while many organisations have used HTML or Java to create a mobile experience, but today they are finding that it is no longer enough to wrap these around a page to make a mobile app.
The challenge is that users are trying to do far more on mobile now. Mobile apps don’t just need to present data to a user in an attractive way: users need to be able to update that data, and the more we do, the more important it becomes to ensure the right data gets to the right people, when they want it. Today’s mobile apps need to be able to set intelligent policies regarding who can access what data, they need to have security built in, along with management tools. As users increasingly rely on mobile, offline access becomes critical, and apps need to be updated rapidly as demands change, in a world where “rapid” could mean “within 30 minutes”.
Further, as users try to complete more of their computing tasks on mobile, the mobile experience needs to grow far beyond the cut-down “mobile interfaces” we have come to expect. Mobile users are expecting to have all their workflows at their fingertips, and the logical, integrated processes that result are no less at home on desktop. This means that it makes no sense to separate mobile apps as a standalone page: because we need a template, the full business logic and workflows, mobile is moving beyond a “look and feel” issue. What we are moving towards is a world where collaborating and sharing data is enabled by seamless processes, making users quicker and more effective.
This look at the past shows that many organisations today are just dealing with a thin layer of what mobility is all about. Yes, you can easily design HTML pages yourself, but it is hard to upgrade the look and feel, maintain the applications or assign and control user rights. Learn from the dotcom era and content websites, and move toward using a platform today, to better manage your logic, processes and data in a maintainable way for the long run.
The industry has already acknowledged the key role of platforms in its mature desktop web technology: now it’s time to learn from the past, embrace platforms in mobile and avoid a future disaster.
David Akka is Managing Director at Magic Software Enterprises UK. Follow David Akka on Twitter: www.twitter.com/davidakka
Click for the online version