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

Lightning Browser Extension Design Call #1 #132

Closed
johnsBeharry opened this issue Aug 10, 2021 · 3 comments
Closed

Lightning Browser Extension Design Call #1 #132

johnsBeharry opened this issue Aug 10, 2021 · 3 comments
Labels
call Scheduled community and project calls

Comments

@johnsBeharry
Copy link
Contributor

johnsBeharry commented Aug 10, 2021

Date: 2021-08-16
Time: 1:00pm
Timezone: UTC
Duration: 1h
UTCTime: 2021-08-16 13:00 UTC

Announcing the second call with Lightning Browser Extension (collabaration #113)! Join in to learn about Lightning payments in the browser, and the alpha launch plans.

Agenda

  1. Demo
  2. Developer update
  3. Design review
  4. Alpha release planning

Check your timezone

https://everytimezone.com/s/aba9d2fb

Join the call

https://meet.jit.si/bitcoindesign

Calendar invite

Subscribe to the Bitcoin Design Events Calendar to always know when we're having calls and workshops.

@johnsBeharry johnsBeharry added the call Scheduled community and project calls label Aug 10, 2021
@moneyball
Copy link
Contributor

I see a couple of technical design options which would impact UX.

  1. Run a LN node as an app on the computer with the browser (eg your laptop) or on a remote computer that the user controls (eg a rpi). A browser extension is a relatively simple remote control to that LN node.
  2. Run a LN node (the LN state machine and key signing) inside a browser extension (eg using the modular LDK). A proxy server, which could be a 3rd party, would maintain LN TCP connections with peers, and would communicate with the browser extension via websockets.

Option 2 has the advantage of not requiring a user to install and operate a LN node on a computer. Option 1 has the advantage of better privacy as a 3rd party trusted server isn't needed to send/receive LN p2p messages. Both options are non-custodial.

Are each of these options being considered and discussed in terms of impact on UX design?

@johnsBeharry
Copy link
Contributor Author

johnsBeharry commented Aug 16, 2021

Hey @moneyball on today's call we briefly touched on this topic but it seems like its something that needs a call of its on. We'll be discussing it on next weeks call if you'd like to join.

TLDR;
Extension in the short term focuses on the application layer and encouraging experimentation with bitcoin payments in the browser. Long term, having more accessible non-custodial "connectors". Current connectors are 1. remote controlled node (lnd), 3. shared channels, via lndhub (custodial).


The extension is focused on the application, payment and allowance experience. It's using no. 1 for now, as well as a 3rd option which is to use custodial services like LNDHub for burner accounts as a quick start for folks in the design community who aren't running their own nodes.

How might we get designers and frontend devs in the community collaborating and experimenting with payment UX cheaply (in terms of time, and knowledge). This relies a lot on the work by the joule team made on their extension as well as WebLN.

Since there is still development necessary for LDK to run in the browser, we can't be sure about all the UX challenges we'd face. Having ldk wasm and understanding constraints present across browsers is going to be quite a bit of work. You named one issue with TCP/messaging, but certainly there are others wrt storage limitations, access to the file system, backups, uptime, background notifications, that also need to be looked into. I'm very excited about seeing what this could unlock though.

Channel management/liquidity is also one thing to take into consideration. I believe since this use case focuses on paying on the web there may not need to be much incoming liquidity locked up with the channel partner, but at some point when the funds are depleted how is the wallet recharged?

@johnsBeharry
Copy link
Contributor Author

There's no BitcoinTV or YouTube channel setup for this project yet so just going to post a Dropbox link of the session recording.

https://www.dropbox.com/s/2yaxm8oma5hzhrb/lbe-call-1.mp4?dl=0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
call Scheduled community and project calls
Projects
None yet
Development

No branches or pull requests

2 participants