Live data from Hacker News

Ditto: Real-time sync for apps even without the internet

ditto.live

21–30 of 89 posts

Re: Ditto: Real-time sync for apps even without the internet

#21
post #16
post #8

Earlier quoted context omitted.

My vision is that all the current use of IT should work in this mode. Depending on a central server for synchronization should be the exception, not the norm.

How would you handle granular permissions though?

Sync permission rules to clients, enforce in centralized authorities and peers once synced

Re: Ditto: Real-time sync for apps even without the internet

#22

>Ditto is designed for "peer-to-peer" synchronization where it can directly communicate with other devices even without an internet connection. In addition, Ditto automatically manages the complexity of using multiple network transports, like Bluetooth, P2P Wi-Fi, and Local Area Network, to find and connect to other devices and then synchronize any changes.[1] This is cool ! I have no idea what's the use-case behind…

I’ve thought about building a messaging app the doesn’t depend on cell networks, it could be useful for example if you are on a snowboarding trip or mountain biking and need to communicate with a group of friends, but in a place with spotty cell service. I’ve played around with Apples P2P networking framework but it was pretty clunky, this looks like it would be much easier to use.

Re: Ditto: Real-time sync for apps even without the internet

#23
post #8

>Ditto is designed for "peer-to-peer" synchronization where it can directly communicate with other devices even without an internet connection. In addition, Ditto automatically manages the complexity of using multiple network transports, like Bluetooth, P2P Wi-Fi, and Local Area Network, to find and connect to other devices and then synchronize any changes.[1] This is cool ! I have no idea what's the use-case behind…

My vision is that all the current use of IT should work in this mode. Depending on a central server for synchronization should be the exception, not the norm.

Interestingly, most of the Ditto folks originally worked on Realm, an object database that eventually monetized into the "sync via a central server" space.

Of course, Realm was later acquired by MongoDB, and currently exists as some kind of Frankenstein's monster product in an attempt to drum up Atlas sales.

Interesting how the acquisition pushed some of the devs to create better tech, but they had to give up the original product along the way.

Re: Ditto: Real-time sync for apps even without the internet

#24

Looks interesting but a few questions I don’t see answered in the docs: How do permissions work? Ie if I had a notes app, and wanted users to only be able to upset and query _their_ notes, how do I make that happen? Why no LAN for web browser mode? A pwa with offline support should be able to sync with other resolvable ips on the same pan, no? Hopefully WebBluetooth will be available soon too?

Looks like LAN depends on multicast for discovery, which isn't available in browsers as far as I can tell: https://docs.ditto.live/javascript/common/mesh-network/suppo... Regardless you definitely wouldn't be able to do browser-to-browser discovery and connection via HTTP or WebSockets, since you can't create a web server in browser, but I imagine you could do P2P via WebRTC if you can just find a way to discover the…

Webrtc allows getting the local IP address. maybe these could be distributed manually or when a discovery service is available, and then tried when it's not?

Re: Ditto: Real-time sync for apps even without the internet

#25

>Ditto is designed for "peer-to-peer" synchronization where it can directly communicate with other devices even without an internet connection. In addition, Ditto automatically manages the complexity of using multiple network transports, like Bluetooth, P2P Wi-Fi, and Local Area Network, to find and connect to other devices and then synchronize any changes.[1] This is cool ! I have no idea what's the use-case behind…

Max, CoFounder of Ditto here.

Super cool to see us on HN! The use cases are for projects, products, enterprises to build collaborative apps that can sync with the internet but fall back to local P2P connections when internet connectivity fails. Furthermore we added offline first as an additional guard for some resiliency.

We help solve a class of apps like:

1. Desk-less worker apps for the enterprise: think people who use mobile apps for the vast majority of their work: pilots, flight attendants, construction, maintenance 2. Retail, inventory warehousing, point of sale systems where being able to communicate between kiosks, service tablets, and display systems quickly even if there are interruptions in service 3. Education: it’s very often parents give their kids phones without a data plan, so their school or learning apps need to be able to collaborate with other students or teachers regardless of connectivity 4. Robotics, agriculture technology, IoT - often these applications have hard requirements to communicate with other local devices without any dependency of the internet

I can keep going!

Again, So happy to see us on HN! Thank you!

Re: Ditto: Real-time sync for apps even without the internet

#27

>Ditto is designed for "peer-to-peer" synchronization where it can directly communicate with other devices even without an internet connection. In addition, Ditto automatically manages the complexity of using multiple network transports, like Bluetooth, P2P Wi-Fi, and Local Area Network, to find and connect to other devices and then synchronize any changes.[1] This is cool ! I have no idea what's the use-case behind…

I'm not sure about latency since I haven't tried Ditto, but there's a class of in-person multiplayer games that would benefit from something like this. See Spaceteam[0] for an example.

[0] https://spaceteam.ca/

Re: Ditto: Real-time sync for apps even without the internet

#29

>Ditto is designed for "peer-to-peer" synchronization where it can directly communicate with other devices even without an internet connection. In addition, Ditto automatically manages the complexity of using multiple network transports, like Bluetooth, P2P Wi-Fi, and Local Area Network, to find and connect to other devices and then synchronize any changes.[1] This is cool ! I have no idea what's the use-case behind…

Max, CoFounder of Ditto here. Super cool to see us on HN! The use cases are for projects, products, enterprises to build collaborative apps that can sync with the internet but fall back to local P2P connections when internet connectivity fails. Furthermore we added offline first as an additional guard for some resiliency. We help solve a class of apps like: 1. Desk-less worker apps for the enterprise: think people wh…

We are in the process of buying it for retail applications (just signed the paperwork) and so far so good. I would ask that you make the documentation a little easier to find from the home page. Engineers want things to be easy ya know :).

EDIT: is there ever a plan to open this as a spec?

Re: Ditto: Real-time sync for apps even without the internet

#30

What is the proudly-displayed use case from the US Airforce? Something with its new unguided bombs they’re testing, or the new bomber it’s rolling out this year? The hundreds of Phoenix Ghost “Kamikaze” drone bombs they just revealed? Are programs like this funding this project? I will pass.

USAF just happens to be a customer, and I really don't believe Ditto has any strong stance one way or the other on this. This statement falls into the "Charlie Manson openly liked McDonalds so as a McDonalds franchisee you openly support serial killers" bucket.
Post reply on HN