How to achieve the use case of drawing a line between two elements and wanting the elements to stay connected even if they are moved.
- Thinking about improving Kozaneba’s line drawing UI
- Putting aside for a moment the convenience of internal design, consider what a “line-drawing UI” might look like
Mounting Method 1:.
- Introduce a line-drawing mode
- Clicking on element A and element B draws a line.
Mounting Method 2:.
- Introduce a line-drawing mode
- Pointer down on element A, pointer up on element B to draw a line.
Implementation Method 3:.
- Select multiple elements
- A context menu appears.
- Select “Draw a line” from the menu.
Implementation Method 4: The
- In the menu of globals, “Add Line.”
- A line with null ends is formed.
- Drag and drop it to element A and element B to connect them.
Implementation Method 5: The
- Clicking on element A causes a handle to appear.
- Drag-drop a handle onto element B to draw a line.
About Line Drawing Mode
- If you want to draw a line all together, it’s easy to enter the mode.
- If you have to draw a line and move an element frequently, you need to switch modes every time you draw a line and move an element.
- We need to know which mode we are in.
- People will draw lines trying to move elements.
- Google Slide is an implementation method 2
- Drag-drop targets handles, not the elements themselves
Mounting method 3
- Current Kozaneba implementation
- The advantage is that the expression is not limited to the relationship between two elements.
- If you draw the line at something close, it’s acceptable.
- When trying to draw a line on a distant object or in an intricate arrangement, “select a range” will involve other objects.
- operational workarounds
- Move the target element closer
- draw a line
- Put it back in its original place.
- This is troublesome!
- As I was creating and using the line functions, I realized that these situations were more frequent and troublesome than I had expected.
- I’ve come to believe that the disadvantages outweigh the advantages of multiplying polynomial relationships.
- operational workarounds
Mounting method 4
- Keynote adds a line when the line button is pressed.
- No connection to the elements?
- Google Slide also does this when you click on it in “draw a line mode”.
- If you define a line as “a line is something that connects elements” because it temporarily creates a “line that leads nowhere”, problems arise.
- Care should be taken when designing
Mounting method 5
- Miro Implementation
- The current Kozaneba is also the same in that when you click on an element, a context menu appears, so you are “in temporary mode”.
- I can get the handle out.
- The “temporary menuing mode” must switch to “temporary line drawing mode” when the pointer is down on the handle.
- The current Kozaneba is also the same in that when you click on an element, a context menu appears, so you are “in temporary mode”.
relevance
- Can the line be selected?
- If a line has a hit judgment, the line will take an event when you try to move the element.
- How to erase lines
This page is auto-translated from /nishio/線を引くUI using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.