What’s an SDK, Anyway?

Published on May 30, 2017/Last edited on May 30, 2017/6 min read

What’s an SDK, Anyway?
AUTHOR
Team Braze

The rise of mobile changed a lot of things. Data collection. Customer messaging. Brand experiences. Audience expectations. It also introduced a lot of new terms and new meanings into our vocabularies—everything from “app” to “text” to “swipe.” But some of the most significant terms associated with mobile never made it into everyday usage.

Consider “SDK.” If your brand has a native app, the odds are that it’s a term you’ve heard it before. And you probably know it has something to do with mobile (Right?), but that might well be the extent of your knowledge. The thing is, SDKs are actually really important. They add powerful new features and functionalities to your digital platforms, and play a key supporting role in many brands’ digital marketing strategies—maybe even yours.

So let’s take a deeper look at SDKs—what they are, how they work, why they matter, and when it makes sense to use them.

What is an SDK?

At the simplest level, a software development kit (SDK) is made up of lines of code—written by a third party—that can be added to digital applications to support new capabilities. And while SDKs are widely associated with mobile native apps, it’s possible to make use of them in connection with websites, set-top boxes, and other digital platforms.

Okay, but what does that actually mean?

In general, SDKs are a spectrum of software intended to make apps and other digital platforms more dynamic with less work and less headaches for the company that controls them. “It provides elements that might not be directly native to the app,” says Rachel Welber, senior customer success manager at Appboy. “They’re not necessarily required—but they give your app that additional umph.”

Imagine that your brand is thinking about building an iOS app with some sort of social media plugin—Facebook, for instance. You might well start out by checking out the iOS 10 SDK to get some of the tools you need to build the native app itself, then look at the Facebook iOS SDK to find code that will allow you to incorporate some of Facebook’s social media components into your app. Once both are integrated correctly into your app, the information contained in those SDKs makes it possible to launch your app on Apple’s iOS platform and easily track analytics, as well as incorporating a Facebook login seamlessly into the app experience.

What’s the benefit of adding an SDK?

Imagine for a second that instead of building an app, you’re building a house. If someone asked you to walk them through all the steps involved, you might well start by drawing up a list of everything you’d need, from gathering concrete and wooden beams to hiring roofers or plumbers.

For some people, it might be possible to source everything from your existing resources—chop down trees on your property to get the wood, convince your husband to do the roofing gratis. But generally that’s going to be a recipe for frustration. Hiring an actual roofer will get the job done faster and significantly reduce the chances that the chimney falls into the kitchen a week after you finish construction.

It’s the same with an app. SDKs are the equivalent of those beams and tools and contractors. Your company might technically be able to build a mobile app without any outside SDKs, but your customers wouldn’t be able to use it on devices running iOS or Android. And while not every SDK is as essential as the iOS and Android SDKs, going without SDKs beyond those two can still make it difficult for your brand to effectively carry out all sorts of important actions—crash reporting, sending mobile messages, gathering detailed analytics, and a lot more.

Which SDKs should my brand take advantage of?

Truthfully, it really depends on the platforms you’re operating on and your brand’s specific business needs. Some SDKs are built for mobile apps, while others are meant for use in connection with websites, set-top boxes, or other digital platforms. Most brands will want an SDK that helps them track app crashes—but a few companies with specific business know-how in that area will be better off creating that functionality themselves.

Ideally, an SDK should fundamentally improve the performance of your app, website, or other digital platform in a meaningful way or provide solutions to development obstacles that would otherwise have been difficult to create in-house. But at the very least, integrating an SDK should move the needle in some meaningful way for your brand.

Okay, but what does “moving the needle” actually look like?

Well, consider Braze (formerly Appboy). Our mobile SDK includes code examples, technical documentation, and packages that developers can use to build the pipes needed to allow our clients’ applications to track real-time user engagement data. That lets marketers using our platform to act on that data from within the Braze dashboard, making it possible to create highly nuanced audience segments and deliver timely, personalized customer outreach using push notifications, email, and other messaging channels.

Without an SDK, every Braze client would have to create all the infrastructure and tools for data processing, segmentation logic, delivery options, anonymous user handling, campaign analytics, and a lot more completely from scratch. That would take a lot longer and be way more of a pain than the hour or so it takes to install our documentation.

What does it mean to “install” an SDK?

Any time you hear the words “integration,” “implementation,” or “installation” in connection with an SDK, it’s usually referring to the process needed to add an SDK to a given app, website, or other digital platform. To incorporate an SDK into your mobile app, for instance, someone would need to write its code into the larger overall code base powering that application. But while that usually means involving a developer, SDKs aren’t meant to be difficult to integrate—ideally, they should be user-friendly and easy for your engineering team to work with.

Final thoughts

At their best, SDKs can translate into improved process, lower overhead, and an objectively better, more effective application. However, a poorly chosen SDK can end up feeling like a shiny, expensive tool that your brand never got enough use out of. Don’t let that stop you from including SDKs in your apps, websites, and other platforms—but make sure that every SDK you integrate comes from a trusted source and is the right fit for your brand’s specific needs.

Releated Content

View the Blog

Join the movement to journey orchestration.

The move to highly-intelligent, always-on journey orchestration is happening. And much of it is happening on our platform. Join brands of all sizes who are taking the craft of customer engagement to the next level.