FileManager icon indicating copy to clipboard operation
FileManager copied to clipboard

[help wanted] Remove useless things. Make this package intuitive.

Open math2001 opened this issue 5 years ago • 3 comments

I like the aim I had a few years ago: everything should be fast, and as small as possible (compare FileManager's context menu to SideBarEnhancements). But I now think (realize?) I was wrong about one thing: settings. I just put way too many possible settings that no one uses, and it hides the options that are actually useful (which leads me to doing things like #52).

A good plugin isn't configurable: it takes the decision for you, because the author thought about it a lot, and found the perfect solution, so the user doesn't have to. If there is no perfect solution, only then should the author be allowed to add a setting/option to his plugin. Adding a configuration option should feel like a failure.

I really like andreas kling's opinion about software being discoverable. Having a lot of "useless" options just limits users from enjoying spending time looking around in the settings.

The discoverability of an option should be proportional to the distance between the perfect solution and the current solution. (horrible wording here, it's late ok)

For example, the setting index_folder_separator is technically required in case someone has the good idea of putting > in the root folder name. Come on. Who does that? If you do that, you are pretty much asking for trouble. So, the current solution is nearly perfect, because it works for 99.9999% of the cases. Hence, index_folder_separator shouldn't be "advertised" too hard, because it's not going to serve many people.

But making this package "fun" to explore is also something I do NOT want to do. After spending a few years learning and using vim, I realize that using fancy tools can be a bottle neck too. It takes a lot of time to learn and it clusters your finite brain with more information which might not be that useful. In fact, this is why I'm trying to switch back from vim to sublime text. I feel slower coding like a wizard, because I have to think about how to use my wizard skills rather than thinking about the code.

For example: if someone reads the entire FileManager documentation, then they will have wasted several hours, and clustered their brain with a lot knowledge that will probably never be useful to them.

So, I don't want users to spent any time learning how to use this package. That's a bit extreme, but that's what I'm aiming for. A more realistic version: users should "feel" how to use the plugin straight away. The little that will not be intuitive should be discoverable and succinctly documented. If just an example of code block to copy/paste will do, then just use that. Think of code blocks as pictures. They convey so much more information at once, it's crazy. Words are slow. Use as little of them as possible.

An example where this is done well: when a user right clicks a folder/file. You look at every options, and provided you've used a computer before, you know exactly what each option will do. No need for documentation.

An example where this is not done well: more than one user has thought "How can I disable the default keybinding" alt+n. Why would they think that? Because it overrides their AZERTY default key binding (ref #32).

Where would I look? Probably google first, something like sublime text disable plugin keybinding which gives a few useless links, with the interesting one here.

But that's kind of a pain, and hopefully the user would realize that. Instead, and it's not the most obvious thing in the world, the user could look in FileManager's settings. This should be everyone's default behavior. A plugin doesn't do what I want it to do? Look at it's setting, someone's probably already thought of that. (TODO: quote this in the README).

Right now, the poor user would have to scroll pass useless options to the bottom of the file to find the unclear "create_keybinding_enabled" and set that to false. So, it's not discoverable, though the documentation (the comment above) is succinct.

In fact, it is that unclear and hidden that I even forgot about it, and an issue was raised and remained open for a year, whilst the solution which was implemented 2 years prior to the issue being raised was just lingering around (ref #32)

And that's by no mean the raiser's fault. It's the plugin's fault (so by extension mine). It's not well organized, so people don't know where to look. But that can be fixed :slightly_smiling_face: And this is what this issue is all about.

How can you help

If you have a problem, and it takes more than a minute for you to find the solution, then you should definitely let the package know. Please raise an issue, there's definitely something that can be done about it (change the default behavior so you don't have the problem anymore, and if that can't be done, document it succinctly and somewhere where people will look ie. the readme is my best idea right now).

math2001 avatar Jan 05 '20 12:01 math2001

Reorganize the settings files according to:

The discoverability of an option should be proportional to the distance between the perfect solution and the current solution

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L2-L3

What does that even do?

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L5-L9

name too short. I have to read the comment to know what it does (i should only have to read the comment to learn how to use it, if I can't "feel" that. Ideally, I shouldn't need comment, but come on, I'm not smart enough for that).

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L11-L12

name too short. Same as above

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L14-L15

I don't know what this does, even reading at the comment.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L17-L19

why do I have to think about that?? Of course I'm going to pick 0. name to short. Same as above.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L21-L25

this shouldn't be an option. Remove it. Choose for the user. Always log the computer friendly path.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L27-L58

good, it's intuitive to use, except for platform which should be called platforms and take a list. The comments should be clearer and more "compact", it doesn't feel like they belong to the terminals setting.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L60-L62

I like that. Just reading the name I know I want that on. So that probably means it shouldn't be an option in the first place. But it's kind a cute. Should be removed for sure. :slightly_frowning_face:

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L64-L65

Remove "funny" comments please. It's not even that obvious.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L67-L70

Is it expensive to always have that on? And by default it's off, and I've never had any problem... I wonder if some people have it on... So maybe it should be removed.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L72-L74

ok that's probably the best one right now. The name explain what it does. The comment is nearly perfect, it could be better if it used a different wording than the setting name (ie. reveal)

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L76-L77

gooood. The comment should give case-scenario example, it's not the clearest (even for me).

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L79-L83

Perfect? Don't even need a comment saying you can use aliases within aliases because it does it in the default value, so the user can understand it off the bat. Maybe have a link to the list of default aliases in there though. And explicitly say that these aliases will be added to the default aliases.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L85-L86

pretty sweet, except the link's broken... The comment should indicate that it'll just open the browser for help.

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L88-L106

I doubt anyone would decide to suddenly "hide" an option. If they do, then maybe that's a sign that it should be removed completely from file manager (a good indicator that I should remove it is me saying "to improve your speed". Don't aim to improve your speed by customizing your plugins. You're wasting your time. Code stuff). But it's cute. Remove it? :cry:

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L108-L109

Bad name (no one thinks of "New..." as "create"), but good comment.

math2001 avatar Jan 05 '20 13:01 math2001

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L67-L70

Is it expensive to always have that on? And by default it's off, and I've never had any problem... I wonder if some people have it on... So maybe it should be removed.

I don't know if you mean "remove and act like it's defaulted to true" or "remove and act like it's defaulted to false", but for what it's worth, having it act like it's off (#54) makes the New file/folder stuff really annoying to use, and I haven't yet noticed issues from editing my local copy to force it on.

mwchase avatar Nov 02 '20 03:11 mwchase

https://github.com/math2001/FileManager/blob/4ecc88d57984adadf4d0a221b2f1f1bc2755ef04/FileManager.sublime-settings#L67-L70

Is it expensive to always have that on? And by default it's off, and I've never had any problem... I wonder if some people have it on... So maybe it should be removed.

I don't know if you mean "remove and act like it's defaulted to true" or "remove and act like it's defaulted to false", but for what it's worth, having it act like it's off (#54) makes the New file/folder stuff really annoying to use, and I haven't yet noticed issues from editing my local copy to force it on.

What version of ST are you using? And you are saying that it is annoying to have it disabled?

TerminalFi avatar Apr 22 '21 22:04 TerminalFi