Ticket #529 (closed Enhancement: fixed)

Opened 7 years ago

Last modified 7 years ago

Rightclick in empty canvas should open create menu on canvas

Reported by: JuergeN Owned by:
Priority: Major Milestone:
Component: DeepaMehta Standard Distribution Version: 4.1.2
Keywords: Cc: Malte, ziegi
Complexity: 3 Area:
Module:

Description

To further increase the usability and workflow it would be very helpful if a rightclick in the canvas would open the create menu inside the canvas and place the new topic at the position where clicked.

Change History

comment:1 Changed 7 years ago by jri

  • Cc Malte, ziegi added

comment:2 Changed 7 years ago by jri

A similar function exists already: right-clicking on the canvas shows a "Create" menu item with the type of the previously created topic. That is, create a topic via normal Create menu, then you can create several more instances of the same type on the very spot where you click the canvas. That reflects what we've decided months (years?) ago.

I'm not sure if a full-fledged Create menu within the canvas is a clear advantage. In case you want create e.g. just a couple Notes the existing approach is more easy to use. Anyway, there are certainly cases the approach you propose is more useful. I feel further discussen is required here.

comment:3 follow-up: ↓ 4 Changed 7 years ago by JuergeN

In my opinion, when creating a map, I want to "draw" a scenario. Like a painter I want to have all colors and pencils at hand. From my observation the function to add another topic of the same type may happen of course, but is only one out of many possibilities.

At the same time I understand that the full create menu is a bit too much and I also agree with that. So I would suggest a compromise here: the right click only shows the list of predefinied topic types (upper part).

If you still want to reflect on the +1 idea, you could easily do it by sorting that list in that way, that the last used topic type is always on top of the list. This in particular would change nothing in terms of existing comfort when right clicking with the current version, but just add the other possible topic types to that same list. I would like to try this, please.

comment:4 in reply to: ↑ 3 Changed 7 years ago by jri

Replying to JuergeN:

In my opinion, when creating a map, I want to "draw" a scenario. Like a painter I want to have all colors and pencils at hand. From my observation the function to add another topic of the same type may happen of course, but is only one out of many possibilities.

At the same time I understand that the full create menu is a bit too much and I also agree with that. So I would suggest a compromise here: the right click only shows the list of predefinied topic types (upper part).

Yes, I see your point. Perhaps the current +1 solution is too limited. In fact I don't use it often. And perhaps it is not easy to grasp.

Possibly its more easy to use and yet more powerful to have the *full* Create menu available on the canvas. This would provide for a unified solution which leaves no question open to the user like "why is this item available only in that menu and not here?".

