Improve "Python not found dialog"#80
Conversation
| Old | New | | --- | --- | | <img width="420"src="https://cloud.githubusercontent.com/assets/1570168/11857670/2a416ce2-a40f-11e5-9032-a07122bcb120.png"> | <img width="522"src="https://cloud.githubusercontent.com/assets/1570168/11857668/2a2d7db8-a40f-11e5-95ef-9da27016735b.png"> | | New | | --- | | <img width="602"src="https://cloud.githubusercontent.com/assets/1570168/11857669/2a2dc854-a40f-11e5-99a4-cf29366c7885.png"> | Rationale and changes: - Permanent actions without a clear "undo" button are confusing for new users. Change: The "Don't show this again" button is moved to a more "dangerous" location (where "Don't Save", a destructive action, normally appears) - Modals can get really annoying, and some people will expect to open files with badly configured Pythons and not be faced with a modal. Change: Add an setting "suppress_python_not_found_error" to permanently turn off modals Change: Always error to console, even if modal turned off, for advanced users - Change: aesthetic changes to dialog - Change: add link to documentation - Users might not know who is responsible for the dialog Change: Add plugin name in dialog
|
Hi again, this is a big improvement, thanks a lot. I know modals are annoying, but I don't expect this dialog to popup all that often, since at least the system Python should always be available on machines where the user decided to install SublimePythonIDE. If it is, in fact, not found, then something is seriously wrong, and a modal is ok I think. Still, adding an option to suppress the dialog is a good compromise. Thanks again |
From my experience*, you're making too many assumptions about the user. This is okay when you're making a focused product as this one. But since there is not really a cost of making this modal less annoying, and there is a 0.5~1% chance that this modal will seriously annoy someone, I think it's a very good idea to include this option. Note that my argument is that you should consider adding this option even without knowing in which kind of cases you'll need it, because you don't know all your users. However, here is an example in case you are wondering: The user might use Sublime for multiple projects on their computer, with some being available through SublimePythonIDE and some not.
* I'm a computer science student who has worked with many other new students at my university with setting up their programming environment, etc (both officially and unofficially), and I can safely say that many students have environments that that set up "seriously wrong" by your standards. These are also students that would greatly benefit from a plugin like this. Thanks for your merges + code review + this plugin btw! |
Another thing: Sure, this is true for 99+% of users, but it's still probably a good idea to quickly show them how they can fix the problem as soon as possible, even if it's once per user. |
|
Wow, I see you put a lot of thought into the software you work with. This means future contributions from your side are definitively welcome :-) About the modal: I'm not a big fan either, and I'm open for changes. But I'm also not happy about just printing to the console, because the user will have to know to look there for error messages. I tried to automatically open the console when printing the error message, but that switches the typing focus to the console, which I also didn't like if it happens repeatedly. Finally, with this "console-only" version, there was no way to quickly hit a "stop bothering me" button, the console would just pop up every X seconds. So, if you have any suggestions, I'm all ears :-) |
|
P.s.: Maybe auto-opening the console exactly once per project (or view) might be another compromise (of course, including the option for permanent suppression you introduced). See: https://github.com/JulianEberius/SublimePythonIDE/tree/error_messages |
This is why I didn't add an button to disable things permanently. Instead, the user has to go and manually change edit the setting. These kind of users are also the users who know to check the console. Why I don't like the console popping up once per launch: In my experience, "exactly once" things seem like a good compromise until you see a user using it over and over again (or you become one of these user), you'll notice that they develop a reflex just for getting around the compromise. Why I don't like the console popping up at all: 90+% of users I know don't know what the console is, and if it popped up, it would be confusing, hard to read (because there are other messages in here), and a lot of users don't know that those panels can be dismissed by pressing escape. Also they won't know how to make the console pop up again in the future. |
|
Ok. So we leave the dialogue as shown in this pull request, i.e., just as it currently is in master, and I can send out a minor update to Package Control (1.0.3) in the new year. |
|
Thanks for looking into this! Happy new year 🎆 |
Improve "Python not found dialog"
Rationale and changes:
Change: The "Don't show this again" button is moved to a more "dangerous" location (where "Don't Save", a destructive action, normally appears)
Change: Add an setting "suppress_python_not_found_error" to permanently turn off modals
Change: Always error to console, even if modal turned off, for advanced users
Change: Add plugin name in dialog