Tuesday, 29 November 2016
Benefits of Software Development Kits
With the increased use of online services such as GitHub, Project Code, Stack Overflow and many others, there has been more choice for the developer when it comes to integrating solutions to create new ideas. Software Development Kits (SDKs) are now in everyday use across the world of development. A common view of an SDK is a set of tools that allows a developer to achieve something that would otherwise take a significant amount of money and/or time to achieve themselves. To distinguished between SDKs and Application Programming Interfaces (APIs), an SDK is a set of tools that can be used to integrate or build a technical capability, an API can be one aspect of an SDK. As well as APIs, an SDK can include documentation and programming tools.
There are thousands of SDKs covering all aspects of development. More recently the larger companies of the world have made it their mission to provide SDKs to integrate their capabilities in development solutions across mobile platforms.
Why use an SDK?
It is very easy for developers to look at a problem and write software as the solution. This approach is often hindered by time taken to solve programming problems and the costs related to that time. Another factor sometimes forgotten is the programmer/business considering what is core development work for the business and what is not.
One analogy of looking at this, is to consider a concrete production company. It would clearly not be cost effective for the concrete company to focus on building cement mixers to transport the material and constructing the offices that their staff work from. It is much more effective to focus on the core business (concrete production) and buy in the services to transport the products and the building to house the staff. Similarly the best SDKs allow developers to focus on their core productivity. This changes the developer’s role to become skilled in choosing the right tools to develop the best solution at the right time for the right price. A developer that surrounds themselves with the best tools and SDKs can become more of an innovator in integration.
What is the value of using open source SDKs?
Microsoft, Google, Apple and Oracle have all contributed to the open source community and given their official stamp of approval to sharing code and making it possible for all coders to develop their ideas out in the open. This has had a positive impact on SDKs by making them more open and improving their quality for the developer. This idea of open sourcing SDKs and their associated tools has also been coupled with beta releasing software to share with the development community, the result of which has been to create greater “buy-in” and commitment from the developer to the product. But this commitment comes at a cost – it is critical for the provider of the SDK to be part of the developing community and discuss both the good and bad found in their SDKs reacting positively and taking their products in the direction the development community is looking for.
Real Business Benefit
Businesses and developers working together can yield significant cost saving, innovation and decreased time to market with new business solutions. Whilst there are many SDKs out there that can be considered to be just for the developer (fulfilling a development need such as a database SDK) there are some SDKs which work for the business and the developer. It is these SDKs that are of real interest when they can directly support a business need and enable business users to take direct advantage of the results.
A good example of this is our very own OnePoint Global Mobile App SDK which allows you to run surveys inside a mobile application and collect the feedback through your OnePoint Global Account. The real power is when the researcher (or business user) can continue to refine their thinking and needs without having to engage with the developer. The surveys and feedback results can be changed with no need to release the mobile app to the market place each time.
The OnePoint Global Mobile App SDK is a classic example of a set of tools with documentation and an API that can be used to get feedback from any iOS or Android smartphone.
For more information, please sign up for a OnePoint Global Developer’s Account and start turning your mobile applications into effective feedback tools for your business.
By Doug Morris, Chief Technology Officer & Co-Founder, OnePoint Global.