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.
JD Roberts says
Shelly has been making batterypowered WiFi sensors for awhile which are unusual in that they use the same kind of “sleepy” algorithms as other IOT protocols like zigbee and zwave to improve battery life. It’s why they are able to have “no hub required” IOT sensors that have similar battery life to the more traditional low power options. So the humidity sensor might report only once every five minutes rather than continuously as a typical Wi-Fi device would. These weren’t designed to deal with intermittent communications, but the end result is similar. You have Wi-Fi devices which are not dependent on continuous communication and which are sending smaller “change detected“ packets.
I think we’re definitely going to see more moves in this direction for both residential and commercial use.