Customization through deep links #105

Open
opened 2026-03-19 19:36:25 +00:00 by hodlbod · 14 comments
Owner

This might be a better way to give community organizers the ability to customize Flotilla while users still can use the vanilla apps. Ideas:

  • Deep link to add community relay/blossom server to user settings
  • Deep link to add follows/profile meta/multiple communities
  • Deep link to configure app theme
  • Deep link to open "new post" dialog in context to share something pre-made
This might be a better way to give community organizers the ability to customize Flotilla while users still can use the vanilla apps. Ideas: - [ ] Deep link to add community relay/blossom server to user settings - [ ] Deep link to add follows/profile meta/multiple communities - [ ] Deep link to configure app theme - [ ] Deep link to open "new post" dialog in context to share something pre-made
hodlbod added the idea label 2026-03-19 19:37:04 +00:00
hodlbod added this to the Future milestone 2026-03-19 19:37:07 +00:00
hodlbod removed this from the Future milestone 2026-04-02 18:57:08 +00:00
hodlbod added this to the Future milestone 2026-04-02 18:57:34 +00:00
hodlbod added the design label 2026-04-02 19:12:46 +00:00
hodlbod removed the design label 2026-04-02 19:45:32 +00:00
Contributor

Hi @hodlbod. I'm interested to work on this idea. Can you assign this to me?

Hi @hodlbod. I'm interested to work on this idea. Can you assign this to me?
bhavishy2801 was assigned by hodlbod 2026-04-06 20:00:50 +00:00
Author
Owner

Sure thing

Sure thing
Contributor

Hi @hodlbod. I was working on this issue and looking at how other relays and deep links are handled in the codebase. Should the deep-link updates be best-effort, or should a single relay rejection or rate-limit failure block the entire customization flow?

Hi @hodlbod. I was working on this issue and looking at how other relays and deep links are handled in the codebase. Should the deep-link updates be best-effort, or should a single relay rejection or rate-limit failure block the entire customization flow?
Author
Owner

I think probably what would be best is to show users any errors that come up and allow them to abort or ignore them and continue. Users might also want to customize, so if a given relay is blocked but there are two other valid relay, they should be able to remove the blocked one and proceed with the others.

I think probably what would be best is to show users any errors that come up and allow them to abort or ignore them and continue. Users might also want to customize, so if a given relay is blocked but there are two other valid relay, they should be able to remove the blocked one and proceed with the others.
Contributor

Sure. I'll keep this in mind. Thanks :)

Sure. I'll keep this in mind. Thanks :)
hodlbod added design and removed idea labels 2026-04-07 20:04:35 +00:00
Author
Owner

A first pass is in progress at #169, but I think we need to do some design work on the dialog, since users aren't going to know what a lot of this means. Maybe a multi-dialog process with UI tailored to the customization being made would be the right approach. Any takers?

A first pass is in progress at #169, but I think we need to do some design work on the dialog, since users aren't going to know what a lot of this means. Maybe a multi-dialog process with UI tailored to the customization being made would be the right approach. Any takers?
Contributor

Hii @hodlbod & @bhavishy2801 ,

Really appreciate the work done on this so far!

While going through the issue and current PR, I felt the customization flow could be more intuitive. Right now, presenting everything as bullet points makes it hard to distinguish each action and understand its impact.

It might help to group different actions (relays, follows, theme, etc.) and add brief context for clarity. A multi-step dialog flow could also guide users through each change, making the experience more understandable and building confidence before applying updates.

I had a couple of clarifications:

  • Should users be able to selectively remove or reject certain customizations, or is the flow intended to be all-or-nothing?
  • For follow/join communities deep links, should we display the profiles/communities that would be followed/joined within the dialog?

I’d love to explore design directions for this - if this approach aligns, could you please assign the issue to me?

Hii @hodlbod & @bhavishy2801 , Really appreciate the work done on this so far! While going through the issue and current PR, I felt the customization flow could be more intuitive. Right now, presenting everything as bullet points makes it hard to distinguish each action and understand its impact. It might help to group different actions (relays, follows, theme, etc.) and add brief context for clarity. A multi-step dialog flow could also guide users through each change, making the experience more understandable and building confidence before applying updates. I had a couple of clarifications: - Should users be able to selectively remove or reject certain customizations, or is the flow intended to be all-or-nothing? - For follow/join communities deep links, should we display the profiles/communities that would be followed/joined within the dialog? I’d love to explore design directions for this - if this approach aligns, could you please assign the issue to me?
bhavishy2801 was unassigned by hodlbod 2026-04-08 16:14:17 +00:00
Author
Owner

Yes, I agree, multiple steps per section, or even per item (follow/community/relay etc) would be good. Users should be able to selectively apply or dismiss customizations. Plenty of information should be displayed; for joining spaces we should probably use existing join dialog functionality to probe connectivity/auth as well. So be sure to draw from patterns that already exist in the software.

Yes, I agree, multiple steps per section, or even per item (follow/community/relay etc) would be good. Users should be able to selectively apply or dismiss customizations. Plenty of information should be displayed; for joining spaces we should probably use existing join dialog functionality to probe connectivity/auth as well. So be sure to draw from patterns that already exist in the software.
Prat_09 was assigned by hodlbod 2026-04-08 16:16:13 +00:00
Contributor

