Top Three Challenges in Enterprise Mobile App Development

Three things

Enterprises are adopting mobile technologies at an unprecedented rate. As Business News Daily recently reported, 1.3 billion workers will go mobile by 2015, and with that massive number, the need for enterprise mobile apps can only skyrocket.

With that increase, many mobile app developers will be called upon to create internal mobile enterprise apps. These apps have many requirements and considerations that differ from the typical app destined for the public app stores. In this article, we will take the top three challenges and share some tips on how to meet these challenges:

  1. Security
  2. User Interface
  3. Choosing a Development Technology

Security

This subject leads in our “Top 3” because of its indisputable importance. Here’s a short list of security tips:

  • Authentication
    This is probably the most vulnerable place in the app because of the need to provide user credentials, such as login and password. In the shortened time available in rapid development, it’s really challenging to implement a secure authentication routine from scratch. Integration with the enterprise’s LDAP directory is usually required to ensure proper authentication, and it also offers the convenience of single-sign-on (SSO) across all enterprises apps.
  • Server-side validation
    It’s easier and more reliable to implement important checks and validations on the server, rather than on the client side. Such an approach has two advantages: app performance will not be slowed down by complex validations, and the logic will be always be up-to-date because of its on a central server — bug fixes, including security fixes, can be applied immediately without the need to update the app itself, because all the logic is on the server.
  • Encrypting data
    It’s always a good idea to keep all sensitive data encrypted, especially if it will be stored on the mobile device. This is usually accomplished with a secure container that protects the enterprise apps in cases where devices are lost or compromised.

It’s also important to remember that security is a flexible thing. The need for it directly depends on the type of app. For example, enterprise apps like mobile shops or bank apps with bill pay need to be secured more strongly than informational apps.

User Interface

Enterprise apps are typically used by employees within the organization, so, for these apps, functionality will beat out “beauty” in importance almost every time. This isn’t to say certain fundamentals shouldn’t be met – aesthetics will always be important – but most often, in the case of enterprise apps, excellent usability comes before aesthetic concerns. People are using enterprise apps to be better at their jobs, and they will more deeply appreciate an app for making their job easier than for how trendy it looks.

The key to creating a successful enterprise app is to emphasize intuitiveness. One way to do this is through the use of icons. Icons can be a great foundation for creating a useful and natural mobile UI. Use them to immediately explain a button’s functionality.

Also, don’t forget that you can override hardware buttons (for example, Home, Back, or Menu buttons). Doing this can add more intuitiveness to your app navigation. For example, in mobile browsers, the “back” button will navigate you to the previously visited page. It’s become intuitive – when you press a back button in any context, you expect to be taken to the last page you visited. You can incorporate this kind of intuitiveness into your app via those hard buttons.

Choosing Between HTML5 vs. Native

Choosing which development technology to use can be a real challenge, under any circumstances, but there are special considerations with enterprises. For many enterprises, there is a growing backlog of smaller, internally facing apps that need to be built quickly and efficiently.Before deciding what the best approach is let’s look at the technology approaches.

The two main approaches are native and hybrid/HTML5. Both have their pros and cons.

Obviously, if your app is targeting only iOS, and you have the budget, time and skills, it can be built as native, with the help of Objective C (or Swift) to gain more performance and total access to native features. This is a really rare situation, however, because of Bring your Own Device (BYOD) policies. You should anticipate the need to support a variety of mobile devices.

Meanwhile, HTML5 is constantly gaining momentum and becoming increasingly popular. Gartner, Inc., a leading information technology research and advisory firm, recently confirmed this trend by going on record to say that 90% of all enterprise apps in 2015 will be HTML5 or Hybrid and only 10% will be native.

So, for these enterprise apps, all the benefits of HTML5 in terms of cost, time-to-market, and portability across platforms overshadow the diminishing advantages of native development.

For more on the HTML5 vs. Native debate, take a look at this article, published earlier this year.