As part of a recent strategy session with a client, one of the marketers in the room sheepishly asked me, “What makes a good mobile app SDK?” Marketers shouldn’t be embarrassed to ask; as marketing’s evolution continues to grow reliant on various software and technologies, SDKs (software developer kits) and APIs (application programming interfaces) are becoming more relevant.
First, SDK vs. API
A clear understanding of what makes them “good” isn’t as easy as you’d think. Part of that comes from the changing nature of these terms, with strong legacies and nuances behind each phrase. Today, however, the industry has pretty much solidified around an SDK referring to a library that’s integrated into a mobile application, and that an API refers to the cloud-based services that work in concert with the SDK or app.
You build something with an SDK. You use or consume something with an API.
You use an SDK to access functionality of a library, and an API to control it.
Marketers often get push-back about “adding another SDK to the app.” Typical objections revolve around extensive dev work, that the SDK will significantly increase the app size or network load as well as discussion of how they can decrease app stability.
To help answer some of those objections, I asked engineers both at Urban Airship and outside of the company how they might respond.
SDKs: What To Look For
From that research, I’ve gathered the following list. Good SDKs are:
Easy to use
Well-documented and well supported
Provide example code
Demonstrate clear versioning
At the most basic level, good SDKs support engineering efforts and scale to your needs. If an SDK is implemented properly, it should only be as big as it needs to be based on the features that you’re using. On iOS, this is done by framework linking in Xcode and depends on the build settings; ProGuard can manage this on Android.
Without stripping and obfuscating the SDKs, the static file size that enables every Urban Airship feature is ~22MB on iOS, and the Android AAR file is ~556KB. After linking the iOS SDK, it ends up being ~2-8MB. We’ve also built our SDK to optimize network traffic.
SDKs Should Support Engineering Efforts
Marketers and mobile product managers should work with their dev teams to clearly articulate the features and use cases they want to deploy. From day one, our SDK helps you capture data and segment audiences by device property tags, reducing some development work. You can also use these tags for A/B/N testing right off the bat!
Our SDK is broadly used, with more than 40,000 unique app installs. Our iOS and Android SDKs are open source, allowing developers to extend functionality and better understand how things work. We provide extensive documentation and sample code, as well as a knowledge base, system status tracker and support tools including a community forum.
That’s all you’ll need to get going with our free Starter Edition today.