App integration, in a general sense, is the process of bringing resources or capabilities from one application to another. As the world of apps continues to evolve, app integration is becoming expected in many contexts. For example, if you’ve ever used your Facebook credentials to login to another app, you’ve taken advantage of an app integration. The developer of the second application spared you the hassle of providing personal details by integrating their authentication process with Facebook.
Not only can the creation of your app benefit from your developer leveraging app integrations, but you can also create your app in a way that allows it to be integrated into other apps. This could either lead to a revenue opportunity for you or help to broaden the reach of your app or platform.
App Integration: The Basics
Almost every new app tends to be a combination of three general types of code: the underlying code supplied by the operating system, the code written by a developer that’s specific to just the app being created, and code written by other parties that the developer leverages in the new app.
The code integrated from other sources is referred to in a variety of ways, such as frameworks, libraries, or SDKs (Software Development Kits). While there are differences between these types of code, for the purpose of this article, we will treat them the same and use the term framework.
A framework is a batch of code that lives on its own and gets compiled separately. It is written for a specific purpose, and is typically narrowly focused. A new app might not integrate any outside frameworks, or it could leverage many. When quoting a project, an app developer considers how much code they need to write themselves and how much they will be able to integrate.
The best app developers have the experience to know what frameworks exist. They know how using existing frameworks in a way that will benefit the app being built — and when not to do so. And they know how to build your app so that portions of it may also become a framework for others, if desired.
App Integration: Framework Providers
Many frameworks are provided by Apple and Google. For example, they supply frameworks for things like buttons, fields, and images. They code and maintain the basic display and behavior of those interface elements, providing a huge amount of functionality to third-party developers like InspiringApps. Frameworks allow developers to focus on addressing your business challenges instead of figuring out details that have already been determined, like how much time between two consecutive taps constitutes a double tap. Using these existing frameworks also helps ensure consistent behavior across apps.
Frameworks can also be distributed by third parties. Some of these frameworks can be edited by other developers, and they are called “open source” code. Source code is the software that most users never see. It’s what makes the app work the way it does. Open source software is software with code that anyone can inspect, modify, and enhance. In other words, when a framework is distributed as open source, developers can change the source code to suit their needs. Some frameworks, though, are distributed without source code. This type of distribution allows third-party developers to take advantage of the features of the framework, but they cannot make changes to it. In this case the source code is protected and inaccessible.
App Integration: Framework Functionality
Sometimes frameworks provide functionality, but no user interface. It is up to the third-party developer to provide an interface, if appropriate. For example, an app could require the user’s current location to present a list of nearby retail stores. Another app might use that location information to aggregate it across lots of users and provide feedback about how crowded an area is. The framework only provides the location information, but the app determines how to leverage that information in a way that is valuable to its users.
Other times, a framework provides functionality and a user interface. Maps are a great example of that. Google Maps and Apple Maps provide a tremendous amount of functionality, often requiring very little additional work for third-party developers. A developer can allocate an area of the screen (or the whole screen) to a map, add a little configuration information like whether or not the user’s current location should be shown, and optionally provide a list of pins they’d like displayed. The maps framework then handles nearly all of the heavy lifting and the developer doesn’t need to write additional code.
App Integration: Benefits to Your App
As noted, Apple and Google provide huge frameworks that make it practical for developers to create mobile apps without the high costs that would be required to “scratch code” every element. Likewise, many well-known socially oriented apps also provide frameworks that developers can leverage to facilitate connections across apps. This includes everything from relationship networks (e.g. LinkedIn, Tinder), to media sharing networks (e.g. YouTube, Flickr), to blogging or publishing networks (e.g. Reddit, Medium.)
There are also numerous other companies providing smaller features as frameworks that can be embedded in your application. Usage analytics is one such feature. Amazon, Google, Mixpanel, and more offer frameworks that will log user activity in an app and deliver that data to a server where you can review reports and improve your app based on the results you see.
It’s important to note that it’s not always possible to utilize an existing framework. For example, imagine that you want to create the next great ride-sharing app. You might like to benefit from Über’s or Lyft’s route-planning algorithms. While that would save considerable development cost, it’s not possible because those companies don’t offer that feature in a framework. That code is a competitive advantage for them, so they keep it as private.
Sometimes it’s actually not wise to use an available framework; it’s necessary to ensure it comes from a reliable source that will continue to support it for as long as your app exists. When a framework is provided by a company or independent developer who loses interest in the framework, you can be left with the challenge of replacing it or removing it when it is no longer compatible with updated underlying frameworks from Apple and Google. What seemed like a quick and inexpensive solution in the short term can become an expensive proposition if you are forced to replace it later.
App Integration: Building Your App to Become a Framework
So what if your company wants developers to embed the features of your app into theirs? If you create a social app, you’ll likely be interested to make it as easy as possible for users to post content to your app, no matter how it gets there. You could create a framework to make it easy for third-party developers to add your platform’s posting feature to their app. Then, when other developers use your posting platform, they pay you every time they use it. As we discussed above, you may provide that functionality with or without any user interface.
Many opportunities exist for business apps as well. For example, medical billing is complicated – all diagnoses and procedures have associated numeric codes that appear on patients’ medical bill. Some procedures can’t be billed with other procedures. Some procedures can only be billed under certain conditions. If you were a company with medical billing expertise embodied in software systems, you could package that expertise into a framework that you make available to other companies to include in their apps. A startup in the medical market can focus on solving a unique problem in the industry, but still provide billing services to customers by leveraging your billing framework. This saves them the time and cost required to develop their own in-house billing expertise.
App Integration: Final Thoughts
When you want to add features to your app, app integrations can save time and money. If you are in a position to provide a framework to others, such an app integration could be a revenue opportunity for you, or help to broaden the reach of your app or platform. Contact us if you want to learn more.