Mobile SDKs have become a commodity. In our latest mobile SDKs market trend report (click to download it free) we’ve revealed that the average app has 18 SDKs. These SDKs support the product, marketing and monetization of the app’s KPIs. Currently, in 2017, it’s practically impossible to make it in the mobile app industry without leaning on multiple SDKs.
But, there’s an issue with this dependency: dealing with and managing multiple SDKs is wearying. Thus, a relatively new term was born – “SDK fatigue.”
In recent weeks, light has been drawn to the question of what SDKs are permissible to know about users. Lawsuits against major players and big conglomerates allege that user privacy is at risk. Supposedly, user information leakage to SDKs is at an all-time high. I can’t think of any dignified app that isn’t afraid of getting involved in such a PR (and business) crisis.
So, what is “SDK Fatigue”?
As more and more SDKs are being developed, new capabilities and amazing opportunities present themselves to app developers as well as marketing and business teams.
But as more and more 3rd party code is being added to the app, the effort around keeping its production environment stable, protecting user data and controlling the performance is getting much more complicated.
The SDK fatigue occurs when the app development teams don’t know how to optimally manage, control and optimize the arsenal of SDKs that are already added to the app’s code, and the ones that still need to be added.
It makes apps more susceptible to problems such as crashes, viruses, malwares, privacy breaches, battery drain, inappropriate ads, slowdown, you name it. And unsurprisingly causes decision makers to be reluctant to add more SDKs that are critical to the app’s success.
What are the challenges in managing SDKs?
Let’s think about the challenges involved with managing SDKs, from choosing which SDK to implement and making sure it’s implemented correctly, to tracking important version updates, monitoring behavior and impact on the app in real time, controlling access to private user data, optimizing its cost… and the list goes on.
Challenge #1: How to select the “right” SDK?
The first challenge starts with selecting the best SDK for your specific app’s needs regarding the KPIs you wish to achieve. With endless SDKs out there, the research alone has become tedious. The options are endless and they all look so professional. How can you be sure that a specific SDK is exactly what you need? How can you tell the difference between SDK X and Y?
Challenge #2: Staying in control with a 3rd party code onboard.
As shared above, app user data privacy and security have become a major issue. And that is only part of the picture.
I can understand the fear in using SDKs when they have their own T&C and ask to access private user data, such as location, account and more. How can you stay in control of access as well as performance issues such as start runtime, battery consumption, crashes and more? Let us not forget that when it comes to ads, there is even more uncertainty since you don’t really know what your users are seeing when they are enjoying your app – buggy ads, in-appropriate content and more.
Every app developer knows OS updates happen from time to time. With this update come changes to the policy and new restrictions, which means the code needs to be refreshed. Of course, you can take action in advance if you are responsible enough to follow the app stores’ communications and guidelines. But it’s a lot to keep track of. What if one or more of your SDKs isn’t updated on time? What if that breaks the code?
This is just one example of the many misconceptions about the day to day use of SDKs and multiple challenges that gather to create the SDK fatigue phenomena.
How to deal with SDK Fatigue?
Let’s start with the fact that there’s enough data about specific SDKs on the Internet today to make a big difference in the fight against SDK fatigue. You can simply Google specific SDKs and look for real user reviews on various sites, such as Stackoverflow , or you can try our SafeDK marketplace that houses valuable information regarding thousands of SDKs, with useful information, rating, reviews and discussions. This solves the “how do I pick an SDK that is right for me” challenge, or at least it helps dramatically.
Spy on other apps to see what SDKs they are using:
It is super helpful to sniff around to see what your competitors or similar apps are using. You’re welcome to use our App SDK X-Ray tool we’ve developed for that purpose exactly. It’s not bullet-proof, but if you follow the footsteps of the big and successful apps, you can’t be too off track, right?
Test, test, test:
When it’s time to add the SDK, start off in a testing environment like you would do with all your other features and code. You can even test more than one SDK for the same capability, so you’ll have some choices, and you can choose the best performing SDK. Try A/B testing or releasing a version only to a small subset of users (and if you have some willing betas, that’s always fantastic).
Monitor and control SDKs in real time:
Unlike APIs in the online industry, SDK codes can’t be controlled in real time. If an SDK accesses private user data or impacts the app’s performance, a new app version must be submitted and published to the store to get the issue fixed, unless you are using a dedicated SDK management solution like our SafeDK’s In-App Protection solution, where there is no need for a version update.
This solution sends real time alerts and lets you see if any SDKs are behaving poorly or collecting information that they shouldn’t (now that the GDPR is coming, you need to take extra precautions). The solution provides transparency into SDKs performance in real time and allows you to deactivate an SDK without a version update.
In order to gain the same transparency into the ads that SDKs serve in your app, we’ve recently launched our Ad-Intelligence solution that automatically identifies and alerts about tech issues such as ad crashes, buggy ads, long latency and content issues such as inappropriate ads and blacklist violations. All of it in real-time time from real users.
The ‘SDK fatigue’ can make or break your business, as it can stop you from trying new SDKs and by that stay behind the curve on advanced marketing and monetization capabilities. The SDK fatigue can be dealt with and solved with a relatively small effort. From developing internal processes to validate SDKs to integrating an SDK management solution, the SDK fatigue is definitely something you can deal with. Choose wisely.