BitcoinDesign / Guide

A free, open-source community resource for designers, developers and others working on non-custodial bitcoin products.
https://bitcoin.design/guide/
Other
456 stars 96 forks source link

Explore how we can reference code library sister projects into the guide #1024

Closed GBKS closed 1 year ago

GBKS commented 1 year ago

There are now several code libraries that are closely related to the guide, you could call them sister projects.

There are some more I think, and they are either implementations of guide content or the UI Kit, or both. It's really all interlinked now. Which is awesome.

So should we reference them from the guide as well? There is currently no mention. What's a good approach, and what would be the right places to reference them?

The tightest integration would be for a library to be a super close implementation of, for example, the Daily spending wallet reference design. In that case, we can simply add the library project directly, like the next step after the Figma prototype. Maybe each project's lead can share their thoughts on how they see things?

Pinging @danielnordh, @crukundo, and @reez.

reez commented 1 year ago

@GBKS I think this is a great idea and am open to whatever you all think works best and align WalletUI in any additional way needed to Bitcoin UI Kit + sister projects.

I use the Daily Spending Wallet a lot so whether the library references be an appendix to that, or whether it be a section called "Design Implementations" on the Resources page, or whatever you all think works best I'm totally good with.

Happy to also connect with each other going forward on anything related to Bitcoin UI Kit and our projects in general, Bitcoin UI Kit is such a valuable resource and the great work I've seen from @danielnordh and @crukundo is awesome.

GBKS commented 1 year ago

@reez I saw your proposal, and it seems like your iOS app for BDK could be a nice on-chain counterpart to BDG and Etta which are focused on lightning.

We're also looking to revise the on-chain reference designs in the guide (savings, upgradeable, shared) to add use cases like social recovery and inheritance (using miniscript, FROST, etc). So there might be some overlap there as well. How feature-rich are you planning to make your app?

crukundo commented 1 year ago

I think it would be a good idea whichever way it's shared. Devs and users would find working projects they can contribute to and use. EttaWallet will mirror the Daily Spending Wallet as closely as possible so it's a reference resource for developers and hobbyists that grows alongside the project, hopefully with a community of contributors.

danielnordh commented 1 year ago

Great to see the different Wallet projects building on the design guide, each in their own way.

As a first step, I think we could:

I can take the lead on sketching out a draft, and eventually a PR

reez commented 1 year ago

@reez I saw your proposal, and it seems like your iOS app for BDK could be a nice on-chain counterpart to BDG and Etta which are focused on lightning.

We're also looking to revise the on-chain reference designs in the guide (savings, upgradeable, shared) to add use cases like social recovery and inheritance (using miniscript, FROST, etc). So there might be some overlap there as well. How feature-rich are you planning to make your app?

Those reference designs and use cases all sound like great additions to the Guide, this is the repo related to the Issue that is being worked on currently by myself+Steve with a Summer of Bitcoin student and I know I’d like to try integrating things mentioned in the proposal like ck-tap via the rust library being actively worked on.

reez commented 1 year ago

Great to see the different Wallet projects building on the design guide, each in their own way.

As a first step, I think we could:

  • Add a page under Resources - Code resources/implementation (or similar)
  • Reference that page and/or the individual wallet projects on the Reference Design pages

I can take the lead on sketching out a draft, and eventually a PR

This sounds great to me, thanks Daniel!

danielnordh commented 1 year ago

@reez How would you feel about renaming your WalletUI package to 'Bitcoin UI Kit' for Swift, or similar?

It's the only implementation for Swift, and we have both contributed to it (me like 2% ;) ) so it feels like it's as close to the 'official' community implementation as it gets.

reez commented 1 year ago

@reez How would you feel about renaming your WalletUI package to 'Bitcoin UI Kit' for Swift, or similar?

It's the only implementation for Swift, and we have both contributed to it (me like 2% ;) ) so it feels like it's as close to the 'official' community implementation as it gets.

@danielnordh I'm open to it but I'll say I originally didn't include "UIKit" in the name because the associated meaning of UIKit on the Apple platform (and that the library would be primarily dedicated to SwiftUI), so that's why I settled on WalletUI as the best mix in my mind at the time of "Bitcoin Wallet UI Kit" + "SwiftUI".

For example: if I saw a BitcoinUIKit iOS library I would associate it as a UIKit implementation of Bitcoin components, but I can understand how someone else may not think that?

Totally open to others thoughts and changing the name of WalletUI though, that's just the backstory on the current name.

danielnordh commented 1 year ago

Ah, that makes sense. To be honest it didn't even cross my mind, even though I spent many good years building with the Apple UIKit :)

