For many connected devices, intermittent connectivity is a fact of life. Whether a device is connected to a satellite network or trying to communicate over a spotty Wi-Fi connection in a factory, there are plenty of use cases where a sensor has data to share, but must wait to share it.
That’s why I was intrigued by Ditto, a four-year-old startup in San Francisco that makes software designed to share data over intermittent connections. The company just signed a deal that will see Alaska Airlines adopt the technology for collaboration and data sharing between ground and air crews even when there’s no internet connectivity.
This could be powerful for the internet of things. The technology combines a software development kit built into an app running on a local device that also connects with a cloud server. What’s notable is that the local SDK also lets other nearby devices connect in a peer-to-peer mesh to share information. When a device in that mesh gets internet connectivity back to the cloud it can then send all new information back to the cloud server.
Today, the use cases are industrial and in enterprise settings, like the Alaska Airlines deal, where data can be shared on the plane among crew even if there’s no Internet connection (we all know how iffy airplane Wi-Fi is). Once the plane has a connection again, the newly created or updated data on the crews’ app can be sent to the cloud and synced with other devices. According to Adam Fish, co-founder and president of Ditto, other use cases include industrial areas with weak Wi-Fi and large campus settings.
The software is basically a data synching technology that lets developers of the app using the Ditto SDK prioritize what data gets sent over iffy connections first. It also ensures that the data stored locally and in the cloud eventually sync. In the meantime, devices that are local can still communicate and share data with each other.
I love the idea behind the technology, and see useful applications in agriculture, factories, and even home settings, where devices can keep a local connection in case of a loss of connectivity or when a satellite might only pass over every few hours. Fish told me he agrees that the technology could be used for the IoT, but so far it’s a bit of a heavy lift on the computing and memory side to work on microcontrollers.
Today it only works on Linux, Android, or iOS, but the company is trying to shrink the SDK for use on microcontrollers. Maybe I should have waited until then to write about Ditto, but I think we’re seeing a shift in our thinking about computing where we stop focusing solely on getting more performance per watt for big data center applications and start thinking about small computing, small amounts of data, and small power consumption, all aimed at making computing more ubiquitous than it already is.
Ditto’s technology will help with this, not only because IoT use cases often have unreliable connectivity, but also because the way that Ditto only sends changes instead of complete logs matches with a more efficient style of computing that the IoT will demand. I hope more people are thinking this way.