Mobile developers want great mobile SDKs

Use the best practices to build your SDK.
For a free consultation,

Andre Elias

CTO at Fidel
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
5

Featured case study

Fidel SDK

iOS SDK, Android SDK, open source library for React Native.

 

Benefits for working with us on your SDK development

You’ll work with a team that has experience in SDK development. No need to work with a developer that never build an SDK or a mobile library, for that matter. You’ll benefit a lot from our good experience, form the best practices that we implement.

Reducing hiring expense (in money and energy)

Finding a person that works well and responsibly on iOS, Android and ReactNative is pretty rare. The alternative would be to hire 2 or 3 different people just for your SDK: an iOS Developer, an Android Developer, a React Native developer.

However, the chances that you’ll find developers that have SDK development experience is pretty rare.

The central focus for us is to create business value for you

This is reflected in our pricing strategy. We don’t work with hourly rates, so we don’t try to maximize development time. We only care about creating enough business value for you.

We make sure that you only make smart investments in your SDK development.

Nobody wants to pay more than their returns on the investment, yet this is the case for many companies that need mobile development services. They invest more than they get in return. Later their projects get shut down and their time and money is wasted. We care about your investments and always advise on what would increase your return.

Smooth integration for the developer that integrates and uses your SDK

You’ll have the documentation exactly as it needs to be. The APIs will be easy to understand, taking the best practices for each platform into consideration. You’ll get an SDK that is as easy as is possible to use.

Responsible development practices

This is reflected in our pricing strategy. We don’t work with hourly rates, so we don’t try to maximize development time. We only care about creating enough business value for you.

We make sure that you only make smart investments in your SDK development.

Nobody wants to pay more than their returns on the investment, yet this is the case for many companies that need mobile development services. They invest more than they get in return. Later their projects get shut down and their time and money is wasted. We care about your investments and always advise on what would increase your return.

Consulting

You’ll definitely benefit from our consulting on the best way to design, develop, test, document, publish (open-source or closed-source) and maintain your SDK.

We can work with all programming languages useful in mobile development. On iOS: Swift or Objective-C. On Android: Java or Kotlin. Of course, for React Native, Javascript is the only programming language you need. We’ll choose the language, depending on the requirements of your business and depending on your context.

Q&A SDK development

Language considerations

Java or Kotlin? Objective-C or Swift?

If you need a React Native SDK, the choice is simple: JavaScript. On native mobile SDKs however, we have some options. For your iOS SDK, the programming language options are Objective-C (the old reliable) and Swift. On Android the choice is between the popular Java and newer programming language, Kotlin.

If you start developing your SDKs from scratch, the best language for iOS is, of course, Swift and for Android, Kotlin. They are more modern languages with many great features. When used correctly they prevent a lot of bugs, coding speed is better, code readability is better. Also more and more projects are developed with Swift and Kotlin, so that’s what developers would expect you to use either way.
If you have a legacy SDK (in Objective-C, on iOS, or Java, on Android), it’s possible to take incremental steps to modernize it and ultimately switch completely to Swift and Kotlin.

The disadvantage of using Swift and Kotlin is that some interoperability coding might be necessary. Not all their features are perfectly interoperable with Objective-C (on older iOS projects) or Java (on older Android projects).

 

 

Will the SDK be close-source or open-source?

It depends a lot on your context.

In our opinion, open-source is always the first option to have in mind. Then we can discuss about open-source disadvantages and see if you need to switch to closed-source.It depends a lot on your context. In our opinion, open-source is always the first option to have in mind. Then we can discuss about open-source disadvantages and see if you need to switch to closed-source.

The advantages of open-source:

– We believe that trust is a big factor and advantage. Developers and the general public trust more the online services that are open-source.

– If your open-source license would also allow contributions, you could get valuable contributions from the community you would build, with time. This might prove to be cost-effective for your development options.

– You allow developers to customise the user experience as they like.

– Everything is open. All information and data could be shared with the developer.

– You will be forced to document everything even better, for beginner developers.The disadvantages:

– Everything is open. All information and data could be shared with the developer.

– If your license allows forks, you can’t really associate your brand name with the SDK. You might not have been the developer to make the SDK. Another developer might have modified it, break it and use it in an app that does something bad.

