The last 2 engineers I spoke to who had quit their jobs to do a startup are working on building 3rd party solutions for app developers. There is clearly a trend of more folks trying to build services for various apps. From Analytics to payments, ad networks to notifications, there our services for everything, even Emotion Tracking and Augmented Reality.
How these 3rd party services tend to be used across various apps is by integrating their SDKs (essentially including code libraries from other providers into your apps).
Let’s consider an example of an e-commerce mobile app. Here are some of the features/attributes
which might be needed
- Accepting Payments
- Analyzing usage (clicks, pageviews, conversion funnels etc)
- Sending notifications (push notifications about offers/promotions etc)
- Campaign Management (to track installs and their behaviour from various paid install campaigns)
- A/B testing
- User Engagement/Rewards
- Messenger/Chat and so on
This list would vary from app to app and the developers have two options, Build each one of these functionalities or integrate existing solutions (Mobile SDKs that provide one or more of these services). While the benefit of integrating an SDK to do say user behaviour analysis is immense (and in most cases the only option and you can’t possible build this functionality on your own) it is where the problem starts and one wonders, “how will this scale?”
How many SDKs can you possibly embed in your app? The performance and maintenance issues are plenty. While from app developers perspective the challenges are obvious (which ones to choose, how to migrate data from one to another in case of switching, how to attribute any problem to one SDK in case of multiple SDKs etc), what worries me is how upcoming start-ups with their business model built around offering SDKs to developers will come about.
Distribution, is possibly the most important thing for a startup and I foresee getting various app developers to use your SDK (and not building a cool service) as the biggest barrier to entry/success.
I’m sure you might have built a great user analytics/customer lifecycle management/campaign management etc SDK but how many SDKs can a developer possibly try and integrate?
Concluding Thoughts
1) Building an SDK that offers to replace an existing/prevalent one like Flurry or Mixpanel though comparatively easier to build will be extremely tricky to distribute/sell
2) Building an SDK that offers to replace multiple existing/prevalent ones (Flurry, Testflight, Admob etc) though extremely difficult to build will be comparatively easier to distribute/sell
3) Mobile platforms (Apple/Google etc) might improve their offerings around various fundamental needs and start including them into the platform APIs like iOS did with Facebook and Twitter. A native Analytics/campaign management service will be difficult to compete with
4) Some app developers might be privy to share their data (for say Customer Lifecycle Management SDK)
This space is quite exciting and I’m really interested to see how it shapes up. What do you think?