fman icon indicating copy to clipboard operation
fman copied to clipboard

Add a tree view

Open mwean opened this issue 6 years ago • 52 comments

One thing I rely heavily on is a list view where you can drill down into directories. For example:

image

I'm using the ArrowNavigation plugin, but that actually enters the directories rather than just showing the contents.

mwean avatar May 12 '18 06:05 mwean

Thanks for the suggestion Matt. I must admit this feature is not really in line with the concept I have in mind for fman. But we'll see how many votes it gets :-)

mherrmann avatar May 14 '18 06:05 mherrmann

It's an incredibly common feature for file managers, why doesn't it fit with your vision?

mwean avatar May 14 '18 17:05 mwean

It's just my personal preference I guess. I never used this feature in any file manager. What do you use it for Matt? Maybe there's a use case I haven't yet learned about and could benefit from myself.

mherrmann avatar May 15 '18 05:05 mherrmann

It's just really fast to drill down into folders or see several child directories next to each other or only show the things you're interested in.

mwean avatar May 16 '18 07:05 mwean

I guess the advantage of the view is that you can see across multiple directories at the same time. My personal struggle is, I can't think of a use case where that is required when you already have two panes that can show two directories. Can you think of one? I don't know, maybe sorting pictures, or downloaded files, or... ?

mherrmann avatar May 16 '18 07:05 mherrmann

I guess the advantage of the view is that you can see across multiple directories at the same time

Yeah, exactly. Yeah, I certainly use it for sorting things, looking at coding projects, etc. I just use it so much it's hard to even describe use cases, since I use it constantly.

mwean avatar May 16 '18 19:05 mwean

What I want to drill down into is: Do you like list view because you're used to it? Or do you like it because there's a specific use case where it's genuinely better (=faster) than the current view? If you can think of an example, that would really help me understand where it's better. (Thanks btw. for taking the time to explain Matt.)

mherrmann avatar May 17 '18 06:05 mherrmann

I'm definitely used to it, but I think the things I mentioned like sorting files is significantly easier

mwean avatar May 17 '18 20:05 mwean

