-
Notifications
You must be signed in to change notification settings - Fork 18
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
[help wanted] Remove useless things. Make this package intuitive. #53
Comments
Reorganize the settings files according to:
FileManager/FileManager.sublime-settings Lines 2 to 3 in 4ecc88d
What does that even do? FileManager/FileManager.sublime-settings Lines 5 to 9 in 4ecc88d
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). FileManager/FileManager.sublime-settings Lines 11 to 12 in 4ecc88d
name too short. Same as above FileManager/FileManager.sublime-settings Lines 14 to 15 in 4ecc88d
I don't know what this does, even reading at the comment. FileManager/FileManager.sublime-settings Lines 17 to 19 in 4ecc88d
why do I have to think about that?? Of course I'm going to pick 0. name to short. Same as above. FileManager/FileManager.sublime-settings Lines 21 to 25 in 4ecc88d
this shouldn't be an option. Remove it. Choose for the user. Always log the computer friendly path. FileManager/FileManager.sublime-settings Lines 27 to 58 in 4ecc88d
good, it's intuitive to use, except for FileManager/FileManager.sublime-settings Lines 60 to 62 in 4ecc88d
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. 🙁 FileManager/FileManager.sublime-settings Lines 64 to 65 in 4ecc88d
Remove "funny" comments please. It's not even that obvious. FileManager/FileManager.sublime-settings Lines 67 to 70 in 4ecc88d
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. FileManager/FileManager.sublime-settings Lines 72 to 74 in 4ecc88d
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) FileManager/FileManager.sublime-settings Lines 76 to 77 in 4ecc88d
gooood. The comment should give case-scenario example, it's not the clearest (even for me). FileManager/FileManager.sublime-settings Lines 79 to 83 in 4ecc88d
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. FileManager/FileManager.sublime-settings Lines 85 to 86 in 4ecc88d
pretty sweet, except the link's broken... The comment should indicate that it'll just open the browser for help. FileManager/FileManager.sublime-settings Lines 88 to 106 in 4ecc88d
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? 😢 FileManager/FileManager.sublime-settings Lines 108 to 109 in 4ecc88d
Bad name (no one thinks of "New..." as "create"), but good comment. |
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? |
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 🙂 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).
The text was updated successfully, but these errors were encountered: