r3bl-org/r3bl-open-core

[tuify][giti] UX design for tuify::giti → map out flows for giti branch -c [show, add, delete]

Closed this issue · 10 comments

Related issue:

@NadiaIdris Amazing. These are good use cases 💯 . Also, I would like to highlight that today I was using git as regular and was annoyed when I wanted to checkout and switch among the branches. So, You can also add checkout as a feature to change existing branches among locally available branches.

BTW What does Show refer to over here ?

giti features :

  • Delete local branches
  • Checkout branches (local and remote)
  • Add selected files (changed files) to staging based on choices

@Harshil-Jani Good point about the checkout feature. I will add it to the doc when I create it soon. I have been working on few other issues in the meantime. We might also consider changing the word "checkout" to something simpler (perhaps "goto" or something similar). If you have any ideas, feel free to share.

show is supposed to show all the branches. Currently git branch shows all the available branches. I am not a huge fan of this user flow and thinking of changing it. If user types giti branch then it the user sees Tuify single select component which displays all the things user can do with giti branch (show, create, delete, checkout, add, ...).

The idea with giti is to make the whole terminal user experience more easier. Rather than having to remember too many commands in one go, we can give them an experience where the user can use Tuify single and multi select components flow to help them to do what they need to do (like deleting one or more branches).

The user experience will become more clear when I start writing down the user flows in a Google Doc (next week). Feel free to ask more questions, add ideas. I will capture them in the Google Doc.

@NadiaIdris I like "checkout" or "switch to".

@NadiaIdris I like "checkout" or "switch to".

I love "switch to". But not sure how we would handle the space as a terminal argument. Maybe it would need to be "switch-to". But "-" makes it harder to type 😀.

What about just "go" to checkout a branch: 'giti branch go my-branch-name'?

@NadiaIdris I think switch_to or switch-to work for me. Although go works as well. What about goto?

Obligatory goto joke
image

@NadiaIdris I think switch_to or switch-to work for me. Although go works as well. What about goto?

Obligatory goto joke
image

Checkout is a good name in my suggestion. The reason why I think like this is because even we are writing our own TUI client for git we should follow the standards. If we give other names then it might be good for new-commers to git but for someone who have made it their muscle memory, I don't think they would stick to TUI for longer if they have to remember different names from what they have been using since years to operate git. Let me know your thoughts about this ?

If user types giti branch then it the user sees Tuify single select component which displays all the things user can do with giti branch (show, create, delete, checkout, add, ...).

This is a great idea. I will try to complete the methods independently as of now and in future when we meet we can decide a better user flow and implement it. It would be just rearranging the functions in matter of seconds if we have the core functions done.

Checkout is a good name in my suggestion. The reason why I think like this is because even we are writing our own TUI client for git we should follow the standards. If we give other names then it might be good for new-commers to git but for someone who have made it their muscle memory, I don't think they would stick to TUI for longer if they have to remember different names from what they have been using since years to operate git. Let me know your thoughts about this ?

That's a good point, @Harshil-Jani. What we may want to do is to use the "checkout" first, but create aliases for some of those commands we think could be simplify the user experience later on. This is the part where we can play with different words and command flow to change it from git.

If user types giti branch then it the user sees Tuify single select component which displays all the things user can do with giti branch (show, create, delete, checkout, add, ...).

This is a great idea. I will try to complete the methods independently as of now and in future when we meet we can decide a better user flow and implement it. It would be just rearranging the functions in matter of seconds if we have the core functions done.

Sounds good 👍🏼

Going to close this issue, since I will be creating an issue to create a UX in design document for each command e.g. giti branch delete, giti branch new etc.