Published OnApril 1, 2025October 3, 2019

Ditto v2 now has 3 times the bluetooth distance

Last year Ditto's iOS SDK supported a maximum Bluetooth range of 30 meters. Here Hamilton and Adam show us just how far our new v2 Bluetooth stack has come.

Here Adam Fish and Hamilton Chapman demonstrate just how far we've come with our new Bluetooth stack. The best part, these phones are using two completely different Android Phones: one Pixel 3 and a Samsung S8. We've mentioned that many Android phones act quite differently when it comes to Bluetooth stability.

What did we do to get such distances? Well, you can think of the Bluetooth hardware and stack like a violin. Just because you've got the best violin in the world, without knowing how to play it, can still give you the worst sounds. Several improvements had to made to get Bluetooth to it's full potential.

Protocol enhancements - Our new v2 protocol is far more efficient when it comes to hand shaking. As you might know, Ditto is a sync engine and often requires "remembering" where devices were left off

Compression - Our Document model has undergone a major revamp where it now syncs CBOR serialized data instead of UTF-8 JSON strings. We've noticed a 18-22% reduction in the size of comparable documents. The less you have to force down the pipe, the less

Lower Level API utilization - In prior versions of iOS, Android, and Raspberry Pis, certain APIs like L2CAP and advertising extensions weren't available. Now, even though they may be available, we've yet to see many developers have the necessary time,understanding and or skill to effectively use them.

Better hardware - devices like iPhone 8s and later generation Pixel's and Samsungs, have a much more mature Bluetooth chip that reconnects and transmits data a lot faster. And better yet, if devices understand that they can "upgrade" to Bluetooth 5.x, then they can speak at a much higher bandwidth than Bluetooth 4.x devices.

Of course, we will be making even more improvements in the coming months and there's no shortage of innovations that can be done at the protocol and compression level to further enhance Ditto's performance and efficiency.

If you're interested in working with our phenomenal Bluetooth team, apply now on our Jobs Page.

Read more
Product
Tutorial
April 24, 2025
Engineering with Expo: Expanding Our JavaScript SDK
by
Teodor Ciuraru
In this article, we’ll detail how we introduced Expo Development Builds support for Ditto React Native and how the new Expo plugin helps developers skip several manual setup steps that React Native CLI users typically face.
Updates
Product
April 22, 2025
Flutter for Web Reaches General Availability in Record Time
by
Rae McKelvey
As of Ditto Flutter SDK v4.10.1, Flutter for Web has reached General Availability. In October 2024, when we shipped 4.8, Ditto developers started asking if we could extend Ditto to support Flutter web apps – and we took that challenge to heart. With the GA, let's take a closer look at what's included today, some key considerations, and how you can get started today.