I always had problems with this view, because if you too deep (let's say 4-5 directories deep) then you run out of screen space and won't be able to show the file or directory names properly. No wonder the example picture uses 2 letter directories. Of course it can be done in a smart way to show the first 5 letters then ... then the last 5 letters, but still, I think it wastes a lot of screen space.

eandmsz avatar May 25 '18 09:05 eandmsz

I'm definitely used to it, but I think the things I mentioned like sorting files is significantly easier

Sorry I keep asking about this @mwean but apparently I lack the imagination to understand. That's very much a failure on my part and I'd really like to understand: What exactly do you mean by sorting files? Do you mean like in your screenshot, eg. moving the file iphone-...jpg to a different folder such as 0B16B...?

Maybe related: What is this directory structure in your screenshot? The directory names appear very strange to me.

Thanks! Michael

mherrmann avatar May 30 '18 05:05 mherrmann

Yeah, that's definitely an example. Like I have a bunch of documents that I've scanned or something and I quicklook each one and then move it into a directory. Another case is just navigating a deeply-nested tree looking for things. That screenshot is just the attachments directory for my mail program. The folders are just parts of a hash so they can be stored efficiently.

mwean avatar May 30 '18 05:05 mwean

Thank you very much for the clarification. So in your first example you might have a folder Scans/ and a directory structure:

  • Work/
    • Accounting/
      • Receipts/
    • Admin/
      • Contracts/
      • Forms/

So you'd open Scans/ in one pane. In the other pane, you'd open the list view in the Work/ folder. Then you'd go through each scan and move files to the various subfolders. Is that a good example? If yes, how do you (want to) move the files? By drag and drop? Or ⌘C followed by ⌘⌥V?

mherrmann avatar May 30 '18 06:05 mherrmann

Often, it will all be in one pane, like

Dropbox
  Scans
    file1
    file2
  Receipts
    2017
    2018
  Statements

But I'll use two panes if the source and destination aren't close to each other. Usually I would drag them, especially if there are groups, like files 1-5 go in one folder and 6-10 go in another.

mwean avatar May 30 '18 06:05 mwean

I see! So in your example you might drag file1 and file2 directly onto the 2018 folder(?)

mherrmann avatar May 30 '18 06:05 mherrmann

Right

mwean avatar May 30 '18 06:05 mwean

I geeked out on this now. I tried how fast I could execute the following two scenarios, with both Finder's list view and fman:

  • A: Preview file1 and file2 with QuickLook and move them to Receipts/2018.
  • B: Preview file1with QuickLook. Move to Statements. Preview file2 with QuickLook. Move to Receipts/2018.

I could do A in both Finder and fman in about 8 seconds. The fastest I could do B was 13 seconds in Finder and 11 seconds in fman.

There is a noticeable difference between the two approaches. fman's feels much less visual. Finder's looks nicer. To me it feels clunkier because of the mouse and of the going up/down between directories.

In general, I believe the above scenarios are Finder's "best case": The directories are not deeply nested and very close together, making up/down navigation and drag and drop easy. I believe more complex examples will give more of an edge to fman - in terms of speed. How it "feels" is difficult to compare / quantify.

I'm attaching screen casts so you can see precisely what I did to take 8/11/13 seconds.

screencasts.zip

mherrmann avatar May 30 '18 08:05 mherrmann

(I renamed this issue to "Add a tree view" because I believe it's the more common term across operating systems.)

mherrmann avatar May 30 '18 08:05 mherrmann

I guess the difference for me is that I would expand the relevant directories ahead of time, and that time would be amortized over more files. It also seems like some file managers remember the opened states of folder so that it's set up the way I want already.

mwean avatar May 30 '18 19:05 mwean

example use case: the tree view is nice for seeing the context of the file list you're viewing when that context isn't obvious from the name of the directory or the files inside of it. For example, I'm working on some documentation atm and there are maybe 5+ directories that have nearly identical file and subdirectory structures. Same names, everything. A tree view that visually shows that 'oh, I'm in the X documents section of the Y directories' like the sublime side panel (which is luckily kb navigable after ctrl-0) is helpful for this specific use case.

Wouldn't want it to be the default mode necessarily, maybe just a plugin or option

javenschuetz avatar Jun 20 '18 15:06 javenschuetz

Thanks for clarifying @javenschuetz :-)

mherrmann avatar Jun 20 '18 16:06 mherrmann

I know a treeview is not in line with the norton commander style that fman is going for. But adding one would make it a lot more familiar to many users and would probably help adaption a lot. I myself have used windows many years and switched to mac some years ago. I really miss a good file manager, which in my opinion of course is one that looks like windows explorer because that is what I am used to :-). So when I am frustrated with finder I usually search for an alternative. My searches usually comes up empty (pathfinder exists but to me it is just finder all over again, still slow and no real treeview). Then I think I should really make a good and fast filemanager for mac in something low level like C++. But then I realise I don't have the time :-).

Yesterday I was frustrated with finder again on my new macbook and my search turned up a new alternative, fman. Usually I dismiss every alternative that does not have a treeview in their screenshots, but since I'm a developer and like sublime/vscode fman really caught my eye.

Having done software development for 30+ years I know users sometimes ask for features that are really not necessary since there are other ways to accomplish tasks. Many times this comes down to familiarity. For example, using only labels instead of folders in a mail program is in theory a lot better, but in practice it is less familiar for users. In cases like this, there is usually a struggle between maintaining a pure approach vs giving the users what they want even if it does not make sense for the software in itself. I guess you would need to assess how much extra maintenance burden this feature would add in relation to how much extra user adoption it would provide.

