[bisq-network/proposals] Develop a fully featured cross-platform graphical user interface to the Bisq network supporting mobile, desktop, and web clients (#342)

chimp1984 notifications at github.com
Wed Sep 15 14:13:20 CEST 2021

> we reuse as much code as we can

Yes, reusable code base for library code is absolutely needed. But I think that native implementations for the UI have emerged as standard for most mobile wallets. And doing the pure UI is not that of a hack as well IMO. Also comes with the question which type of developers we want to attract. As seen in the above wallet examples, only one wallet was using a javascript based approach. For other apps it might be different as security has less priority. 

> Though I am not sure it currently runs on an rpi

In the past some folks got the GUI Bisq running on rpi. But no idea if those build scripts still work.... 

> 2. ability to run bisq on mobile in some self-contained way (enable growth in emerging markets)

> This potentially could be done on Android using the existing Bisq code base. However is not possible on iOS without a rewrite into a supporting language - like was started with the Risq (Rust) project.

I doubt that the fully featured Bisq use case on mobile is feasible from a resource usage point of view. Having multiple connections to the BTC and P2P networks is just too expensive and keeping it running for longer drains your batteries. Stopping the connections when the app is inactive will cause delays when starting it up again (you re-bootstrap) leading to bad UX and instability.
The only approach which could work IMO is to convert those P2P connections to client/server model connections where dedicated P2P nodes act as servers. On the BTC side I think it should work by just reducing the connections to 1 peer like with localhost (but not sure how stable it will be, localhost != remote via HS). The P2P network server can be chosen randomly and as its a hidden service connection there should not be much privacy issues. When trading its anyway an end to end connection to the trader not using the P2P/gossip model.

But beside that, iOS support will be tricky. Maybe multiplatform Kotlin allows to convert the java code base to Kotlin and make it then reusable in iOS using Swift for the UI. Still a huge enterprise not recommended to start if there are not a team of several experienced and committed fulltime devs for it. Introducing multiple implementations need to be avoided IMO as that would be a can of worms and we saw that already back then with the Risq prototype which caused an unintended dos attack on Seednodes by not implementing the complete feature set of the P2P network.
Ah and Tor hidden service support on iOS was always an open problem. Don't know how current state is, but I am pretty sure that the Bisq model to run the Tor binary as external process will not work on iOS. So it will require a iOS library for Tor hidden services.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20210915/d6c1399d/attachment.htm>

More information about the bisq-github mailing list