There is an interesting debate between whether, as a platform company, you should provide just the API or build more SDKs. A number of technology experts say that if you have a clean REST API, you really shouldn’t need an SDK. Maybe your SDK is just covering up a bad API design? In my experience SDKs greatly improve the success of 3rd party developers and it makes a difference, so while you can get away without having an SDK, you can however benefit from having one.
Don’t make your developers do the plumbing
A few years ago, we launched a REST API that was developed in conjunction with some of the best thought leaders we could recruit. It’s good, it’s clean and to someone who does REST API development, it’s fairly easy to integrate with us. However, what we found out is that a lot of developers out there didn’t know how to work with web services and while we could train them on how to put together a web request and parse our JSON response it was a lot easier to just do it for them.
Package Managers make it easy to consume your service
We also found that a number of developers out there have gotten used to getting native Objective-C, .NET or C# objects from vendors so they were expecting that to get going they could just grab something from Cocoapods, NuGet, RubyGems, NPM or something else. The raw REST API development is not that easy. The easier we got someone to the point where they could start DocuSign-ing, the more praise we received.
Updates through systems like NPM, CocoaPods, NuGet etc are fast.
Being integrated in a system like Cocoapods also allows us to deliver new functionality to people very easily. They get a new set of objects by just executing a couple of commands in the Terminal window without even the need to go visit our API Explorer.
SDKs allow you to get to a higher level of abstraction
On systems like iOS, as we realized that people were not thinking in terms of web service calls here and there, we noticed developers were a lot more productive when they were able to think about “Signing Views” or “Login Screen.” We capitalized on this when we provided those specific components for our iOS SDK which also improved the end product design quite a bit. For instance, the login screen got features like ability to select different accounts if you had a subscription.
It’s hard to provide an SDK for every technology stack, but if you are capable of providing one, it will speed things up. Your partners will champion this if it helps them get to market faster. Having said that, take a look for yourself at our iOS SDK and let us know your feedback on it! You can check it out here: www.docusign.com/mobilesdk
Mike Borozdin is DocuSign's Director of Integration Development. Continue the conversation with Mike on Twitter