– You have to manage an online contributors community.

– You have to consult a lawyer or do research to use the best license for your SDK.

The closed-source SDKs cannot easily be replicated or reverse engineered.

Some advantages are:

– The experience is consistent for all developers that integrate your service into their apps.

– You will have control over how your service is being used on mobile. No other third party will implement crazy user experiences.

– You can block developers’ access to information or data that only your business should own.

– No time spent in managing an SDK contributor community. No extra legal complications.

– Your developer community can still offer suggestions.

– You can still allow the UI to be customisable, but by your own rules.

Disadvantages:

– Developers are becoming more and more skeptical of closed-source code. The general public will have less trust in what it does.

– You don’t get contributions from your community, which might be valuable.

What are the objectives of the mobile SDK?

 

Like with everything in business it’s best to define some clear goals. It’s even better if you have a long-term vision for where your mobile SDKs will end up. Because mobile SDKs have multiple advantages, your goals could be related to:

1. More developers acquiring your service.

2. The user experience for users that ultimately use your service.

3. The developer experience when they integrate your service.

4. Shortening sales cycles.

5. Shortening new feature deployment for the developers that use your service.
Having some goals with regards to any of the above benefits (or other benefits), you will also know what to focus on. It will also clarify the amount of resources you should allocate for your mobile SDKs.

What are the security goals of the SDK?

Your SDK needs to be secure. No developer wants to integrate an insecure service. We can help you with that. We’ll help you define goals and make your SDK secure based on your goals.

Some of the concerns we can help you with are data protection (GDPR or other law compliance), access control, confidentiality, authorisation, identification, integrity, privacy, fortification, consistency. But these are not all.

Contact us today if you have questions about the security of your SDK.

What are the compatibility requirement?

Here are some simpler questions to help you clarify your compatibility requirements:Here are some simpler questions to help you clarify your compatibility requirements:

1. Do you need to provide your SDK for both iOS and Android?

2. Do you have developers that use React Native or Flutter or other multi-platform framework? If yes, do you want to help those developers easily integrate your SDK with their technology?

3. What is the minimum iOS and Android version you want to support?

4. If your SDK needs some UI, what are the devices it should support? (tablets, phones, smart watches)

5. Do your iOS developers need to integrate it with Cocoapods, Carthage, Swift Package Manager? All of them?

We can sure help you answer any compatibility questions for you. Contact us to discuss them.

How will avoid crushing the developer's app?

We have the experience to create and maintain high quality SDKs that don’t crash the apps they are integrated in. We write automatic tests that make sure that everything you would deliver to your developers is at the highest quality possible. We would also create a great, clean architecture which increases the quality of your SDKs

Do you want to provide your own UI?

 Not necessarily. If your developers just need a networking SDK, you might not need to provide your own UI. Not necessarily. If your developers just need a networking SDK, you might not need to provide your own UI. 

However, if your service requires some “dialogs” with the end user, by developing the UI, you make it much easier for the developers to integrate your service.

Here are some things to consider, if you choose to build some UI in your SDK:

– It’s best to make it (at least somewhat) customisable so that the users won’t feel like they opened a totally different app when they use your SDK’s UI. This may be a bummer for developers that want to integrate your service.

– You might need to support multiple device sizes and device types (tablets, phones).

– It needs to adjust to different mobile environment scenarios like dark modes or phone call modes.

– It’s just more code to manage. But it may be very useful code to manage.

 

What are the costs of developing a mobile SDK?

Of course that this depends on your goals and also on how sophisticated is the solution you need. Please define your goals first, then calculate how much value you would get. It’s best if you quantify the value in $. Then you can make an estimate of how much you should invest in the mobile SDKs.

Beside development and coding efforts, you should take into consideration the costs for distributing your SDKs. If your SDKs are open-source, distribution can be free. But if you have a closed-source SDK, the Android SDK distribution costs depend on the platform that you would use: Bintray, Jitpack etc. We can definitely help you make a decision.

Use the best practices to build an your SDK

For a free consultation,

Pin It on Pinterest

Please accept, if you would like to allow this website to use cookies, in order to improve your experience. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close