Bifold Summit 2023
Summary
- The Bifold Summit is a focused effort to provide time for the community to discuss issues and the future of the project. There are currently scheduled two sessions:
- Session #1 - 1/10 10:00 AM MT - 12:00 PM MT (12:00 PM ET - 2:00 PM ET)
- New Bifold Architecture
- Session #2 - 1/11 9:00 AM MT - 11:00 AM MT (11:00 AM ET - 1:00 PM ET)
- Bifold AIPv3 wants/needs discussion
- Lanugage Discussions, Indy wrappers, Shared Libraries
- Updating Bifold to AFJ 0.3.2
- Ad Hoc topics
- Session #1 - 1/10 10:00 AM MT - 12:00 PM MT (12:00 PM ET - 2:00 PM ET)
- Zoom Link (the same used for the bi-weekly calls): https://zoom.us/my/hyperledger.community?pwd=STZQd0xMZU9xRVVOVnpQM3JNQ2dqZz09
Meeting Policies
Hyperledger is committed to creating a safe and welcoming community for all. For more information please visit the Hyperledger Code of Conduct. |
---|
Session #1
Attendees:
- Name (Organization) <email>
- James Ebert (Indicio) <james.ebert@indicio.tech>
- Akiff Manji (Petri Dish Development) <amanji@petridish.dev>
- Ryan Koch (Indicio) <ryan@indicio.tech>
- Jason Leach (Fullboar Creative / Government of British Columbia) <jason.leach@fullboar.ca>
- Emiliano Suñé (Quartech / Government of British Columbia) <emiliano.sune@quartech.com)
- Simon Henriksen (Hyphen) <simon@hyphenapp.xyz>
- Philip Essy-Ehsing (Hyphen) <philip@hyphenapp.xyz>
Agenda:
- New Bifold Architecture
- Presentation - James Ebert
- Open Discussion
- Internationalization
- Tablet Support?
- Dark Theme vs Light Theme
- With the ability to decide
- Application Storage / Settings
- Can be very opinionated vs providing defaults
- Some kind of interface for user settings
- Need a good way to group settings into category
- Tiered components
- Settings List > Category Component > Individual Setting Component
- Process for becoming a committer
- Outlining the process for the PR reviewing
- Checkboxes should be paid attention to
- Outlining the process for the PR reviewing
- NPM release strategy
- Create a Bifold namespace
- Start with a core package
- @aries-bifold/core
- Gradual transformation
- Create a Bifold namespace
- Support for .svg's & .png's
- We do currently support
- This needs to be a development task to document/address
- Boilerplate / script
- React Native Template
- Binaries
- Shared components
- Using auto-linking
- Shared components
- Metro bundler configs
- Expo – not opposed, but caution is beneficial
- Prebuild command
- Animo has done indy building
- Native code – possibility?
- Should be investigated/discussed
- Testability
- How do we represent all the different states of a component?
- Storybook? - should have some discussion
- Can be a standalone
- Environment variable
- Mocking helps define the externalizations
- Keep the barrier to entry low
- Need to be testing the visual look of the component
- Makes sense for complex components
- UI/UX Direction
- Need multiple ways to do a wallet – such as credential focused vs chat-based
- Need to start
- New repo needed - aries-bifold or aries-bifold-framework, aries-bifold-native-libs, aries-bifold-core
- James to talk to Sam about attribution recommendation
- React Native Bob – can we symlink a submodule? Meaning we have the existing repo aries-mobile-agent-react-native have a aries-bifold submodule
- What does testing setup look like?
- Roadmap
- Storybook demo
- New repo needed - aries-bifold or aries-bifold-framework, aries-bifold-native-libs, aries-bifold-core
- Future questions/discussion:
- How do you customize a component
- Do we want to utilize context providers?
- I'm trying to create a wallet from Bifold components, what does that look like?
Notes:
Session #2
Attendees:
- Name (Organization) <email>
- James Ebert (Indicio) <james.ebert@indicio.tech>
- Mostafa Youssef (Ontario) <mostafa.youssef@ontario.ca>
Agenda:
- Bifold AIPv3 wants/needs discussion
- https://hackmd.io/_Kkl9ClTRBu8W4UmZVGdUQ
- Saturn-V – https://trustoverip.github.io/TIP0028-saturn-v/test_plans/
- Other credential formats:
- Worth discussion:
- JWP credential subtarget
- SDWT credential subtarget
- Linkable credential
- OCA
- sub-target or base AIP?
- Push for in base requirements
- sub-target or base AIP?
- Worth discussion:
- Revocation notification out of base requirements?
- Perhaps we create a mobile-specific sub-target
- Deep Linking
- Mattr – Chapi to redirect
- Work item to experiment / RFC creation
- We don't want to hardcode / lock to wallets – splintering of wallets
- Lanugage Discussions, Indy wrappers, Shared Libraries
- Using other languages?
- https://github.com/hyperledger/aries-framework-swift
- WASM?
- Can the new shared components work in a browser context?
- What's the driver?
- Progressive Web App
- How secure can this be? – HSM access, etc
- Updating Bifold to AFJ 0.3.2
- Almost done - Jason
- Upgrading React Native
- 0.68+
- ZMQ
- Short-term – Indy-VDR as a Proxy Server
- Long-term – Talk directly to the nodes over HTTP/HTTPS
- James to provide a branch to Clecio
- Shared Components / Indy-VDR / Aries-Askar
- Followup Architecture Discussion
- Do we want to utilize context providers?
- Proposal – Bifold Context Provider
- Services configured/passed to the context provider
- State management?
- Event creation – just need a little bit of structure
- Exposed as a service
- Pluggable State management – not required
- More modular ideally
- Remove the state management out of Bifold Core
- Reference Implementation needs state management
- Event creation – just need a little bit of structure
- Proposal – Bifold Context Provider
- How do you customize a component
- We should crawl > walk > run – start with simpler cases as we learn more and then slowly add more complexity
- I'm trying to create a wallet from Bifold components, what does that look like?
- Workflows
- Pull out the workflow/logic to the app logic
- How do we ensure we maintain/update the reference implementation
- We need to make a commitment to keeping
- Project/goal statement
- Navigation stack – Leaving to the end developer
- Could abstract/bundle some navigation stacks, such as the onboarding or pin creation
- Navigation stacks
- Opinionated navigation across multiple components/building blocks
- Must NOT be required – needs to be not required
- Action Menu
- Generally avoid navigation
- Do we want to utilize context providers?
- Ad Hoc topics
Notes:
Recordings