The fad of enterprise app platforms

The challenge businesses face is daunting, though easy to describe: We have a demand for mobile-first solutions, we lack the expertise, and we need to scale fast. This problem naturally leads businesses to ask, "What tools can teams use to springboard into rapid delivery?" And while a flurry of tools is hitting the market, what's really needed is to build a team that can use existing, mature tools for mobile development.

Before I get to team building, consider several categories of tools that can be used to speed up delivery. They include:

MEAPs (mobile enterprise application platforms)

Hybrid app development platforms

Zero-code tools

MEAPs

MEAPs began to emerge in 2012 from leading providers such as SAP and Kony. The goal of MEAPs is simple: provide the APIs, back-end systems, and integrated front-end systems to make it easy for a small team to build and deploy solutions.

The result, however, is that companies quickly become entwined with the MEAP. Indeed, many businesses that invested early in Kony found that they had to rewrite whole apps and back-end systems to scale efficiently. Kony has, more recently, rewritten its platform, but I urge caution when building a solution that is so heavily reliant on a service provider. You will run into issues when you want to scale the solution beyond the capability of the MEAP vendor.

Hybrid app development platforms

Another popular model is to use hybrid application development platforms,such as Cordova. A solution can be built quickly with Cordova using just HTML, JavaScript, and HTML5 technologies (SVG, CSS, etc.). In that respect, Cordova is ideal for rapid prototypes where time is of the essence.

But Cordova is not useful for complex solutions that must scale to millions of users. So it's better to treat Cordova and similar hybrid app development solutions as advanced prototyping tools.

Zero-code solutions

The third set of fad tools hitting the enterprise market propose zero-code solutions. The goal of a zero-code tool is to empower small teams and individuals who may have limited technical skills. There are two leading tools: Capriza, and PowerApps (part of Microsoft’s Office 365). Capriza’s drag-and-drop app-creation studio is powered by any existing web form. Connect the studio to the web form, and all elements can be mobile-optimized. PowerApps relates to APIs to build solutions (almost any action in Office 365 can be used with PowerApps), and the workflow is managed with Office 365’s Flow solution.

Both tools promise a similar result: An app can be created and used in a matter of hours. As with hybrid apps, you need to consider the consequences. In many ways, the approach is similar to the ill-fated Microsoft FrontPage. Be prepared for consequences with zero-code apps that include:

Orphan apps that have zero (or close to zero) usage

Teams asking for features that the zero-code solution does not support

The performance failures that may result from rapid adoption

While all the tools and categories described above have their strengths and weaknesses, I argue that the weaknesses outweigh the strengths, particularly when many other traditional tools can be used to build out enterprise mobile apps.

There are two questions my team asks when building a mobile app: "What is the business problem we are looking to solve?" and "Who will be using the resulting solution?" We use tried-and-trusted UX tools such as a business model canvas and personas, followed by a wire frame outlining the visual presentation of the solution. These tools are rapid and low-cost and place the problem at the center of the solution.

Instead of acquiring and learning new tools, we leverage:

Mobile web app frameworks

Native app development with C# and JavaScript

Mobile back-end as a service tools (MBaaS)

Mobile web app frameworks

Mobile web app frameworks such as React, Angular, and Bootstrap are four or more years old. In order to display correctly on different form factors, your consumer sites are likely to be already using one of these tools. So why not use the same tools for enterprise solutions? There is no longer a big divide between consumer and business solutions. We always look to use web tools because our teams have many years with JavaScript and HTML5, and we can scale the teams quickly.

Native app development with C# and JavaScript

The next step we take when seeking to build enterprise solutions is to leverage C# and JavaScript to build native apps. Modern cross-platform tools leverage common languages such as C# and JavaScript to share code across projects. Two leading tools do this expertly:

Xamarin.Native

React.Native

Both Xamarin.Native and React.Native use common languages (C# for Xamarin, and JavaScript for React) that your teams are already familiar with. Also, both tools integrate with sophisticated delivery models such as Team Foundation Server.

Tools for related requirements

But the app is only part of a mobile solution. Analytics, notifications, and app indexing are also needed for mobile delivery. We rely on MBaaS solution partners such as Firebase from Google, Amazon’s AWA Mobile tools, and Microsoft’s Azure Mobile tools.

It is clear that these companies are in fierce competition with one another. All three are ramping up their MBaaS toolkits and reducing costs. There is no need for you to build MBaaS tools.

The best practice of consistent mobile DevOps

Mobile first is not a fad, and it’s not going away. What's important is that, at some point, every digital delivery team must mature and support mobile offerings at the same scale as their website and any other technology they offer.

There are three distinct areas a team should address:

Tool expertise

Rapid scaling

The evolution of who your customers are

Mobile first no longer means just building a mobile app. It can mean a mobile web app, a native app, a social commerce solution, a robot solution, and much more. In all cases, people want technology to be available from anywhere at anytime. That requires a team that can handle the demands of your users, through skill, creativity, and technical expertise.

Tools are critical here. Building a team now is dependent on the tools that can be used to power a team. You must choose testing tools, for example, that can run continuously on checked-in code, leverage cloud services to scale performance, and choose development environments that are designed to scale. In short, you need to begin building out your DevOps environment.

DevOps in a mobile-first world

DevOps in the context of mobile first gives you the best opportunity for rapid scale. Consider how quickly digital solutions can grow rapidly to meet demands for a digital consumer base. In 2007, only 1.2 billion people were connected to the Internet. Today, that has grown to over 3 billion.

With this much larger audience, there are many stories of solutions that are used by millions of people within a few days of the app's availability. Whether or not that extremely rapid adoption is your goal, the use of tools and automation characteristic of DevOps practices is a well-founded way to scale and meet the demands of your customer.

The evolving customer

Finally, the customer is evolving. Consider the breakdown between consumer and employee solutions. Five years ago there was a clear difference between enterprise and shopper experiences; today, there is almost no difference. We are all consumers. The phone, through bring-your-own-device programs, has created a world where we work and play from one device. The separation of work life and home life has gone the way of separate computers for work and home. Mobile first is a mix of home and work.

The bottom line: Make sure your work apps look and perform the same as consumer apps. You must grow and mature your team to take advantage of the tools that will speed up the delivery of your projects. Focus on scale and integration, and focus less on proprietary platforms.