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

FilePicker: ARK view ("Roots" tab) #51

Closed
kirillt opened this issue Jan 25, 2024 · 14 comments
Closed

FilePicker: ARK view ("Roots" tab) #51

kirillt opened this issue Jan 25, 2024 · 14 comments
Assignees
Labels
enhancement New feature or request

Comments

@kirillt
Copy link
Member

kirillt commented Jan 25, 2024

An ARK-enabled folder is either:

  • a root folder—any folder containing .ark subfolder
  • a favorite folder—subfolder of a root mentioned in .ark/favorites file

Since we use content-addressing, we have special file called index. It is stored in .ark subfolder of each root folder. Favorite folders are children of root folders and don't have their own index, they use their root's index file.

Normally, roots are listed in .ark-roots file in the disk root. If it doesn't exist then we should scan the whole filesystem (Navigator does this on first launch). Each root folder contains list of its favorite folders in .ark/favorites file.

The "Roots" tab lists all ARK-enabled folder: both roots, and favorites. It was implemented in scope of this issue:

@kirillt kirillt added the enhancement New feature or request label Jan 25, 2024
@kirillt
Copy link
Member Author

kirillt commented Jan 25, 2024

We only need to finish these 3 details:

General points:

  • Switch-off ARK view when there is no .ark-roots file
  • Remember the active tab, start with the tab which was active last time

File-picking mode:

  • Enable ARK view in file-picking mode
    For this we need to implement one of these:
    • Embed Resource Grid from Navigator
    • Allow selecting a folder and switch back to classical view.

@tuancoltech
Copy link
Collaborator

An ARK-enabled folder is either:

  • a root folder—any folder containing .ark subfolder
  • a favorite folder—subfolder of a root mentioned in .ark/favorites file

Since we use content-addressing, we have special file called index. It is stored in .ark subfolder of each root folder. Favorite folders are children of root folders and don't have their own index, they use their root's index file.

Normally, roots are listed in .ark-roots file in the disk root. If it doesn't exist then we should scan the whole filesystem (Navigator does this on first launch). Each root folder contains list of its favorite folders in .ark/favorites file.

The "Roots" tab lists all ARK-enabled folder: both roots, and favorites. It was implemented in scope of this issue:

I just want to correct this a bit: roots are listed in .ark-global/roots file, not .ark-roots :)

@tuancoltech
Copy link
Collaborator

tuancoltech commented Jan 31, 2024

We only need to finish these 3 details:

General points:

  • Switch-off ARK view when there is no .ark-roots file
    ...

@kirillt And, do we switch-on ARK view when the first root folder is created?

@tuancoltech
Copy link
Collaborator

We only need to finish these 3 details:

General points:

...
File-picking mode:

  • Enable ARK view in file-picking mode
    For this we need to implement one of these:

...

  • Allow selecting a folder and switch back to classical view.

Regarding this, at the moment Roots tab (ARK view) is already visible when open the file picker in FILE mode as per below video. Please correct me if I mis-understood something here.

https://recordit.co/bHtZCodxlW

@kirillt
Copy link
Member Author

kirillt commented Jan 31, 2024

@tuancoltech yeah, correct about roots file. Sorry for the outdated info.

About switching on first root — good question. I think we can let the user discover ARK-mode themselves :)

@tuancoltech
Copy link
Collaborator

@tuancoltech yeah, correct about roots file. Sorry for the outdated info.

About switching on first root — good question. I think we can let the user discover ARK-mode themselves :)

Yeah, so I'll not switch-on on first root then.

@tuancoltech
Copy link
Collaborator

We only need to finish these 3 details:
General points:
...
File-picking mode:

  • Enable ARK view in file-picking mode
    For this we need to implement one of these:

...

  • Allow selecting a folder and switch back to classical view.

Regarding this, at the moment Roots tab (ARK view) is already visible when open the file picker in FILE mode as per below video. Please correct me if I mis-understood something here.

https://recordit.co/bHtZCodxlW

@kirillt And what do you think about this please?

@kirillt
Copy link
Member Author