There is no problem with calling it WalletUI obviously. The reasoning behind my question was to see if we could get a bit more coherence if someone lands on the Bitcoin UI Kit website / Design Guide where that language is used.

Not sure if Bitcoin Wallet UI is marginally better?

reez commented 1 year ago

Yeah I'm totally onboard for more coherence, and anything I can do on my end to help with that.

Are we trying to have all 3 of our UI repo's with similar naming conventions? If so I'm cool with that and totally open to suggestions (like Bitcoin Wallet UI or even if we want to add the language name to it, etc).

Right now it looks like we've got:

But totally good with changing my repo name regardless of any other repo needing to do a name change if that's what seems best!

danielnordh commented 1 year ago

Are we trying to have all 3 of our UI repo's with similar naming conventions? If so I'm cool with that and totally open to suggestions (like Bitcoin Wallet UI or even if we want to add the language name to it, etc).

Yes, something like that. Or at least something close to same names so that it's understandable if you jump between sites. How about BitcoinUI followed by the language?:

It leaves out the Kit part that's in the original / Figma name, but is maybe superfluous. Some of the package worlds have their naming convention quirks (like flutter using underscores), but that can be the technical name, vs the public facing name used as titles and in references.

reez commented 1 year ago

Yeah I dig that

reez commented 1 year ago

Are we trying to have all 3 of our UI repo's with similar naming conventions? If so I'm cool with that and totally open to suggestions (like Bitcoin Wallet UI or even if we want to add the language name to it, etc).

Yes, something like that. Or at least something close to same names so that it's understandable if you jump between sites. How about BitcoinUI followed by the language?:

  • BitcoinUI Swift
  • BitcoinUI Flutter
  • BitcoinUI RN etc

It leaves out the Kit part that's in the original / Figma name, but is maybe superfluous. Some of the package worlds have their naming convention quirks (like flutter using underscores), but that can be the technical name, vs the public facing name used as titles and in references.

Just to check back in on this am I the only repo needing to do a name change or should I wait on any additional conversation/decisions for the two other repo's mentioned before I change my repo name? Just didn't want to change the name if there was any other conversation needed but totally ok changing the name if the name should be BitcoinUISwift now and I'm ready to do that anytime.

danielnordh commented 1 year ago

I would also need to change the flutter package name (currently BitcoinUIKit Flutter). Not too worried about the timing though, whenever works for you. I'll do it next week when back from holiday.

reez commented 1 year ago

I changed the name of WalletUI today.

I changed the Swift Package name to BitcoinUI and changed the repo name to BitcoinUI (can totally change repo to add "Swift" or different casing later based on what you all do/think)

The reason for the name of the Swift Package being just BitcoinUI and not having the word "Swift" in it is because that's pretty standard for dependencies since you know you are already working with Swift and looks cohesive when importing.

Screenshot 2023-08-28 at 10 18 56 AM

And then the reason for the name of the repo just being BitcoinUI is because I was just going to name it to match the Swift Package for now and then if we wanted to add "Swift" to it later that would totally be cool but I was just going to wait to make sure I had the exact naming convention everyone else changed to (for example I didn't want to name it BitcoinUISwift if it should be BitcoinUI Swift or BitcoinUI-Swift or bitcoinui-swift, you get it).

@GBKS let me know what help I can be in getting this referenced in the Guide or any other help I can be.

@danielnordh thanks for the conversation and ideas on this, let me know any other changes I might make in the future and and help I can be for that as well too.

Looking forward to all of this as we collaborate and it evolves!

danielnordh commented 1 year ago

Excellent, thank you for taking the lead. I will go ahead and do the same on the Flutter side.

crukundo commented 1 year ago

I feel like I have been gone too long. So, BitcoinUIKit RN would be more appropriate on my end, yes?

danielnordh commented 1 year ago

I feel like I have been gone too long. So, BitcoinUIKit RN would be more appropriate on my end, yes?

No worries, we are just getting around to making the changes. I think we have settled on 'Bitcoin UI' as the common name (leaving Kit out as it is confusing on the iOS side).

I am renaming the Flutter stuff as follows:

reez commented 1 year ago

Sweet, thanks for laying that out clearly, and I'll take a look at yours and make any additional updates to mine based on it too

crukundo commented 1 year ago

Thanks @danielnordh. I have to make some urgent changes to that repo since it's been a while but definitely modifying it to match this

danielnordh commented 1 year ago

OK, I have renamed and updated as mentioned above. I decided to use just 'Bitcoin UI' as the public name, mentioning Bitcoin UI Kit when linking to the Figma / website.

Here is the pub.dev page for the Flutter package: https://pub.dev/packages/bitcoin_ui

danielnordh commented 1 year ago

Merged the code resources PR #1027