Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Android and iOS #49

Open
dnet890 opened this issue Mar 12, 2023 · 3 comments
Open

Support for Android and iOS #49

dnet890 opened this issue Mar 12, 2023 · 3 comments

Comments

@dnet890
Copy link

dnet890 commented Mar 12, 2023

Hi
I love this app for transfer between Steam Deck and my laptop. But, it will be great to support phone as well. Is it possible to support Android & iOS?

@sireliah
Copy link
Owner

Hi and thanks for your kind words.

I know very little about Android/iOS development, but in the past I've done some experiments running Dragit in a browser using WebAssembly and WebRTC. Since browsers supporting these technologies run in all platforms, so maybe this could be a decent replacement idea?

However I don't invest much time into development of new features in Dragit recently and I can't estimate when this would be done.

@dnet890
Copy link
Author

dnet890 commented Mar 15, 2023

I see. is it like PWA on browser?

@sireliah
Copy link
Owner

Yeah, PWA could work for sure. When I tested the solution, I was using only the browser and successfully managed to run Dragit discovery in Firefox. It was a while ago, but I have a repo: https://github.com/sireliah/wasm-p2p-experiment

I got stuck on the part of the Javascript -> WASM integration where there is a need to load file (in the form of an ArrayBuffer) to Rust/WASM &[u8] array. I'd need to read a bit more on this, but the issue doesn't seem to be a blocker.

Another issue I faced was the need for two servers to make the browser solution usable:

  • rendezvous server for host discovery in local network
  • signaling server for initiation of the inter-peer connections

Dragit works without external servers, so the browser solution would require someone to host a server. That's a privacy compromise, but on the other hand very tempting solution, considering that browsers run on all architectures and types of devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants