Feature request: Notes attached to connections

Lo
LostInTheTrees
Posts: 23
Joined: Tue Nov 13, 2012 10:59 pm
Platform: Mac
Location: Tucson, AZ - Eugene, OR

Sat Mar 02, 2013 9:57 pm Post

As a software developer I very often do graphs which are state transition diagrams. Each node is a state. Each transition to another state is an arrow. On the arrow is an event that causes the transition. It's the single best mental tool I have, I think.

Right now, for the events I just create a note with no border and place it on the connection. I've attached an illustration. The problem is that when I move nodes and connections around, I have to move and place the event notes as well. It would be a great convenience if a note could be "attached" to the connection. Dropping a note on a connection could attach it and dragging away could detach it. Dragging along the connection could place it at "x% of the way along the line".

It would seem to me that a "labeled connection" would be useful in many circumstances other than state transition diagrams. I came to the "attach a note" idea as being more in keeping with the overall simplicity and power you have already.

This is by no means a deal breaker, but would be a real convenience.

-Bob
Attachments
Screen Shot 2013-03-02 at 14.44.24 .png
Screen Shot 2013-03-02 at 14.44.24 .png (15.4 KiB) Viewed 3523 times

mi
michaelbywater
Posts: 276
Joined: Wed Nov 15, 2006 7:02 pm

Sun Mar 03, 2013 6:09 pm Post

You can sort of do this already. Double-click on the connecting line and the connector splits, & a new note is inserted at the split.

Before:
Screen Shot 2013-03-03 at 5.56.41pm.jpg
Before
Screen Shot 2013-03-03 at 5.56.41pm.jpg (19.4 KiB) Viewed 3506 times


After:

Screen Shot 2013-03-03 at 5.58.11pm.jpg
After
Screen Shot 2013-03-03 at 5.58.11pm.jpg (20.2 KiB) Viewed 3506 times


The problem is that the type of connector is respected; as you can see, the outbound arrow is duplicated when the connector is split; fine in some cases but not in the one you're talking about, when it becomes not (in your terms) a transition, but a state.

What you want, I think, is for Scapple to lock the arrowhead to the original destination. I can't see how to do this even manually. But I agree; it would be an excellent addition and would enable us to do a simple version of "concept maps" without the power, but also without the complexity, of Cmap Tools (q.v.)

ma
matsgz
Posts: 314
Joined: Mon Feb 11, 2013 7:56 am
Platform: Mac + iOS

Sun Mar 03, 2013 9:44 pm Post

One solution (not perfect) is to make the line between "The first note" and the "Label note" a dotted line.

Cheers,
Mats
Scribo ergo sum

User avatar
xiamenese
Posts: 3969
Joined: Mon Jan 29, 2007 1:32 am
Platform: Mac
Location: London or Exeter, UK.

Mon Mar 04, 2013 8:50 am Post

Make your first and second note, linked with an arrow as in the first screenshot, then make a new unlinked note elsewhere with the label and drag it over the link-line.

Screen Shot 2013-03-04 at 16.48.32.png
Screen Shot 2013-03-04 at 16.48.32.png (15.06 KiB) Viewed 3482 times

Mark
The Scrivenato sometimes known as Mr X.
rMBP 13" (early 2015) 10.14.5, 8GB RAM, 512GB SSID
MBP17" (late 2011) 10.13.6, 8GB RAM, 512GB SSID
2017 iPad, iOS 12.3.1, 128GB, Apple Pencil
Scrivener, Scapple, Nisus Writer Pro, Bookends …

mi
michaelbywater
Posts: 276
Joined: Wed Nov 15, 2006 7:02 pm

Mon Mar 04, 2013 7:01 pm Post

@Mark - yes but doing it that way, the "Label Note" doesn't split the connecting line between First Note and Second Note. It just *looks* that way, until you move one of the other notes.

Your way:

Screen Shot 2013-03-04 at 6.55.51pm.jpg
Screen Shot 2013-03-04 at 6.55.51pm.jpg (14.16 KiB) Viewed 3464 times


Now I move Second Note:

Screen Shot 2013-03-04 at 6.56.54pm.jpg
Screen Shot 2013-03-04 at 6.56.54pm.jpg (13.76 KiB) Viewed 3464 times


My way (splitting the connector by double-clicking):

Screen Shot 2013-03-04 at 6.58.54pm.jpg
Screen Shot 2013-03-04 at 6.58.54pm.jpg (13.72 KiB) Viewed 3464 times

mi
michaelbywater
Posts: 276
Joined: Wed Nov 15, 2006 7:02 pm

Mon Mar 04, 2013 7:10 pm Post

(continued from above post, due to 3-image limits on the board)

...and now I move Second Note:

Screen Shot 2013-03-04 at 7.00.12pm.jpg
Screen Shot 2013-03-04 at 7.00.12pm.jpg (15.56 KiB) Viewed 3463 times


...and it remains attached to the others. BUT the pesky arrowhead between First Note and "Comment Note" is the fly in the ointment. Yes, we can remove it manually but I think if would be a fine thing to have it removed automatically. Perhaps command-double-click on the connector line should replace it with a plain solid line (dependent on the direction of the original arrow, but I don't know what Scapple understands about arrowhead directions.

C-Map Tools can do it easily,

Screen Shot 2013-03-04 at 7.08.19pm.jpg
Screen Shot 2013-03-04 at 7.08.19pm.jpg (13.42 KiB) Viewed 3463 times


... but it knows the difference between states and transitions (nouns and verbs if you like). You can't have a connection between two "concepts" *without* a connecting comment, even if you leave it blank. But this is an application for a very specific area of knowledge/process/concept modelling, and may be beyond the scope of an Infinite Spidergram like Scapple, whose very power lies in the fact that it knows nothing and thus enforces nothing...

User avatar
KB
Site Admin
Posts: 20709
Joined: Tue Jun 13, 2006 11:23 pm
Platform: Mac
Location: Truro, Cornwall
Contact:

Mon Mar 04, 2013 8:35 pm Post

Scapple could certainly make it so that double-clicking a line with an arrow has the arrow leading from the new note but not from the other note to the new note. The current behaviour just uses the same line/arrow type both ways - it has to make some assumption here, and which assumption that is will be somewhat arbitrary. I have no strong opinion, so am happy to change it if that makes more sense to most.
"You can't waltz in here, use my toaster, and start spouting universal truths without qualification."

Ti
TimEss
Posts: 6
Joined: Wed Dec 26, 2012 8:10 am
Platform: Mac

Tue Mar 05, 2013 4:15 pm Post

KB wrote:Scapple could certainly make it so that double-clicking a line with an arrow has the arrow leading from the new note but not from the other note to the new note. The current behaviour just uses the same line/arrow type both ways - it has to make some assumption here, and which assumption that is will be somewhat arbitrary. I have no strong opinion, so am happy to change it if that makes more sense to most.


If it's as easy as you say, Keith, to do this: Namely to make Scapple insert a note on the line with no arrow to it, but one from it — thereby making such a note 'belong to' the line, without being an end of the line — and so move with it if notes at either end are moved, that'd be well worth doing, in my opinion. It just makes available another means of expression to help clarify thinking. I hope enough others will agree.

User avatar
KB
Site Admin
Posts: 20709
Joined: Tue Jun 13, 2006 11:23 pm
Platform: Mac
Location: Truro, Cornwall
Contact:

Tue Mar 05, 2013 4:31 pm Post

No, that part's not easy, as there is no concept of labels in Scapple, sorry.

All the best,
Keith
"You can't waltz in here, use my toaster, and start spouting universal truths without qualification."

ma
matsgz
Posts: 314
Joined: Mon Feb 11, 2013 7:56 am
Platform: Mac + iOS

Tue Mar 05, 2013 4:38 pm Post

I don't really see the problem. Is it that the line (the one that isn't an arrow) has to be solid (like the arrow) and not dotted? It's easy to substitute an arrow for a dotted line.