With the refactored DM Menus (see #532, #534) it would be quite easy to bring the full Create menu to the canvas. If the menu exceeds the screen bottom it provides a vertical scrollbar which can be operated via mouse wheel as well.

If you still want to reflect on the +1 idea, you could easily do it by sorting that list in that way, that the last used topic type is always on top of the list. This in particular would change nothing in terms of existing comfort when right clicking with the current version, but just add the other possible topic types to that same list. I would like to try this, please.

Yes we could emulate the +1 aspect this way. However, programmatic rearrangement of menu items is a very bad idea usability wise. It confuses users when they do not find the menu items at the usual position. This undermines the user's spatial memory and sense of orientation. Microsoft once tried exactly that -- automatic rearrangement of menu items based on usage frequency -- in one Windows version, and abandoned it very soon.

So, what do you think about a full Create menu on the canvas?

Last edited 7 years ago by jri (previous) (diff)

comment:5 follow-up: ↓ 7 Changed 7 years ago by JuergeN

I agree that the programmatic rearrangement of menu items is a very bad idea usability wise. So let's forget about it.

In terms of showing the full create menu or just the upper part with predefined topic types I would still vote for the letter. I think that all other menu topics require more than just a one-click action and a bit of thinking. In that sense it is not similar to the adressed workflow. The only point that is a bit ambivalent is the file browser which we might also include. But I think that at some point we should rethink the file browser anyway. To fulfil my needs here, the browsing of the files would be part of the menu itself. The menu should allow me to navigate straight forward to right file which I want to reveal on the topic map. The very clear cut which I would defenitely not include is the creation of new user accounts, new topic types and associations.

I think this is easy to understand and fully supporting my aim that you want to create a new topic instance and place it on the map in one action. The creation of new users, topic types and association types to me is different task. Also, if future user feedback would agregate a different demand, it should not be to difficult to change the menu to the full options.

Last edited 7 years ago by JuergeN (previous) (diff)

comment:6 Changed 7 years ago by Jörg Richter

Webclient: refactor type menus (#529).

Creation of the type list is decoupled from creating the menu.

In preparation of "Rightclick in empty canvas should open create menu on canvas" (see #529).

DEVELOPER NOTES

Webclient API:

  • dm4c.type_cache.get_topic_types(filter_func) is a new method.
  • dm4c.topic_type_list() is a new method. It returns a list of all the topic types the current user is enabled to create instances of.

BREAKING CHANGES

comment:7 in reply to: ↑ 5 Changed 7 years ago by jri

Replying to JuergeN:

In terms of showing the full create menu or just the upper part with predefined topic types I would still vote for the letter. I think that all other menu topics require more than just a one-click action and a bit of thinking. In that sense it is not similar to the adressed workflow.

Yes, this sounds plausible to me. The items in the Create menu's lower part are rather for "advanced" usage and must not necessarily appear in the Canvas context menu. Lets do it this way!

Thanks, JuergeN, for the considerate and fruitful discussion! It's a pleasure.

comment:8 Changed 7 years ago by Jörg Richter

Webclient: "Create" menu on canvas (#529).

Right-clicking the canvas brings up a Create menu with the same topic types as listed in the toolbar's Create menu. The created topic is positioned where the right-click is performed.

The "+1" button near the toolbar's Create menu is gone.

DEVELOPER NOTES

Client-Side Plugin Framework:

Plugins can place disabled items in the topic/association/canvas context menus. They do so in the respective .._commands hook by setting a command's disabled property to true.

Plugins can add icons to the items in the topic/association/canvas context menus. They do so in the respective .._commands hook by setting a command's icon property to the (absolute or relative) URL of the icon file.

GUI Toolkit:

Menu items added by the add_item() method can have a boolean disabled property. If true the menu item appears as disabled in the menu. This works for Menu, ContextMenu?, and Combobox.

See #529.

comment:9 Changed 7 years ago by Jörg Richter

Webclient: refactor type menus (#529).

Creation of the type list is decoupled from creating the menu.

In preparation of "Rightclick in empty canvas should open create menu on canvas" (see #529).

DEVELOPER NOTES

Webclient API:

  • dm4c.type_cache.get_topic_types(filter_func) is a new method.
  • dm4c.topic_type_list() is a new method. It returns a list of all the topic types the current user is enabled to create instances of.

BREAKING CHANGES

comment:10 Changed 7 years ago by Jörg Richter

Webclient: "Create" menu on canvas (#529).

Right-clicking the canvas brings up a Create menu with the same topic types as listed in the toolbar's Create menu. The created topic is positioned where the right-click is performed.

The "+1" button near the toolbar's Create menu is gone.

DEVELOPER NOTES

Client-Side Plugin Framework:

Plugins can place disabled items in the topic/association/canvas context menus. They do so in the respective .._commands hook by setting a command's disabled property to true.

Plugins can add icons to the items in the topic/association/canvas context menus. They do so in the respective .._commands hook by setting a command's icon property to the (absolute or relative) URL of the icon file.

GUI Toolkit:

Menu items added by the add_item() method can have a boolean disabled property. If true the menu item appears as disabled in the menu. This works for Menu, ContextMenu?, and Combobox.

See #529.

comment:11 follow-up: ↓ 12 Changed 7 years ago by Malte

Maybe we can keep the ALT + N command for creating further topics (of the same type the last topic was created) or (if no topic was created yet) create a new "Note" topic via ALT + N?

I see, since now the "+1" command is gone, this would be some sort of "hidden" feature and users would never have the chance to learn about it (except we tell them explicitly) but I liked it somehow. For example: I find this (keyboard) shortcut useful when I use DM to write protocols since recording of such in meetings usually has to be very fast. Is there any substantial argument against re-introducing this feature? Thanks for your thoughts.

comment:12 in reply to: ↑ 11 Changed 7 years ago by jri

Replying to Malte:

Maybe we can keep the ALT + N command for creating further topics (of the same type the last topic was created) or (if no topic was created yet) create a new "Note" topic via ALT + N?

I see, since now the "+1" command is gone, this would be some sort of "hidden" feature and users would never have the chance to learn about it (except we tell them explicitly) but I liked it somehow. For example: I find this (keyboard) shortcut useful when I use DM to write protocols since recording of such in meetings usually has to be very fast. Is there any substantial argument against re-introducing this feature? Thanks for your thoughts.

Yes, Malte, your argument sounds reasonable to me. The "quick note" use case you describe here is different than JuergeN's "painter" use case. So there is still a case for the "+1" command.

The idea to fallback to Note if no topic was created before is good as well. The disabled Alt-N command was rather a pain.

This inspired me to rethink the command from ground up: should the +1 button really

  1. create another topic of the same type, BUT a Note when nothing was created before, or
  2. always create a Note?

Possibly the a. rule is too arbitrary to be grasped. Furthermore it might not suitable for the "instant fire" use case you're focusing on. In that "instant fire" situation you might not be inclined to find out first what type will be created this time. Usability wise there is the problem of a "hidden state".

Anyway, I will bring back the "+1" button (and its keyboard shortcut) -- resp. an "instant fire" :-) button very soon.

comment:13 Changed 7 years ago by Malte

Right, good point. This makes me wish for b), because as you said, in that moment I dont care about the type and a wrong type would probably distract, or even upset me, so taking a simple Note first is probably the safest way, and retyping it later anyway possible. Also there seems to be another association involved: "ALT + N(ote)" - Thank you very much for your thoughts on this, looking forward this being part of the webclient again.

comment:14 Changed 7 years ago by Jörg Richter

Webclient: add "Create Note" button (#529).

In the toolbar, beside the Create menu, there is a "Create Note instantly" button. It can be triggered via Alt-n. The button creates a Note topic instantly. It is useful for "in a hurry" situation when one want enter information right away.
Thank you, Malte, for bringing up this use case!

See #529.

comment:15 Changed 7 years ago by jri

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.