Desktop computers deal with the complexities of creating and managing enterprise data better than mobile devices but don't offer the same flexibility of location. Companion applications bring the two worlds together but add to the complexities of managing desktop apps.
Companion apps, which are mobile apps that work in conjunction with desktop applications to improve overall workflow, use desktop applications' supporting infrastructure. Users can work with companion applications to perform discrete tasks from their mobile devices and then return to their desktops to carry out more complex operations. Companion apps don't replace desktop applications but rather extend their functionality to mobile devices in a way that lets users continue to conduct business, regardless of their locations.
A companion application is not much different from other line-of-business mobile apps, except that it is inextricably tied to a desktop application, which continues to serve as the primary interface for working with corporate data and enterprise systems.
Why use companion apps?
A companion app is not designed to carry out all workflow tasks. It is one piece that supports the entire workflow. IT might implement a customer relationship management (CRM) tool that includes a desktop application for carrying out complex tasks, such as analyzing customer behavior. The team must ensure that the desktops can support those applications and that those applications can interface with the CRM back-end systems.
IT can implement two companion applications, one that lets sales reps access customer information in the field and another that provides executives with real-time business intelligence, such as aggregated customer demographics. IT must ensure that the companion apps are integrated into the infrastructure so they augment the desktop application, without hindering it or putting data at risk.
Implementing companion apps
Developers building companion applications should always keep the app's purpose at the forefront and be mindful of the end-user experience. The interface must be easy to understand and carefully balance usability with efficiency. The developers should take advantage of the features inherent in a mobile device, such as the touchscreen, without overloading the app with unnecessary features.
When developers plan to implement companion applications, they must consider the OS the app will run on, as well as whether they want to build a native, web or hybrid app. Native apps take advantage of a device's built-in features, but web apps are easier to build. Hybrid apps combine the two. The decision should come down to what users need and the app's purpose.
IT should also consider how it will manage companion apps. If IT already implemented mobile application management or mobile device management, it will want to integrate the companion apps into one of these tools. If IT hasn't implemented such software, it must account for the app's management requirements, addressing issues such as app deployment, maintenance and analytics, as well as how to integrate those processes into its existing desktop management strategies.
The application infrastructure
System integration is perhaps the biggest challenge IT faces when implementing companion applications. Desktops and their applications rely on extensive back-end systems to deliver services such as identity and data management, authentication, security and more. Companion applications should seamlessly integrate with these same back-end services when accessing network resources or carrying out workflow-related tasks.
Ideally, back-end systems are based on open standards and well-documented APIs that support easy integration. If not, IT must implement middleware that acts as an intermediary between the companion apps and existing back-end platforms. Otherwise, IT must come up with another way to facilitate integration, which can be costly and time-consuming.
Challenges with mobile apps
This podcast explores developing applications and the challenges for independent app developers.
One of the most important issues for IT is how to support offline operations so users can continue to work with the apps even when they are not connected to back-end services. Users should be able to perform all essential tasks when offline and then have their devices synced when they restore connectivity. IT must implement a mechanism for synchronizing the data and resolving any data conflicts.
What to expect for the future of enterprise apps
How mobilizing enterprise apps is adding useful features
Why the enterprise needs to start embracing mobile apps