A new standard for Data-Over-Sound SDKs

James Nesfield
Chirp
Published in
3 min readMar 6, 2018

Myself and the whole Chirp team are super excited to announce the launch of our Version 3 Connect SDKs.

This is our ‘Goldilocks release’. The third version — the version that puts into place all of the learnings, improvements, optimisations and polish gleaned over the course of the last 2 years through building our previous generation SDKs. If the first version was our ‘too basic’, the second our ‘too complicated’ — Version 3 is absolutely ‘just right’. Our v3 SDKs represent a new standard and a firm foundation for developers to integrate Data-Over-Sound into their own applications with ease and confidence.

The v3 SDKs were developed with a single priority in mind:

Make it trivially quick & simple to integrate Data-Over-Sound capabilities which are reliable in even the most acoustically complex, difficult environments.

As such, we have made improvements across the board, but they boil down into two categories : Performance, and Developer Experience.

Performance 📈

The new SDKs represent a new state-of-the art for reliable data-over-sound. Depending on acoustic conditions, the v3 SDKs represent an 8X improvement in data rate over our v2 SDKs. They achieve significantly faster data transfer in all conditions, while maintaining Chirp’s best in class standard for reliability in even the loudest and most challenging acoustic environments.

The performance increase is not an incremental improvement over existing data-over-sound technologies — it represents a step change in what is possible. For many applications, what used to take seconds, now takes milliseconds — the difference in user experience is transformed completely.

Developer Experience

Creating the v3 SDKs was an opportunity to go back to the drawing board and start from scratch. The new SDKs benefit from starting with a blank sheet of paper: we reimagined what a developer-first experience should look like for a Data Over Sound SDK.

The biggest difference here is the removal of the translation step required by version 2 SDKs. The previous generation relied on developers translating their data into an esoteric ‘Chirp Identifier’ which could then be passed to the SDK. The v3 SDKs talk about sending and receiving data in bytes — no more strange identifiers, alphabets or encoding transformations.

The result is a suite of SDKs which are trivial to integrate in minutes, and which accept data in the format you are familiar with and likely already using in your application.

For sending, the v3 SDKs have an incredibly simple interface:

// Pseudocode sendByte[] bytesToSend = {}
Chirp.send(bytesToSend)

… and it is just as simple to receive data:

// Pseudocode receiveChirp.receivedData(Byte[] bytesReceived){
Byte[] myData = bytesReceived
}

For developers already on our v2 SDKs, transitions guides are available via our Developer Centre. The Centre has been upgraded and developer support (powered by Zendesk) put within easier reach.

Chirp Version 3 is available now.

You can download a free trial of our version 3 SDK for Android, iOS, JavaScript and Python right now from admin.chirp.io.

--

--