If that is essential (can't see why), then the request boils down to solid lines. Because as I've understood it, it's all about visual impact. Scapple doesn't know what is a first, second or comment note anyhow, does it?
Scribo ergo sum

Lo
LostInTheTrees
Posts: 23
Joined: Tue Nov 13, 2012 10:59 pm
Platform: Mac
Location: Tucson, AZ - Eugene, OR

Tue Mar 05, 2013 5:22 pm Post

xiamenese wrote:Make your first and second note, linked with an arrow as in the first screenshot, then make a new unlinked note elsewhere with the label and drag it over the link-line.

Screen Shot 2013-03-04 at 16.48.32.png

Mark


That's exactly what I do now except that the label note has no border.

Lo
LostInTheTrees
Posts: 23
Joined: Tue Nov 13, 2012 10:59 pm
Platform: Mac
Location: Tucson, AZ - Eugene, OR

Tue Mar 05, 2013 5:49 pm Post

KB wrote:No, that part's not easy, as there is no concept of labels in Scapple, sorry.

All the best,
Keith


I would not say the coding is easy, but it seems to fit into the current model quite easily if one can simply attach a note to a line as I originally requested. All the note rendering and so on would be unchanged. What would change is that the attached note would move when one of the endpoint notes move and require movement of the connection. I'm guessing your connection object looks something like
fromNote
toNote
...attributes

To this would have to be added
attachedNote
attachedPosition

The code to attach and detach a note would probably not be that easy, but I imagine the change to the algorithm that repositions the connection would not be very difficult. But then you probably know all this already.

The addition would be well worth the effort IMHO and I think it would be heavily used.

-Bob

Lo
LostInTheTrees
Posts: 23
Joined: Tue Nov 13, 2012 10:59 pm
Platform: Mac
Location: Tucson, AZ - Eugene, OR

Tue Mar 05, 2013 10:47 pm Post

I thought I should comment also on the line splitting idea. I wasn't aware of this feature and it certainly could be useful here.

When I have done state transition diagrams in Scapple so far, I have differentiated states by a border. The event labels that I put on the arrows are borderless, which effectively marks them as "comments" or events or whatever. I figured out how to create Styles for "!State" and "!Event". I use the "!" to sort my styles to the top.

I think the current standard of applying the same connector style to both parts of a split Note makes sense, but doesn't work for me in this case. Two arrows doesn't seem to convey the meaning as will as an arrowless connector on the from side and the arrow on the to side.

So to use this method I would double click the connection, and write the note. Click the note and select the style. Click the from note and then the event note. Right click and select Disconnect. Right click again and select Connect. [BUG: you cannot change an arrow directly to a dotted connection, you have to disconnect first.]

This is cumbersome and still doen't help too much when it is time to rearrange the diagram. If the treatment of arrows were made a preference then I would set it to split into a "connection" and an "arrow connection" and that would save a lot of this effort.

There is also another BUG that affects this. I found that you cannot dbl-click and split a vertical connection.

-Bob

de
designcologne
Posts: 2
Joined: Fri Mar 08, 2013 6:07 am
Platform: Mac

Fri Mar 08, 2013 6:21 am Post

No. Not note-items should be posted on a connector, but labels!
When I like to insert a note between to existing notes, it has to be connected to the note before and next.

I find a concept of labels very useful. A label, which will be »glued« on the connector without disrupting it.

User avatar
AmberV
Posts: 23255
Joined: Sun Jun 18, 2006 4:30 am
Platform: Mac + Linux
Location: Santiago de Compostela, Galiza
Contact:

Fri Mar 08, 2013 1:54 pm Post

If you take a look at the data model in the XML, you may see the challenge in implementing labels. The schema would have to be completely reworked. Because the way it is right now, lines don't really "exist" as separate entities. They are components, or attributes, of the notes involved, and employ a shorthand to make multiple assignments more efficient. So you end up with stuff like:

Code: Select all

<Note ID="0" FontSize="12.0" Position="206.0,155.0" Width="29.0">
    <Appearance></Appearance>
    <String>Connected to multiple notes...</String>
    <ConnectedNoteIDs>1-4</ConnectedNoteIDs>
</Note>


It is the last element pair that draws lines. This indicates that the note in question is connected to note IDs 1 thru 4, and that is it. Arrows are just a different element, otherwise defined identically. It's not that implementing labels is impossible, this is programming after all, it would just entail a rather comprehensive redesign of how connecting lines are drawn, potentially making them into stand-alone entities with their own attributes and child elements.
.:.
Ioa Petra'ka
“Whole sight, or all the rest is desolation.” —John Fowles