As long as fman has the norton commander look I don't think it will not have a lot of adaption outside users that are already sold on this concept (already using total commander or something similar). And of course software developers that like the similarity to sublime/vscode. So the potential number of users that will find this issue and don't like the norton commander concept is probably small, hence it will not get many votes. Anyway, good job so far, really nice to see a new take on file management for mac. I'm still on the fence but I might just adopt fman as my goto file manager. I'm still trying to remember if I liked norton commander during the DOS years or not :-).

jonaskello avatar Aug 02 '18 10:08 jonaskello

Thank you Jonas :-) You're right. I'm trying to strike a balance between adoption, purism and implementation costs. Because my resources are very limited and I am a purist at heart, the last two often win.

How else were your first-time experiences using fman on a Mac?

mherrmann avatar Aug 02 '18 10:08 mherrmann

The setup was smooth and the initial tour was nice :-).

One extra setup I had to do was add fman to the path by editing bash profile as per the docs. I like the way vscode does this, there is a command "Shell command: Install code command in PATH" to add/remove code to the PATH. (Although I think it symlinks to /usr/local/bin instead of adding to PATH). Would be a bit smoother if fman had this type of command too. I guess I should open an issue about that instead of spamming this one with off topic requests...

The only feature I have not found (yet) is how to map/mount network drives (SMB/CIFS) similar to finder's Go > Connect to server.. menu. Otherwise fman covered my initial check for features. Well except for the treeview then :-).

I like that fman i multi-platform too. I still use Windows a lot so having a unified file manager is also a good selling point for me. Perhaps using fman on Windows will help me move away from feeling a need for a treeview.

jonaskello avatar Aug 02 '18 23:08 jonaskello

The setup was smooth and the initial tour was nice :-).

Cool! I'm happy to hear it :-)

I saw you already created the issue for adding fman to the PATH. Thanks!

I'm afraid fman does not yet have a feature for mapping network drives. Do I understand correctly that what you mean is #86?

Thank you again for the feedback! It's always really valuable to hear for me because I know fman so well that I'm certainly "blind" to many glaring issues.

mherrmann avatar Aug 03 '18 14:08 mherrmann

Yes #86 is exactly what I mean.

jonaskello avatar Aug 03 '18 16:08 jonaskello

From my point of view, treeview is superfluous. It's mouse-centric and slow. Just my two cents.

kernal64 avatar Aug 10 '18 00:08 kernal64

And two panes + Treeview leads to a very cluttered and unfamiliar interaction design

If really needed, may be one can investigate the cascading list used by mac os finder. That may be a decent design placed in the head of the frame window

o314 avatar Aug 10 '18 01:08 o314

@kernal64 I'm surprised that you say it's mouse-centric and slow because that's exactly the opposite of my experience. I navigate it entirely with arrow keys, and it's way faster than any other navigation I've seen (when I don't know exactly what directory I'm looking for)

mwean avatar Aug 10 '18 04:08 mwean

I use the treeview the same way as @mwean with the arrow keys. To me it gives a better overview and makes me explore and find things faster than stepping into and out of dirs when trying to find something. If you know the dir structure and names by heart, then it makes no difference of course. But then you might as well use the terminal with cp and mv and tab which arguable is even faster :-).

jonaskello avatar Aug 10 '18 09:08 jonaskello

Regarding the cascading list in finder, please do not do it that way. This is actually one of the main reasons I don't like finder! The list+treeview in one is a theoretically sound idea but to me, in practice, it is useless and makes things really confusing. You cannot see a list of files and the full overview of the tree at the same time which just makes things worse instead of better. I think having a separate pane that is possible to hide will cater to both usergroups a lot better. If you hide it, user that don't like treeview will not even have to know it is possible to have. While users that like treeview can show it and use it as they are familiar with in windows explorer, or the numerous linux file manager clones, or ftp programs that have the same design with separate treeview.

jonaskello avatar Aug 10 '18 09:08 jonaskello