typedb-studio
typedb-studio copied to clipboard
Add a notification panel for errors/warnings/infos
Problem to Solve
Errors, warnings, and infos currently accumulate on the right side of the UI unless explicitly closed. This clogs up the UI, and can be confusing when successive queries trigger different errors.
Proposed Solution
Add a notification panel for these items. When notifications appear, they appear as popups as in the current implementation. If the user runs a query with notifications open, those existing notifications are minimised to the panel where they can be read and deleted later on. Other events that trigger a notification (e.g. session being closed on server) also minimises currently open notifications, so that at any time the only notifications shown as popups are from the most recent event, and no popups are shown if the most recent event triggered no notifications. Within the panel, notifications are divided by triggering event and timestamped.
I'll throw in my two cents of support for solving this problem. And while I know that priority is a relative measure, from my position of being new to TypeDB this is a serious impairment to usability that arises very early in the TypeDB experience when newbie confusion is greatest. The studio is the GUI interface and is certainly used by many if not most new users, so as bad or minor as the problem may be, it's certainly widespread across many users.
Regarding the Proposed Solution above, I'm still learning enough to form a qualified opinion, but I am comfortable commenting on the problem in a way that may help identify solutions. The problem is simple: trying to display two things in the same place on my screen at the same time. One thing must be obstructed. If the new notification panel moves one of those two things to another part of the screen so there's no overlap then that might be the way to go. If I have any more useful ideas about the solution later I'll update here.
Some other (maybe underdeveloped) comments that come to mind:
- There are different kinds of notifications: eg a file was saved, or there was a syntax error in a query, etc. Some I care about, some I don't, and some I care about but don't need a full notification message. For example, external changes to a file can be indicated by something as simple as a blue dot at the bottom of the editor window, without a verbose message.
- Some notifications are duplicative of information already on the screen, for example errors that are in run output. Not only is that unnecessary, but now it gives me two places I must look to be sure I saw all output from my last action. It would be more convenient if I knew there was only one place to look. Personally I would choose the full output in the run window, which would reduce the number of notifications.
- It would be more work, but assigning notifications to different categories or severity-levels and letting users choose to see or hide some of those categories or levels could be a way to accommodate different user preferences for immediate feedback.
I mention these items just to ask whether part of the solution might simply be to reduce the need for so many notifications by conveying some of the information another way.