@hodlbod

I've designed the first iteration for the deep link customization flow, tried making the experience more descriptive while keeping it intuitive.

Implementation

  • Introduced a multi-step dialog flow to guide users through each customization
  • Reused existing dialogs for certain actions (e.g., joining communities), allowing users to skip or proceed
  • Added clear Accept and Skip actions, enabling users to selectively apply or reject customizations
  • Added contextual explanation for enhancing user's conceptual understanding of technical terms (especially new users).

Suggestion

  • Adding a progress indicator could further improve the experience by reducing uncertainty and helping users understand how many steps remain

Figma File

Prototype Link

Would love your feedback on this direction - happy to iterate further!

@hodlbod I've designed the first iteration for the deep link customization flow, tried making the experience more descriptive while keeping it intuitive. Implementation - Introduced a multi-step dialog flow to guide users through each customization - Reused existing dialogs for certain actions (e.g., joining communities), allowing users to skip or proceed - Added clear Accept and Skip actions, enabling users to selectively apply or reject customizations - Added contextual explanation for enhancing user's conceptual understanding of technical terms (especially new users). Suggestion - Adding a progress indicator could further improve the experience by reducing uncertainty and helping users understand how many steps remain [Figma File](https://www.figma.com/design/SO2fPukHeKC120ZqZQ9kSh/Flotilla-SOB26?node-id=391-6559&t=YEFBC2iQepulm4Jb-1) [Prototype Link](https://www.figma.com/proto/SO2fPukHeKC120ZqZQ9kSh/Flotilla-SOB26?node-id=391-6559&t=YEFBC2iQepulm4Jb-1) Would love your feedback on this direction - happy to iterate further! <video src="attachments/114822b1-4873-41f9-ab05-ae474959aaa6" title="Screen Recording 2026-04-09 at 2.24.35 AM.mov" controls></video>
Author
Owner

Looks pretty good, but I think it's important to include details about what relays/blossom servers etc are being added. The join space dialog includes lots of good information, we should do the same for the others.

Looks pretty good, but I think it's important to include details about what relays/blossom servers etc are being added. The join space dialog includes lots of good information, we should do the same for the others.
Contributor

@hodlbod Completely agree with the point of adding more configuration details for relays & blossom server.

I've incorporated these changes in the updated design.

Implementations:

  • Added detailed context for relay and blossom server configurations
  • Introduced Configure action for individual relay/blossom servers
  • Extended the existing Add relays dialog into deep link flow, which can be accessed from the configure option.

Outcomes:

  • Improves clarity by helping understand what is being added.
  • Enables a more flexible and customisable experience.

Prototype Link

@hodlbod Completely agree with the point of adding more configuration details for relays & blossom server. I've incorporated these changes in the updated design. Implementations: - Added detailed context for relay and blossom server configurations - Introduced Configure action for individual relay/blossom servers - Extended the existing Add relays dialog into deep link flow, which can be accessed from the configure option. Outcomes: - Improves clarity by helping understand what is being added. - Enables a more flexible and customisable experience. [Prototype Link](https://www.figma.com/proto/SO2fPukHeKC120ZqZQ9kSh/Flotilla-SOB26?page-id=391%3A6559&node-id=456-9751&p=f&viewport=28%2C-42%2C0.57&t=2ucrIdNRdVfejK1U-1&scaling=scale-down&content-scaling=fixed&starting-point-node-id=456%3A9751&show-proto-sidebar=1) <video width = "220" height = "478" src="attachments/f9d9742a-30c0-43c4-a16b-f991dc3e042b" title="Detailed_Relay_Config.mov" controls></video>
Author
Owner

Better, thanks. Let's remove the link which opens the relay selection screen, that's a little too deep for this use case. Also, just show a separate screen for each relay/server and remove the "x dm relays" purple text. We also shouldn't support profile editing via deep link, that's a security problem waiting to happen. Moving this to dev.

Better, thanks. Let's remove the link which opens the relay selection screen, that's a little too deep for this use case. Also, just show a separate screen for each relay/server and remove the "x dm relays" purple text. We also shouldn't support profile editing via deep link, that's a security problem waiting to happen. Moving this to dev.
hodlbod added dev and removed design labels 2026-04-10 20:16:38 +00:00
hodlbod modified the milestone from Future to Current 2026-04-10 20:16:42 +00:00
Contributor

Updated the flow as per the feedback. Does this align with what you had thought of?
Please let me know if there are any further refinements required.

Prototype Link

Updated the flow as per the feedback. Does this align with what you had thought of? Please let me know if there are any further refinements required. [Prototype Link](https://www.figma.com/design/SO2fPukHeKC120ZqZQ9kSh/Flotilla-SOB26?node-id=462-12918&t=N0EM1nEgQC6LI4Gt-1) <video width = "220" height = "478" src="attachments/282f7373-43ea-4e40-8cb1-50be484e9278" title="Update_Deep_Link_ConfigFlow.mov" controls></video>
Author
Owner

Yep, looks great!

Yep, looks great!
Prat_09 was unassigned by hodlbod 2026-04-16 23:06:36 +00:00
hodlbod modified the milestone from Current to Next 2026-05-06 20:14:11 +00:00
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: coracle/flotilla#105