Since its founding over 20 years ago, our firm has been investing in enterprise applications companies. Throughout this period we have invested in every major application platform: client/server, e.g., Epicor, multi-tier Web-based, e.g., Webify, and SaaS, e.g., Host Analytics. These days, while the adoption of SaaS applications is increasing, the broad consumer adoption of smartphones and tablets, as well as of other connected specialized devices that are part of the Internet of Things, is driving corporations to accelerate their mobile enterprise application strategies. As a result, enterprises are starting to mobilize existing applications and embrace a mobile-first approach for the new applications they are licensing or developing internally. This approach is leading to the emergence of mobile as the application platform.
Previous enterprise application platforms and their associated architectures were created in order to enable the development of applications that automate complex business processes. The typical enterprise application (internally developed or third-party) tends to have a large footprint, complicated user interface reflecting its complex functionality, long release, deployment and update cycles, and expensive maintenance. SaaS applications have improved on several of these issues, e.g., release, deployment and update cycles have shrunk and maintenance costs have decreased. Based on the examples we’ve seen from the consumer world, mobile applications have completely different characteristics. They provide simple and user-centric functionality, typically automating one task, e.g., making a restaurant reservation, have clean look and feel, small footprint, monetize through new and equally simple business models, and interface with other applications and data through well-defined APIs. Because of their characteristics, security and privacy become more manageable tasks.
Mobile consumer applications are starting to influence how mobile enterprise applications are designed, implemented, deployed and used, regardless of whether their intended user is the corporation’s customer, its employee, or its partner. However, mobile enterprise applications have not yet achieved (and here) the range of functionality, sophistication and refinement of consumer applications. They tend to be straight re-implementations of their desktop counterparts. Fortunately enterprise application developers are starting to re-think how mobile software can best automate business processes while adopting the norms established by mobile consumer applications. In the process they need to make the following important decisions:
- Select the right business process to mobilize. In these early days of mobile enterprise applications we see companies making the mistake of mobilizing widely used desktop applications. Rather than starting from the application level, it is important to start from the process level and identify the processes that are best suited for a mobile automation. I have identified three types of processes that are good candidates for mobile implementations: a) those involving mobile employees, customers or partners, e.g., appointment scheduling for field technicians, b) those which take unique advantage of the sensors, e.g., GPS, camera, found on mobile devices, e.g., route optimization for delivery service drivers, insurance claim submission, and c) those that have been considered too niche for inclusion in a large enterprise application (there is an app for that) and can be implemented easily using the small-team development model that has emerged in mobile consumer applications, e.g., collaborative task management.
- Determine the type of application to build (native or web-based). The debate on whether to develop a mobile application that runs native on the device, such as Walgreens’, or is web-based, i.e., using an HTLM5 UI and a cloud-based back end, such as the one developed by the Financial Times, will continue to rage for a while. Developers opt for a native application when a) response speed is important, for example Facebook changed from a web-based to a native mobile application in order to improve response time, b) the desired user experience is not adequately supported by HTML5, for example Walgreens’ application as well others that have been recently been released, c) the application is expected to frequently operate in environments with infrequent or no connectivity, or low bandwidth, e.g., while on a commercial flight. Some native applications are not 100% self-contained on the device but may also need to use the cloud particularly in order to access data or invoke other applications in order to accomplish a task, such as United’s mobile application which accesses a variety of databases with flight and customer data. There are also very good reasons to develop a web-based mobile application including when a) a mobile application is being quickly prototyped, b) it is not clear which implementation type will best serve the application’s users, c) the application needs to run on a variety of mobile operating systems beyond the major two (iOS, and Android), d) trying to mobilize an existing third-party or proprietary enterprise application (on-premise or cloud-based) by creating a wrapper around it, e) response time and a specific user experience are not issues, and f) monetizing the mobile application through search advertising.
- Decide on a business model to monetize the application. Over the past 2-3 years third-party mobile consumer application companies have been experimenting with a variety of business models: advertising-driven, subscription, freemium, mcommerce. Third-party mobile enterprise application providers will undoubtedly have to go through a similar experimentation phase for the applications they introduce to the market. Deciding on the business models that will be tested can also dictate how the mobile enterprise application will be designed and implemented, i.e., not only how the business process will be decomposed but also whether each resulting application will be native, web-based or hybrid. For, example, as it was mentioned above, if monetization will be through search advertising, then a web-based version of the application is necessary.
- Provide the right user experience. Enterprise applications have typically been built from the bottom up, their developers paying most attention to the business logic and the database structure. With a small number of exceptions over the past few years, user interface and overall user experience have been afterthoughts. Mobile consumer applications have demonstrated convincingly that user experience is as important, if not more important, as functionality. Mobile enterprise applications must establish the same balance with user experience becoming as important as functionality. Moreover, user experience does not only imply a user interface that engages the user, but also a consistent experience across all mobile devices on which the application will be used (regardless of screen size, operating system, etc.). This is an important consideration since the application’s users are likely using multiple mobile devices in the course of their daily work activities, in addition to their desktop computers (an excellent example is the approach that Google took with the Chrome browser). In order to provide the right user experience while mobilizing an enterprise process, it may be necessary to be implemented over more than one application. For example, the process of field workforce management may be broken down into three mobile applications: personnel scheduling, form-filling for data collection, and work-order completion. In some cases the mobile applications developed to automate a particular business process may need to be organized into a larger composite application where the output of one component application becomes the input to another. For example, the shopping list application developed by a grocery store chain may be integrated with a third-party in-store navigation application to provide a better user experience.
- Take advantage of ecosystems. Ecosystems that were created through business development partnerships have always been important for enterprise applications. Companies like SAP, Oracle, Salesforce, Workday, to name a few, have developed platforms on top of which their partners wrote additional enterprise applications. Today in mobile applications the platform is not simply an extension of a particular application but is the operating system. During these early days of mobile enterprise applications we are witnessing the creation of ad hoc application ecosystems, e.g., health care applications, and data ecosystems, e.g., quantified self data that can be used by mobile health care applications, and business graph data (enterprise CRM and HR data combined with location data, as well as data from LinkedIn, Twitter, Facebook and other social networks and organized into a graph structure that can be searched and analyzed) that can be used in variety of mobile CRM, HR and SCM applications.
- Developing the right APIs. Application Programming Interfaces (APIs) have always been important for application integration. They have become even more important for mobile applications as they enable them to interface with distributed heterogeneous data sources, e.g., database, activity streams, etc., as well as with other mobile, cloud-based, or on-premise applications, and offer services such as push notifications, identity management and geolocation. Writing a robust and well-behaved set of APIs for every mobile enterprise application and documenting them appropriately have become prerequisites.
- Make the business application discoverable. Apple’s and Google’s app stores have demonstrated that it is possible to create millions of mobile applications. I expect that as enterprise mobility moves from experimentation to mainstream we will see a similar explosion for mobile enterprise applications. Identifying one or more applications to automate a particular business process, an enterprise user may need to search the mobile device, the corporate cloud/marketplace, or public application marketplaces. As consumers have already determined, just finding the right applications in app stores is hard enough. Application search will need to be augmented with a detailed and robust application categorization scheme that enables tasks to be matched to applications, as well as the ability to monitor application usage patterns (users tend to gravitate to a few specific applications that enable them to achieve a lot with little in-depth understanding of an application's internals).
After extensive experimentation over the past 8+ years (with the advent of the smartphone), we remain in the very early stages of enterprise mobility. Mobile consumer applications have taught, and continue to teach, enterprise application developers many lessons about design, implementation, distribution and appropriate business models. As the enterprise’s move to mobility is accelerating we will see the emergence of new third-party application leaders since, at least to date, the incumbent enterprise application providers remain too attached to the design and monetization models they established 20+ years ago. In the process, in Apple, Amazon, Google, we are already seeing a new set of mobile infrastructure leaders emerge that are seriously challenging the dominance of traditional enterprise infrastructure providers such as IBM, Oracle and Microsoft. These market conditions make this an excellent time to invest in companies that develop mobile-first enterprise applications. As we did during previous application platform shifts, Trident is aggressively investing in companies that will become tomorrow’s enterprise application leaders by utilizing the mobile platform.