Replies: 4 comments 10 replies
-
Only starting with iroh so might very well be suggesting silly things. In my usecase users will not be on the same network to start with in many situations. A secure low bandwidth p2p connection over ble could still be of great value. Specially when wifi / 4g / 5g isn't reliable for any reason ( network congestion, remote location, construction site, underground, ... ). also apple restricts any api access to eg. hotspots on ios as far as I know. Maybe alternatives like objc2_multipeer_connectivity would be a more suitable approach at least for apple systems. eg. in the case of ditto they seem to maintain a number of ble connections as fallbacks even when higher throughput connections are available. That mechanism can also be switched off depending on mesh size / requirements. https://docs.ditto.live/sdk/latest/sync/managing-redundant-bluetooth-le-connections. Not sure on what native apis they rely and how they manage interoperability between different platforms. Also not sure if there is any concept of modeling "transport" priority / QOS in iroh but that is what I would expect from a p2p system. protocols / routers and api clients should be able to detect and react to such degradation events. In my case only sending essential data and buffering the rest would be very valulable. My interpretation is that "p2p that works" would definitely be more enabled by a low bandwidth local connection compared to fallback relay over the cloud. Or at the very least the endusers should have the choice. Specially in cases where the quality of that cloud connection is compromised for any reason. What are your thoughts on such "fallback" transports? Regarding ble I'm using btleplug crate to interface with sensors; it has multiplatform support for central role that works quite well so far. Currently looking for solutions to the peripheral role, did some poc with a unmaintained crate bluster but so far didn't have any luck with adversising services on osx. The code "works" but nothing happens. |
Beta Was this translation helpful? Give feedback.
-
I'm dipping my toes into the serverside "whale nodes" aspect of things. And how to approach the scenario of plenty availability in terms of connectivity. Being able to adjust the behaviour of a node at runtime based on external factors / events resp. a hard and concious user choice would be an interesting extension of the current "tuned for mobile" behaviour. As far as I understand the main criteria would be:
Potential node classes:
|
Beta Was this translation helpful? Give feedback.
-
I've recently come across Jack Dorsey's git repo related to your interest in chat use-cases: which supports P2P over Bluetooth Low Energy over a mesh network. Ditto, also does something like this, and supports a sort of multi-hop architecture where it can use the available protocols to find the shortest path for data (https://www.ditto.com/pricing/peer-to-peer-sync). This would be an incredible feature for Iroh to support, especially for building features like offline-capable POS and other offline-capable web applications that can continue to communicate even without a functional network (eg. network equipment fails within a retail store, we can still support communication albeit more slowly over BT LE), or in adverse network conditions such as planes, boats, trains, remote locations where internet is patchy and sometimes unavailable and so on (contact tracing, disaster relief, restaurants, trade shows, event venues, etc. where internet is sometimes non-existent or too unreliable to rely on). |
Beta Was this translation helpful? Give feedback.
-
Would be very cool if this works for audio streaming (ad-hoc distributed silent disco where everyone can just bring their phone 😎) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
We haven't looked into BTLE (bluetooth low energy) much. Our friends at https://github.com/berty/berty spent a lot of time trying to get BTLE to behave, and to be honest I don't think it was worth the amount of effort they had to put in to getting things into a workable state. I'd make a point of checking back in with the Berty team before revisiting in earnest.
The other issue with BTLE is the constricted bandwidth. Iroh is supposed to be "p2p that works", and if we were to auto-switch to a BTLE connection the max throughput of the connection drops considerably. Might be fine for some use cases, but certianly not for all.
That said, we're always interested in chat use cases & future possibilities!
Beta Was this translation helpful? Give feedback.
All reactions