kirillt commented Feb 5, 2024

@tuancoltech it's ok when user already has ARK-enabled folders in the system. If he/she hasn't such folders yet, we can either:

  • hide "Roots" tab and wait until they pin something
  • show "Roots" tab with some explanation in it as a placeholder

What is better in your opinion?

@tuancoltech
Copy link
Collaborator

tuancoltech commented Feb 5, 2024

@tuancoltech it's ok when user already has ARK-enabled folders in the system. If he/she hasn't such folders yet, we can either:

  • hide "Roots" tab and wait until they pin something [1]
  • show "Roots" tab with some explanation in it as a placeholder [2]

What is better in your opinion?

@kirillt Currently my local implementation is already working as in [1] for File picking mode.
However, since you mentioned 2 options as above, personally I would prefer option [2] as by that, users won't have to dismiss and re-open the picker dialog for the Roots tab to appear, after user pins a folder.

Please let me know if I should update the implementation if we want to make it work as in way [2].

@kirillt
Copy link
Member Author

kirillt commented Feb 5, 2024

@tuancoltech with [1] Roots tab should appear automatically after 1st pin, without re-opening the dialogue. But overall interaction is a bit more complicated. Benefit of [1] in my opinion is reduced cognitive load for users who only started to familiarize with ARK apps.

@tuancoltech
Copy link
Collaborator

@tuancoltech with [1] Roots tab should appear automatically after 1st pin, without re-opening the dialogue. But overall interaction is a bit more complicated. Benefit of [1] in my opinion is reduced cognitive load for users who only started to familiarize with ARK apps.

@kirillt I see. So I'll implement it in a way that when user pin the very first root/favorite folder, the Roots tab is switched-on automatically.
Regarding the UX, should we still stick with [1] for now?

@tuancoltech
Copy link
Collaborator

@tuancoltech yeah, correct about roots file. Sorry for the outdated info.

About switching on first root — good question. I think we can let the user discover ARK-mode themselves :)

@kirillt: Sorry but I think I need to make this more clear: By let the user discover ARK-mode themselves, do you mean we won't automatically switch-on the Roots tab on first root, but only show it when re-opening the dialog?
If so, does it contradict with your comment here: #51 (comment) ?

@kirillt
Copy link
Member Author

kirillt commented Feb 6, 2024

Not exactly. It was about [1] as a whole, the view would be more minimalistic at first, so users won't be overwhelmed. When they pin something, they notice that new tab appears, that's what I mean by self-discovery. This could be more delicate then having a confusing redundant tab from the very start.

After pinning, user should be able to see the effect immediately in any case. Necessety to re-open the picker would be clumsy in my opinion.

@tuancoltech
Copy link
Collaborator

Not exactly. It was about [1] as a whole, the view would be more minimalistic at first, so users won't be overwhelmed. When they pin something, they notice that new tab appears, that's what I mean by self-discovery. This could be more delicate then having a confusing redundant tab from the very start.

After pinning, user should be able to see the effect immediately in any case. Necessety to re-open the picker would be clumsy in my opinion.

Thanks. I understand it now.

tuancoltech added a commit that referenced this issue Feb 6, 2024
* [enhance] Remember user's last selected tab

Ticket: #51
tuancoltech added a commit that referenced this issue Feb 8, 2024
* [enhance] Remember user's last selected tab

Ticket: #51
tuancoltech added a commit that referenced this issue Feb 12, 2024
* [enhance] Remember user's last selected tab

Ticket: #51
tuancoltech added a commit that referenced this issue Feb 13, 2024
* [enhance] Remember user's last selected tab

Ticket: #51
tuancoltech added a commit that referenced this issue Feb 13, 2024
* [enhance] Remember user's last selected tab

Ticket: #51
tuancoltech added a commit that referenced this issue Feb 14, 2024
* [enhance] Remember user's last selected tab

Ticket: #51
mdrlzy pushed a commit that referenced this issue Feb 15, 2024
* [enhance] Remember user's last selected tab

Ticket: #51
@kirillt kirillt closed this as completed Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

No branches or pull requests

2 participants