-
Notifications
You must be signed in to change notification settings - Fork 198
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
Do not show error popup when build fails #509
Comments
When something goes very wrong, just logging the problem quietly might well leave the user wondering why things don't actually work properly yet having no clue why that might be the case. How about a checkbox to not show the dialog again so that we leave this choice up to the user? |
The problem is that this just popup into the way when working on a project, it disturbs my current workflow and it gives zero information what to do or how to solve the problem. Even worse, dismiss the dialog might open it again a short time later. So what should the user do (instead of dismiss the dialog) here? Even if it is fatal and something is not working, I as a user would start investigate whats going on for this particular thing e.g.:
almost never I will be satisfied by dismissing a dialog that comes in my way when writing code... |
Even that is a bit tricky: imagine there is a checkstyle error that cause the popup to show, it may not be important as it happens late after other actual "build" (ie creating artifacts) steps are run, so user checks "Do not show again" and decide to not care. Later, a build error happens in the Maven or JDT nature, so breaking production of artifacts that are used by other projects, what should happen? Should the dialog remain hidden as requested by user, or should it be shown because it's a new error? My take is for the later, but it becomes complex to implement.
I believe if the popup is improved to become more helpful, it becomes less annoying: it's not noise anymore, but an assistance to better project configuration. |
First of all: how about fixing the broken software? With error free software the errors will be not shown. Note: markers have to be removed, but they are managed by builders created the marker - in this case which builder is supposed to remove "I've failed to build" marker? The faulty one for sure not. The good one neither. One can investigate if "tray notification" could be used instead of dialogs for reporting unexpected errors - it can be configured to disappear after some time, and it could stay in the status line (like Oomph wizard progress button). |
As a user I want to finish my task, I don't want to fix other software before. This is just something users will blame on Eclipse-IDE even though we can tell them to blame it on the others project user will get frustrated.
The problem is that the error is most likely unexpected (otherwise it would have been already handled properly) so there actually nothing useful one can do.
Even that can be too noisy I think, as the user can do nothing about this but is just disturbed in its workflow (whether or not it makes sense anymore). See for example: https://learn.microsoft.com/en-us/windows/win32/uxguide/winenv-notification (emphasis by me)
|
If we can show the stacktrace to user in the details with a message "Consider fixing or removing the Project Builder that has caused this error", then it tells something useful one can do. I still believe a popup is important here, because we just don't want the user to start ignoring those errors. For Checkstyle, it's not too bad, but same error on some other builder that runs first can cause the whole workspace to be unusable, it's serious enough to deserve being explicitly annoying users so they try to resolve it. |
Whatever will be outcome here: buggy software must show user that it can't work. Just reporting something in the log is not sufficient, because most of the users not even aware there is an error log. |
If the user do not notice anything is wrong, why bug them? If the user notice "feature x is not working" he will start investigate why (in whatever way) and probably ask the provider of X to fix the problem, this is nothing the user can fix here. |
Because something is actually wrong and for this reason some things won't work as designed by tools developers. User may not even realize that. They must be warned about the reason and the consequences.
That's not generally true. Many people do work with crippled applications because of some bugs or bad configuration they're not even aware of and just assume that "X sucks" because they cannot access all the powers of X; while the popup tells "X has an issue, it's important to remediate it if you want full power". |
Why must they be warned? Will this delete their hardisk? I don't think so, this only annoy the users as it annoy them to dismiss cookie dialogs or security warnings it is not useful at all and do not help them as there are only two cases:
One should not expect that users are Domain-Experts of all their tools and the implementation details of those... So for anyone not familiar with Eclipse development this is simply irrelevant information.
Yes an generally they think that X sucks even more if dialogs get in their way ;-) |
I and others already answered that. A build failure has high risk of reducing usability of the whole IDE. |
And how does the popup help the user with this serious problem? I really thing this "break whole workspace" is more a hypothetical than a practical issue, I have never seen this, while I often has seen the distracting popup, in all cases the only impact was that for example check-style is not working, or m2e can not update all aspects of the project ... for sure this reduces the usability more or less, but the popup has never improved anything beside making it even less useful. |
It's interrupting them and showing an error. But indeed, it could be better, and improvements towards making it better would most likely be welcome by all.
I don't have an obvious example, but the way the Build API contract is designed makes that this issue is possible and can be critical. We cannot suddenly just reduce its importance because you don't like this pop-up in a corner case of m2e... There is a much wider world using Eclipse Builders.
At least you looked at the log and realized the builder was the issue. So the pop-up did help because it triggered you some actions, investigation and understanding. |
One idea that is floating in my head is to propose uninstalling such plugins when they can be identified with clear message about that. That would certainly improve both IDE stability, user perception and plugin authors response time. |
This is not specific to m2e and this builder has nothing to do with m2e, I just noticed that because checkstyle maven config triggers activation of checktype nature.
And that's why I think we will always have situations where outdated stuff can fail, and as such it should be handled with more care than breaking alll workflows of the user, the CheckstyleBuilder is really a bad citizen here and has annoyed me several times, but not always users have the choice...
I'm not feeling better now... ;-)
I thin uninstall is not always an option, but disabling it (after asking the user) would be fine, I just not sure that all the UI work is something I'd like to do here for a case where just not showing an modal dialog would be (for me) enough... |
I did not read the whole thread but using the non blocking notification APU would show the error without blocking the user flow. Sorry if that was discussed already |
Can you explain what API exactly you are referring to? |
See Blocking the user is IMHO always bad UX as not informing the user about errors is also bad UX. Notification API should help with both concerns. |
@vogella I think even that is too annoying (see reference to the UX guide above) as the user can likely not change its workflow because of that. Especially as there is already such kind of notification already: |
Not sure what you mean, the notification could have buttons, etc to allow the user to trigger certain actions. |
Just a recent example for this This was reported over a half year to the JDT project but is not fixed: so from a users point of view this is the usual WTF?!?-Moment of Eclipse user experience, so should I follow the advice of @akurtakov now and uninstall JDT, is this seriously something we like to tell users of Eclipse?
|
You should get an error marker directly in the |
Next "useful" occurrence of the dialog: so nothing I can change / fix as a user but makes it impossible to work with Eclipse due to constant error popup, minimizing the dialog bring it up again on the next error reported a few seconds later. |
I personally get annoyed by this (or a similar one) very frequently when switching between Git branches which do not all have the same projects (Maven modules in my case). Say I'm a Maybe when switching branches directly from inside Eclipse things work better, but (as surprising as it may sound), sometimes one needs to also use other tools. |
Recently I started to get some disturbing error popups because of the
Checkstyle
not working well with Java 17(?).Even though the plugin needs to get fixed, the error popup is very disturbing to the user (and actually not helpful at all), I can think of the following, less disturbing actions:
For reference here is the stack-trace I could extract from the error log, and the popup
The text was updated successfully, but these errors were encountered: