We’re clearly in the midst of a mobile application management boom, and the two prominent techniques for making apps manageable are software developer kits (SDKs) and app wrapping. It’s only natural to wonder which is better. But is that’s the wrong way to be comparing these two techniques. While it’s true they both achieve the same end result of manageable applications, the use cases for app wrapping and SDKs are actually quite different. Let’s take a look.
The idea behind mobile application management (MAM) is that we apply security policies to individual applications instead of to entire devices. This means that various apps can have unique policies applied to them, and that they’ll be protected and manageable regardless of the management status of the device. Basic app management features typically include authentication, VPNs, encryption, and remote wiping. Apps are also connected to a server that can control authentication, issue remote wiping commands, or otherwise control the app using policies created by IT.
So how do we get apps to hook into a specific management platform? With the SDK approach, an MAM vendor gives developers a code library that they can incorporate into their apps at the time of development. The code includes all the features and hooks necessary to integrate with the MAM platform.
The alternative approach is app wrapping. App wrapping is just like it sounds—a complete app is surround with additional code to give it all the needed management hooks and security features; the extra code gets compiled around the existing app. Some app wrapping solutions go beyond the security basics by controlling specific app functions. By intercepting calls to operating system APIs, an app wrapper can control the use of location data, cameras, microphones, cut and paste, or any other device function.
While an SDK for MAM needs to be included at the time of development, app wrapping can take place after original development. So that general means if you’re building your own apps, you use an SDK, and if you want to make somebody else’s app manageable, the you use app wrapping. Of course, app wrapping could also be used by a developer when they first create an app, and in that case it pretty much fills the same role as an SDK.
The problem with both of these solutions is that there’s no way to apply them to apps from public app stores. In this case, MAM providers can make their SDKs available to developers that are writing apps for the public stores. The hope is that in the future, more public apps that plug into MAM platforms will be available. As that happens, there will be less of a need for companies to wrap apps on their own.
What does all this mean for MAM vendors? It means that ideally a mobile app management solution would provide all of these options: app wrapping for managing other vendors’ apps (and possibly to add management to in-house apps); an SDK for adding management features at the time of app creation; and an ecosystem of partners providing compatible apps in public app stores (likely developed with the same SDK).