You are browsing as Guest
Click here for list of discussions
Click here to login






Discussion: DiscDAGsFuture
You have read-only access
You may need to scroll to the right ...

Click here to view in strict time order
Click here to view in neighbourhood mode.

%3 N_20200510151146a_ColinWright    By ColinWright 2020/05/10 @ 15:11:46a -------------------------------- Looking at the medium to long-term future of DiscDAG.        (select only this node)     N_20200510151228a_ColinWright    By ColinWright 2020/05/10 @ 15:12:28a -------------------------------- In discussion with s-ol, and possibly others.        (select only this node)     N_20200510151146a_ColinWright->N_20200510151228a_ColinWright N_20200510151336a_s-ol    By s-ol 2020/05/10 @ 15:13:36a -------------------------------- I've made a login request        (select only this node)     N_20200510151228a_ColinWright->N_20200510151336a_s-ol N_20220807091614a_s-ol    By s-ol 2022/08/07 @ 09:16:14a -------------------------------- On Mastodon, you said: Still working on that ... I have more ideas now, and am slowly acquiring the skills to experiment.        (select only this node)     N_20200510151228a_ColinWright->N_20220807091614a_s-ol N_20200510155908a_s-ol    By s-ol 2020/05/10 @ 15:59:08a -------------------------------- I think it is pretty interesting.        (select only this node)     N_20200510151228a_ColinWright->N_20200510155908a_s-ol N_20200510171915a_ColinWright    By ColinWright 2020/05/10 @ 17:19:15a -------------------------------- I've registered you on the system.        (select only this node)     N_20200510151336a_s-ol->N_20200510171915a_ColinWright N_20200510181621a_s-ol    By s-ol 2020/05/10 @ 18:16:21a -------------------------------- Finding and involving others could help here.        (select only this node)     N_20200510182419a_ColinWright    By ColinWright 2020/05/10 @ 18:24:19a -------------------------------- I have effectively zero skills in this area, and too much going on to be able to take the time to come up to speed, so coding-wise I suspect I would be of no value.        (select only this node)     N_20200510181621a_s-ol->N_20200510182419a_ColinWright N_20200510154331b_ColinWright    By ColinWright 2020/05/10 @ 15:43:31b -------------------------------- I've assigned you a colour for your nodes, and have given you permission to put reverse arrow and create orphaned nodes, and permission to create discussions.        (select only this node)     N_20200510154417a_ColinWright    By ColinWright 2020/05/10 @ 15:44:17a -------------------------------- If you'd like your colour changed, let me know the #RRGGBB you would like.        (select only this node)     N_20200510154331b_ColinWright->N_20200510154417a_ColinWright N_20200510154331c_ColinWright    By ColinWright 2020/05/10 @ 15:43:31c -------------------------------- That will let you create a discussion to have a play with the idea.        (select only this node)     N_20200510154331b_ColinWright->N_20200510154331c_ColinWright N_20200510154502a_ColinWright    By ColinWright 2020/05/10 @ 15:45:02a -------------------------------- Currently there are no user accessible interfaces for editing your profile, or for import/export.        (select only this node)     N_20200510154331b_ColinWright->N_20200510154502a_ColinWright N_20200510154331d_ColinWright    By ColinWright 2020/05/10 @ 15:43:31d -------------------------------- As you no doubt realise, the UIX is atrocious, but I hope that the potential is there to be seen.        (select only this node)     N_20200510154331c_ColinWright->N_20200510154331d_ColinWright N_20200510154331e_ColinWright    By ColinWright 2020/05/10 @ 15:43:31e -------------------------------- I've installed your email, so if/when someone replies to any of your nodes you will get a notification. Let me know if you want that disabled.        (select only this node)     N_20200510154331d_ColinWright->N_20200510154331e_ColinWright N_20200510154331e_ColinWright->N_20200510154502a_ColinWright N_20200510182605a_s-ol    By s-ol 2020/05/10 @ 18:26:05a -------------------------------- I don't mind the emails, but would appreciate them arriving in this inbox rather than my main one:        (select only this node)     N_20200510154331e_ColinWright->N_20200510182605a_s-ol N_20200510154331f_ColinWright    By ColinWright 2020/05/10 @ 15:43:31f -------------------------------- Currently the system sees effectively no traffic, and has no users, so it shouldn't be a problem.        (select only this node)     N_20200510154331e_ColinWright->N_20200510154331f_ColinWright N_20200510154417a_ColinWright->N_20200510154502a_ColinWright N_20200510154747a_ColinWright    By ColinWright 2020/05/10 @ 15:47:47a -------------------------------- This is an import of the email I recently sent you, so we can continue the discussion here. That might let you get the hang of using it "for real".        (select only this node)     N_20200510154747b_ColinWright    By ColinWright 2020/05/10 @ 15:47:47b -------------------------------- It's easy enough for me to export a discussion if you want to give up on it and revert to email (or other).        (select only this node)     N_20200510154747a_ColinWright->N_20200510154747b_ColinWright N_20200510173824a_s-ol    By s-ol 2020/05/10 @ 17:38:24a -------------------------------- I'm actually liking this quite a lot. I hadn't thought about it when writing the email, but imagining this discussion as an email reply from you I can already tell this format is making it easier for me to process the whole scope of the discussion.        (select only this node)     N_20200510154747b_ColinWright->N_20200510173824a_s-ol N_20200510160027a_ColinWright    By ColinWright 2020/05/10 @ 16:00:27a -------------------------------- Thank you.        (select only this node)     N_20200510155908a_s-ol->N_20200510160027a_ColinWright N_20200510160010a_ColinWright    By ColinWright 2020/05/10 @ 16:00:10a -------------------------------- I've also written an email-thread import script.        (select only this node)     N_20200510155908a_s-ol->N_20200510160010a_ColinWright N_20200510160105a_s-ol    By s-ol 2020/05/10 @ 16:01:05a -------------------------------- Do you really want and need to have DiscDAG be it's own separate information system?        (select only this node)     N_20200510155908a_s-ol->N_20200510160105a_s-ol N_20200510160010b_ColinWright    By ColinWright 2020/05/10 @ 16:00:10b -------------------------------- It's not perfect, and things need fixed, but when an email thread gets complex and messy I can, as a one-time operation, import it into DiscDAG and make sense of it.        (select only this node)     N_20200510160010a_ColinWright->N_20200510160010b_ColinWright N_20200510160010c_ColinWright    By ColinWright 2020/05/10 @ 16:00:10c -------------------------------- It's genuinely useful, although it still has many, many snags.        (select only this node)     N_20200510160010b_ColinWright->N_20200510160010c_ColinWright N_20200510160228a_ColinWright    By ColinWright 2020/05/10 @ 16:02:28a -------------------------------- At the moment, I don't know where I want this to go.        (select only this node)     N_20200510160105a_s-ol->N_20200510160228a_ColinWright N_20200510160404a_s-ol    By s-ol 2020/05/10 @ 16:04:04a -------------------------------- If DiscDAG were to become popular, there is a substantial amount of work required to scale, host and maintain it.        (select only this node)     N_20200510160105a_s-ol->N_20200510160404a_s-ol N_20200510160228b_ColinWright    By ColinWright 2020/05/10 @ 16:02:28b -------------------------------- I haven't found anything similar, so I've had to create my own system for my own use.        (select only this node)     N_20200510160228a_ColinWright->N_20200510160228b_ColinWright N_20200510160228c_ColinWright    By ColinWright 2020/05/10 @ 16:02:28c -------------------------------- There are problems with the approach, in that discussions can become huge sprawling messes.        (select only this node)     N_20200510160228b_ColinWright->N_20200510160228c_ColinWright N_20200510160228d_ColinWright    By ColinWright 2020/05/10 @ 16:02:28d -------------------------------- The existing implementation has let me explore possible solutions to that problem.        (select only this node)     N_20200510160228c_ColinWright->N_20200510160228d_ColinWright N_20220112113252a_s-ol    By s-ol 2022/01/12 @ 11:32:52a -------------------------------- I think we may have arrived at that point ;)        (select only this node)     N_20200510160228c_ColinWright->N_20220112113252a_s-ol N_20200510181344a_s-ol    By s-ol 2020/05/10 @ 18:13:44a -------------------------------- It seems the biggest challenge that remains is the UX, not the technicalities.        (select only this node)     N_20200510160228c_ColinWright->N_20200510181344a_s-ol N_20200510160816a_s-ol    By s-ol 2020/05/10 @ 16:08:16a -------------------------------- To become popular, users would have to switch from X to DiscDAG, which is hard to do, especially with a currently half-baked alternative.        (select only this node)     N_20200510160404a_s-ol->N_20200510160816a_s-ol N_20200510160537a_ColinWright    By ColinWright 2020/05/10 @ 16:05:37a -------------------------------- Absolutely. It would end up having to be a service, and then that would have to be paid for somehow.        (select only this node)     N_20200510160404a_s-ol->N_20200510160537a_ColinWright N_20200510160537b_ColinWright    By ColinWright 2020/05/10 @ 16:05:37b -------------------------------- People would want to be able to import and export their data.        (select only this node)     N_20200510160537a_ColinWright->N_20200510160537b_ColinWright N_20200510160537c_ColinWright    By ColinWright 2020/05/10 @ 16:05:37c -------------------------------- People would (rightly) ask about whether things were encrypted, etc.        (select only this node)     N_20200510160537a_ColinWright->N_20200510160537c_ColinWright N_20200510160537d_ColinWright    By ColinWright 2020/05/10 @ 16:05:37d -------------------------------- These are valid concerns.        (select only this node)     N_20200510160537b_ColinWright->N_20200510160537d_ColinWright N_20200510160537c_ColinWright->N_20200510160537d_ColinWright N_20200510160537e_ColinWright    By ColinWright 2020/05/10 @ 16:05:37e -------------------------------- The fact that you ask is interesting to me, because it suggests you think the idea "has legs".        (select only this node)     N_20200510160537d_ColinWright->N_20200510160537e_ColinWright N_20200510161005a_s-ol    By s-ol 2020/05/10 @ 16:10:05a -------------------------------- Is there something that the DiscDAG needs from its data that e.g. Mastodon cannot provide?        (select only this node)     N_20200510160816a_s-ol->N_20200510161005a_s-ol N_20200510160905a_ColinWright    By ColinWright 2020/05/10 @ 16:09:05a -------------------------------- Absolutely. I have ideas about that.        (select only this node)     N_20200510160816a_s-ol->N_20200510160905a_ColinWright N_20200510175402a_s-ol    By s-ol 2020/05/10 @ 17:54:02a -------------------------------- elaborate maybe?        (select only this node)     N_20200510160905a_ColinWright->N_20200510175402a_s-ol N_20200510175115a_s-ol    By s-ol 2020/05/10 @ 17:51:15a -------------------------------- When a new node is created, it can be connected as a "downstream" node of 0-N parents. Can these connections change after the fact - is there a way for another node to "link downstream" and adopt the first?        (select only this node)     N_20200510161005a_s-ol->N_20200510175115a_s-ol N_20200510161005b_s-ol    By s-ol 2020/05/10 @ 16:10:05b -------------------------------- If not, then I would think building a client/frontend based on the DiscDAG principles would be an easier task and a more likely migration path for users to take.        (select only this node)     N_20200510161005a_s-ol->N_20200510161005b_s-ol N_20200510161618a_ColinWright    By ColinWright 2020/05/10 @ 16:16:18a -------------------------------- Consider the "Chartodon" system I have. If one could interact with that in the way one interacts with DiscDAG, suddenly it's something that is effectively both, Mastodon and DiscDAG.        (select only this node)     N_20200510161005b_s-ol->N_20200510161618a_ColinWright N_20200510161708a_s-ol    By s-ol 2020/05/10 @ 16:17:08a -------------------------------- Clearly my bias is showing here, but that would be something I would be very interested in using myself.        (select only this node)     N_20200510161005b_s-ol->N_20200510161708a_s-ol N_20200510161618b_ColinWright    By ColinWright 2020/05/10 @ 16:16:18b -------------------------------- You still have the problem of discussions ending up sprawling, privacy concerns, etc., but yes, it's a derivative/evolution that could be "A Thing(tm)".        (select only this node)     N_20200510161618a_ColinWright->N_20200510161618b_ColinWright N_20200510174013a_s-ol    By s-ol 2020/05/10 @ 17:40:13a -------------------------------- Mastodon is designed in a client/server architecture, where a client can be a website or a native application that talks to the server over HTTP.        (select only this node)     N_20200510161618a_ColinWright->N_20200510174013a_s-ol N_20200510175749a_s-ol    By s-ol 2020/05/10 @ 17:57:49a -------------------------------- Privacy concerns would be solved to the degree that they are solved in Mastodon, which everyone seems to be quite happy with.        (select only this node)     N_20200510161618b_ColinWright->N_20200510175749a_s-ol N_20200510161708a_s-ol->N_20200510160537e_ColinWright N_20200510161806a_s-ol    By s-ol 2020/05/10 @ 16:18:06a -------------------------------- I have experience in building software for the web using the "modern" technologies.        (select only this node)     N_20200510161708a_s-ol->N_20200510161806a_s-ol N_20200510161921a_ColinWright    By ColinWright 2020/05/10 @ 16:19:21a -------------------------------- Then you have the skills to implement the vision. The question is, where do we go from here?        (select only this node)     N_20200510161806a_s-ol->N_20200510161921a_ColinWright N_20200510161806b_s-ol    By s-ol 2020/05/10 @ 16:18:06b -------------------------------- (clientside JS frameworks, various serverside solutions etc.).        (select only this node)     N_20200510161806a_s-ol->N_20200510161806b_s-ol N_20200510161921b_ColinWright    By ColinWright 2020/05/10 @ 16:19:21b -------------------------------- The idea, as implemented in DiscDAG, is pretty obvious, and you could probably just code up an experiment and go with it.        (select only this node)     N_20200510161921a_ColinWright->N_20200510161921b_ColinWright N_20200510181505a_s-ol    By s-ol 2020/05/10 @ 18:15:05a -------------------------------- I think I am an alright UX armchair critic, but not too great at designing things functionally from scratch.        (select only this node)     N_20200510161921a_ColinWright->N_20200510181505a_s-ol N_20210123205713a_s-ol    By s-ol 2021/01/23 @ 20:57:13a -------------------------------- Could you dump and mail or attach here in some way the DB representation of this discussion? It would be a great example dataset to prototype a new client with.        (select only this node)     N_20200510161921b_ColinWright->N_20210123205713a_s-ol N_20200510161921c_ColinWright    By ColinWright 2020/05/10 @ 16:19:21c -------------------------------- What would you want from me to help you, and what would you provide me in return? Let's see if we can help each other.        (select only this node)     N_20200510161921b_ColinWright->N_20200510161921c_ColinWright N_20210126115006a_s-ol    By s-ol 2021/01/26 @ 11:50:06a -------------------------------- My experiment is now live here: https://dag.s-ol.nu/        (select only this node)     N_20200510161921b_ColinWright->N_20210126115006a_s-ol N_20200510180222a_s-ol    By s-ol 2020/05/10 @ 18:02:22a -------------------------------- I would prefer to not be working on the client alone.        (select only this node)     N_20200510161921c_ColinWright->N_20200510180222a_s-ol N_20200510180057a_s-ol    By s-ol 2020/05/10 @ 18:00:57a -------------------------------- My biggest problem is that I have other stuff going on, and if this were to become a project I would like to take it seriously.        (select only this node)     N_20200510161921c_ColinWright->N_20200510180057a_s-ol N_20200510171915a_ColinWright->N_20200510154747a_ColinWright N_20200510171915a_ColinWright->N_20200510154331b_ColinWright N_20210126115853a_s-ol    By s-ol 2021/01/26 @ 11:58:53a -------------------------------- "activities" like "add user to group/discussion" are reified objects in ActivityPub. It might be interesting to view and place these as part of the graph as well, like this comment from the beginning of the discussion.        (select only this node)     N_20200510171915a_ColinWright->N_20210126115853a_s-ol N_20200510180532a_ColinWright    By ColinWright 2020/05/10 @ 18:05:32a -------------------------------- Excellent!        (select only this node)     N_20200510173824a_s-ol->N_20200510180532a_ColinWright N_20200510174054a_s-ol    By s-ol 2020/05/10 @ 17:40:54a -------------------------------- An alternative Mastodon UI only needs to reimplement (the relevant parts of) the client.        (select only this node)     N_20200510174013a_s-ol->N_20200510174054a_s-ol N_20210121233207a_s-ol    By s-ol 2021/01/21 @ 23:32:07a -------------------------------- I have not explored this in detail yet, but my intuition is now that the ideal solution would be a system with the following components:        (select only this node)     N_20200510174013a_s-ol->N_20210121233207a_s-ol N_20200510174214a_s-ol    By s-ol 2020/05/10 @ 17:42:14a -------------------------------- Such a solution automatically inherits all the features of the Mastodon data model and protocols (multiple users, federation), as long as it can stay with the models and protocols.        (select only this node)     N_20200510174054a_s-ol->N_20200510174214a_s-ol N_20200510174328a_s-ol    By s-ol 2020/05/10 @ 17:43:28a -------------------------------- I need to read more about this, but iirc the protocols mastodon uses have support for extensions. This is used e.g. for different types of embedded media, polls etc.        (select only this node)     N_20200510174214a_s-ol->N_20200510174328a_s-ol N_20200510174214a_s-ol->N_20200510175749a_s-ol N_20200510174417a_s-ol    By s-ol 2020/05/10 @ 17:44:17a -------------------------------- The core protocol probably only supports single-parent-replies, but multiple parents could likely be added using an extension.        (select only this node)     N_20200510174328a_s-ol->N_20200510174417a_s-ol N_20200510175239a_s-ol    By s-ol 2020/05/10 @ 17:52:39a -------------------------------- that might be all that is needed server/data-wise for a Mastodon-DAG-frontend.        (select only this node)     N_20200510174417a_s-ol->N_20200510175239a_s-ol N_20200510180018a_ColinWright    By ColinWright 2020/05/10 @ 18:00:18a -------------------------------- By default, currently a new node can be the child of any number of selected nodes.        (select only this node)     N_20200510175115a_s-ol->N_20200510180018a_ColinWright N_20200510183254a_s-ol    By s-ol 2020/05/10 @ 18:32:54a -------------------------------- I will try to read up a bit more on the existing data formats in the next week to find out what the relative difficulties and benefit's of the different implementation options would be.        (select only this node)     N_20200510175239a_s-ol->N_20200510183254a_s-ol N_20200510181030a_ColinWright    By ColinWright 2020/05/10 @ 18:10:30a -------------------------------- Not fully formed ... and there are several half-formed ideas all floating around.        (select only this node)     N_20200510175402a_s-ol->N_20200510181030a_ColinWright N_20200510175749a_s-ol->N_20200510181344a_s-ol N_20200510180047a_ColinWright    By ColinWright 2020/05/10 @ 18:00:47a -------------------------------- If you have exactly two nodes selected you can choose to connect them with an arrow.        (select only this node)     N_20200510180018a_ColinWright->N_20200510180047a_ColinWright N_20200510180018b_ColinWright    By ColinWright 2020/05/10 @ 18:00:18b -------------------------------- I'm thinking of limiting that to at most N, probably with N=3.        (select only this node)     N_20200510180018a_ColinWright->N_20200510180018b_ColinWright N_20210123144929a_s-ol    By s-ol 2021/01/23 @ 14:49:29a -------------------------------- This is consitent with the "Activity Vocabulary" spec: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-inreplyto        (select only this node)     N_20200510180018a_ColinWright->N_20210123144929a_s-ol N_20200510180145a_ColinWright    By ColinWright 2020/05/10 @ 18:01:45a -------------------------------- The ability to create new arrows then means limiting to N=3 isn't a major restriction, but it will prevent accidentally replying to, say, 23 nodes.        (select only this node)     N_20200510180018b_ColinWright->N_20200510180145a_ColinWright N_20200510180047a_ColinWright->N_20200510180145a_ColinWright N_20200510180320a_ColinWright    By ColinWright 2020/05/10 @ 18:03:20a -------------------------------- If the two selected nodes are already joined, you can remove the arrow, unless that would create an orphan.        (select only this node)     N_20200510180047a_ColinWright->N_20200510180320a_ColinWright N_20200510180242a_ColinWright    By ColinWright 2020/05/10 @ 18:02:42a -------------------------------- The default setting is that arrows can only point forward in time.        (select only this node)     N_20200510180047a_ColinWright->N_20200510180242a_ColinWright N_20200510180536a_s-ol    By s-ol 2020/05/10 @ 18:05:36a -------------------------------- Mastodon messages are immutable, so this wouldn't be trivial to implement.        (select only this node)     N_20200510180047a_ColinWright->N_20200510180536a_s-ol N_20200510180057a_s-ol->N_20200510182419a_ColinWright N_20200510181013a_s-ol    By s-ol 2020/05/10 @ 18:10:13a -------------------------------- This makes sense in the current implementation, but would better be solved with a confirmation dialog in a "well designed" modern UI.        (select only this node)     N_20200510180145a_ColinWright->N_20200510181013a_s-ol N_20200510180222a_s-ol->N_20200510182419a_ColinWright N_20200510180222a_s-ol->N_20200510181621a_s-ol N_20200510180242b_ColinWright    By ColinWright 2020/05/10 @ 18:02:42b -------------------------------- Some people (you and me, for example) are permitted to create arrows going backwards.        (select only this node)     N_20200510180242a_ColinWright->N_20200510180242b_ColinWright N_20200510180502a_s-ol    By s-ol 2020/05/10 @ 18:05:02a -------------------------------- This is consistent with the way messages in Mastodon work - you can only mention content that already exists.        (select only this node)     N_20200510180242a_ColinWright->N_20200510180502a_s-ol N_20200510180344a_ColinWright    By ColinWright 2020/05/10 @ 18:03:44a -------------------------------- For some people (you and me, for example) that restriction is lifted, and any arrows can be removed.        (select only this node)     N_20200510180320a_ColinWright->N_20200510180344a_ColinWright N_20200510180502a_s-ol->N_20200510180536a_s-ol N_20200510182205a_ColinWright    By ColinWright 2020/05/10 @ 18:22:05a -------------------------------- Agreed, although it's not clear that the existing interface/API would allow multiple parents at all.        (select only this node)     N_20200510180536a_s-ol->N_20200510182205a_ColinWright N_20200510181921a_ColinWright    By ColinWright 2020/05/10 @ 18:19:21a -------------------------------- Perhaps "Warning" rather than "Confirmation", but yes. Even so, the ability to add arrows means the restriction wouldn't be onerous.        (select only this node)     N_20200510181013a_s-ol->N_20200510181921a_ColinWright N_20200510181030b_ColinWright    By ColinWright 2020/05/10 @ 18:10:30b -------------------------------- One is along the lines of the Twitter -> Mastodon cross-poster I'm writing. So a DiscDAG node that contains a reference to a comment somewhere else transcludes the content, and has a link back to there in case someone wants to go there.        (select only this node)     N_20200510181030a_ColinWright->N_20200510181030b_ColinWright N_20200510181132a_ColinWright    By ColinWright 2020/05/10 @ 18:11:32a -------------------------------- There's the challenge of "on-boarding" people, but that mostly goes away if this is just an interface to an existing system, such as Mastodon.        (select only this node)     N_20200510181030a_ColinWright->N_20200510181132a_ColinWright N_20200510181030c_ColinWright    By ColinWright 2020/05/10 @ 18:10:30c -------------------------------- Then the parents and children are *also* transcluded, but only one generation in each direction.        (select only this node)     N_20200510181030b_ColinWright->N_20200510181030c_ColinWright N_20200510181030d_ColinWright    By ColinWright 2020/05/10 @ 18:10:30d -------------------------------- But migrating across social media is a significantly hard problem everywhere.        (select only this node)     N_20200510181030c_ColinWright->N_20200510181030d_ColinWright N_20210121232835a_s-ol    By s-ol 2021/01/21 @ 23:28:35a -------------------------------- I do not understand this fully, but I've seen twitter, mastodon, and email threads "imported" into DiscDAG.        (select only this node)     N_20200510181030c_ColinWright->N_20210121232835a_s-ol N_20200510181344a_s-ol->N_20200510181505a_s-ol N_20210121231940a_s-ol    By s-ol 2021/01/21 @ 23:19:40a -------------------------------- A more deliberately crafted UI could trim or "fade out" remote and isolated branches of the graph (unrelated forks that never make a connection to the selection).        (select only this node)     N_20200510181344a_s-ol->N_20210121231940a_s-ol N_20200510181505a_s-ol->N_20200510181621a_s-ol N_20200510181505a_s-ol->N_20200510182419a_ColinWright N_20210121232348a_s-ol    By s-ol 2021/01/21 @ 23:23:48a -------------------------------- I think a tablet would be the perfect physical interface for this medium.        (select only this node)     N_20200510181505a_s-ol->N_20210121232348a_s-ol N_20200510181921b_ColinWright    By ColinWright 2020/05/10 @ 18:19:21b -------------------------------- The question is in the detail of how to enforce it. I'm considering not allowing more than N nodes to be selected anyway, but that has its own problems.        (select only this node)     N_20200510181921a_ColinWright->N_20200510181921b_ColinWright N_20200510181921c_ColinWright    By ColinWright 2020/05/10 @ 18:19:21c -------------------------------- For one thing, it severely restricts "Neighbourhood" mode.        (select only this node)     N_20200510181921b_ColinWright->N_20200510181921c_ColinWright N_20200510182205a_ColinWright->N_20200510183254a_s-ol N_20200510182205b_ColinWright    By ColinWright 2020/05/10 @ 18:22:05b -------------------------------- One could have a structural meta-node whose content is "I have text from N, and parents A, B, and C".        (select only this node)     N_20200510182205a_ColinWright->N_20200510182205b_ColinWright N_20200510182205c_ColinWright    By ColinWright 2020/05/10 @ 18:22:05c -------------------------------- That would effectively allow new arrows to be created (thinking out loud).        (select only this node)     N_20200510182205b_ColinWright->N_20200510182205c_ColinWright N_20200510183111a_s-ol    By s-ol 2020/05/10 @ 18:31:11a -------------------------------- Similarly I thought about having a new type of message that just represents a single edge in the graph.        (select only this node)     N_20200510182205b_ColinWright->N_20200510183111a_s-ol N_20200510182205c_ColinWright->N_20200510183111a_s-ol N_20200510182605b_s-ol    By s-ol 2020/05/10 @ 18:26:05b -------------------------------- Email redacted        (select only this node)     N_20200510182605a_s-ol->N_20200510182605b_s-ol N_20200510182850a_ColinWright    By ColinWright 2020/05/10 @ 18:28:50a -------------------------------- Address changed.        (select only this node)     N_20200510182605b_s-ol->N_20200510182850a_ColinWright N_20210122120006a_ColinWright    By ColinWright 2021/01/22 @ 12:00:06a -------------------------------- I'm thinking of redacting this email address to avoid leaking it, and was wondering if you'd be happy for the discussion to be made public. When I'm finished my current work (in a few days) I'm thinking about inviting a few people to read the discussion, and potentially join in.        (select only this node)     N_20200510182605b_s-ol->N_20210122120006a_ColinWright N_20200510183111a_s-ol->N_20200510183254a_s-ol N_20210121164835a_s-ol    By s-ol 2021/01/21 @ 16:48:35a -------------------------------- Predictably, I had not found time to read up on existing data formats the following week.        (select only this node)     N_20200510183254a_s-ol->N_20210121164835a_s-ol N_20200510184005a_ColinWright    By ColinWright 2020/05/10 @ 18:40:05a -------------------------------- Cool. I'll look at making some changes to this implementation.        (select only this node)     N_20200510183254a_s-ol->N_20200510184005a_ColinWright N_20200510184031a_ColinWright    By ColinWright 2020/05/10 @ 18:40:31a -------------------------------- The "Show Newer" feature is broken, so I need to look at restoring that.        (select only this node)     N_20200510184005a_ColinWright->N_20200510184031a_ColinWright N_20200510184328a_ColinWright    By ColinWright 2020/05/10 @ 18:43:28a -------------------------------- Wondering about "Ephemeral Nodes", nodes that only live for an hour (say).        (select only this node)     N_20200510184005a_ColinWright->N_20200510184328a_ColinWright N_20200510184005b_ColinWright    By ColinWright 2020/05/10 @ 18:40:05b -------------------------------- One thing that could be useful would be an "Archive this node" feature to hide things you've read and don't need to see again, unless they are answered to.        (select only this node)     N_20200510184005a_ColinWright->N_20200510184005b_ColinWright N_20200510184100a_ColinWright    By ColinWright 2020/05/10 @ 18:41:00a -------------------------------- Other suggestions welcome.        (select only this node)     N_20200510184005b_ColinWright->N_20200510184100a_ColinWright N_20210126143704a_s-ol    By s-ol 2021/01/26 @ 14:37:04a -------------------------------- Can you share your current graphviz configuration / template?        (select only this node)     N_20210126153101a_ColinWright    By ColinWright 2021/01/26 @ 15:31:01a -------------------------------- The dot command is simply:        (select only this node)     N_20210126143704a_s-ol->N_20210126153101a_ColinWright N_20210126143704b_s-ol    By s-ol 2021/01/26 @ 14:37:04b -------------------------------- I don't need the visual / content parts, I just want to give it a graph with IDs and width/height for each node and slurp the positions and edge splines back in via the JSON or plain format.        (select only this node)     N_20210126143704a_s-ol->N_20210126143704b_s-ol N_20200510184328b_ColinWright    By ColinWright 2020/05/10 @ 18:43:28b -------------------------------- Example, me saying "OK, I'm done for now, catch you later"        (select only this node)     N_20200510184328a_ColinWright->N_20200510184328b_ColinWright N_20200510184328a_ColinWright->N_20200510184100a_ColinWright N_20210121164643a_s-ol    By s-ol 2021/01/21 @ 16:46:43a -------------------------------- If it lives only for one hour, and I do not rely on email notifications (which inadequately captures the conversation), I can and will miss such a message.        (select only this node)     N_20200510184328b_ColinWright->N_20210121164643a_s-ol N_20210126133103a_ColinWright    By ColinWright 2021/01/26 @ 13:31:03a -------------------------------- The jiggling would drive me nuts, but the "adapting" nature is seductive. But no.        (select only this node)     N_20200510184031a_ColinWright->N_20200510184100a_ColinWright N_20200510195402a_ColinWright    By ColinWright 2020/05/10 @ 19:54:02a -------------------------------- OK, I've fixed "Newer" as a "one shot" display, but it doesn't remember the setting.        (select only this node)     N_20200510184031a_ColinWright->N_20200510195402a_ColinWright N_20210121204008a_ColinWright    By ColinWright 2021/01/21 @ 20:40:08a -------------------------------- But for some nodes, that would be what's wanted. Sometimes you want to say something like "Back in a minute" ... that doesn't need to persist, and if you don't see it at the time it doesn't matter.        (select only this node)     N_20210121164643a_s-ol->N_20210121204008a_ColinWright N_20210121164729a_s-ol    By s-ol 2021/01/21 @ 16:47:29a -------------------------------- Instead, I would propose to have nodes that exist only until dismissed, or viewed the first time.        (select only this node)     N_20210121164643a_s-ol->N_20210121164729a_s-ol N_20210121204312a_ColinWright    By ColinWright 2021/01/21 @ 20:43:12a -------------------------------- Certainly there is value in having the ability to dismiss or hide nodes ... I'll think about that.        (select only this node)     N_20210121164729a_s-ol->N_20210121204312a_ColinWright N_20210121165029a_s-ol    By s-ol 2021/01/21 @ 16:50:29a -------------------------------- I also found this project, that seems useful and a good starting point, although it is somewhat hard to grasp which parts they actually built: https://semapps.org/docs/guides/ldp-server        (select only this node)     N_20210121164835a_s-ol->N_20210121165029a_s-ol N_20210121164910a_s-ol    By s-ol 2021/01/21 @ 16:49:10a -------------------------------- However, I found this nice page detailing how Mastodon interacts with ActivityPub at large: https://docs.joinmastodon.org/spec/activitypub/        (select only this node)     N_20210121164835a_s-ol->N_20210121164910a_s-ol N_20210121164910a_s-ol->N_20210121233207a_s-ol N_20210121232648a_ColinWright    By ColinWright 2021/01/21 @ 23:26:48a -------------------------------- I'll go check those out in a day or two, thanks. Currently I'm working on an urgent task, but I've made a node of them.        (select only this node)     N_20210121164910a_s-ol->N_20210121232648a_ColinWright N_20210121165400a_s-ol    By s-ol 2021/01/21 @ 16:54:00a -------------------------------- I gather that they use a triple store ("Jena Fuseki"), which is inherently graph-based and would be ideal for DiscDAG.        (select only this node)     N_20210121165029a_s-ol->N_20210121165400a_s-ol N_20210121165549a_s-ol    By s-ol 2021/01/21 @ 16:55:49a -------------------------------- Some sort of user/permission system that is compatible with ActivityPub/Mastodon seems to be included: https://semapps.org/docs/guides/activitypub        (select only this node)     N_20210121165029a_s-ol->N_20210121165549a_s-ol N_20210121165400a_s-ol->N_20210121232648a_ColinWright N_20210121165549a_s-ol->N_20210121232648a_ColinWright N_20210121231518a_s-ol    By s-ol 2021/01/21 @ 23:15:18a -------------------------------- True, I can see the utility of either now. I think it depends a lot on the mode of conversation/use: fast-paced, chat-like, or slow, deliberate, wiki-ish.        (select only this node)     N_20210121204008a_ColinWright->N_20210121231518a_s-ol N_20210121204312b_ColinWright    By ColinWright 2021/01/21 @ 20:43:12b -------------------------------- When a discussion gets large it certainly needs some way to reduce what's shown.        (select only this node)     N_20210121204312a_ColinWright->N_20210121204312b_ColinWright N_20210121204312a_ColinWright->N_20210121231518a_s-ol N_20210121204312b_ColinWright->N_20210121231940a_s-ol N_20210121232058a_ColinWright    By ColinWright 2021/01/21 @ 23:20:58a -------------------------------- I think that's one weakness of this system. It doesn't easily facilitate the distillation of the discussion into a "document"        (select only this node)     N_20210121231518a_s-ol->N_20210121232058a_ColinWright N_20210121231940b_s-ol    By s-ol 2021/01/21 @ 23:19:40b -------------------------------- Any feature that hides content must be matched with a feature to find content though, so that the hiding does not lead to loss or duplication of content.        (select only this node)     N_20210121231940a_s-ol->N_20210121231940b_s-ol N_20210121232252a_ColinWright    By ColinWright 2021/01/21 @ 23:22:52a -------------------------------- Agreed ... that's in the plan (such as it is)        (select only this node)     N_20210121231940a_s-ol->N_20210121232252a_ColinWright N_20210121232351a_ColinWright    By ColinWright 2021/01/21 @ 23:23:51a -------------------------------- The "Search" feature exists, and that could have an option to specify time ranges or other "near and far" type ideas.        (select only this node)     N_20210121231940b_s-ol->N_20210121232351a_ColinWright N_20210121232058b_ColinWright    By ColinWright 2021/01/21 @ 23:20:58b -------------------------------- The original C2 wiki had the culture of starting in discussion-mode, and then working together in good faith to converge to document-mode.        (select only this node)     N_20210121232058a_ColinWright->N_20210121232058b_ColinWright N_20210121232058c_ColinWright    By ColinWright 2021/01/21 @ 23:20:58c -------------------------------- I haven't forgotten that, and am still working on how to achieve it.        (select only this node)     N_20210121232058b_ColinWright->N_20210121232058c_ColinWright N_20210122095153a_s-ol    By s-ol 2021/01/22 @ 09:51:53a -------------------------------- My immediate idea would be to introduce another kind of edge that denotes a "content equivalency".        (select only this node)     N_20210121232058b_ColinWright->N_20210122095153a_s-ol N_20210121232252a_ColinWright->N_20210121232351a_ColinWright N_20210121232348b_s-ol    By s-ol 2021/01/21 @ 23:23:48b -------------------------------- Gestural navigation maps to this kind of spacial structure much better than scrolling and probably also mouse-based interaction.        (select only this node)     N_20210121232348a_s-ol->N_20210121232348b_s-ol N_20210121232348c_s-ol    By s-ol 2021/01/21 @ 23:23:48c -------------------------------- Smartphones are essentially the same but the lack of screen real estate makes it somewhat uncomfortable to read.        (select only this node)     N_20210121232348b_s-ol->N_20210121232348c_s-ol N_20231120224157a_s-ol    By s-ol 2023/11/20 @ 22:41:57a -------------------------------- To avoid the layout problem, I've been thinking about navigation by scrolling "on rails".        (select only this node)     N_20210121232348c_s-ol->N_20231120224157a_s-ol N_20210121233221a_ColinWright    By ColinWright 2021/01/21 @ 23:32:21a -------------------------------- The idea is to allow some form of "cross-connection". So if a node here mentions a comment on, say, Mastodon, then a node is auto-created containing that Mastodon content. Clicking on *that* node would then take you to Mastodon.        (select only this node)     N_20210121232835a_s-ol->N_20210121233221a_ColinWright N_20210121232835a_s-ol->N_20210121233207a_s-ol N_20210121233335a_s-ol    By s-ol 2021/01/21 @ 23:33:35a -------------------------------- a front-end that knows how to display various kinds of messages/schemas (including common AcrivityPub statuses) that are linked in a DAG        (select only this node)     N_20210121233207a_s-ol->N_20210121233335a_s-ol N_20210121233335a_ColinWright    By ColinWright 2021/01/21 @ 23:33:35a -------------------------------- (This would be an ephemeral node ... I need to go, it's late and I have an early start. I'm enjoying this ... thank you for your thoughts, and I'll get back to you when I can)        (select only this node)     N_20210121233207a_s-ol->N_20210121233335a_ColinWright N_20210121233422a_s-ol    By s-ol 2021/01/21 @ 23:34:22a -------------------------------- an ActivityPub server        (select only this node)     N_20210121233207a_s-ol->N_20210121233422a_s-ol N_20210121233221b_ColinWright    By ColinWright 2021/01/21 @ 23:32:21b -------------------------------- Or something ... not fully fleshed out.        (select only this node)     N_20210121233221a_ColinWright->N_20210121233221b_ColinWright N_20210121233627a_s-ol    By s-ol 2021/01/21 @ 23:36:27a -------------------------------- The server can federate with other servers using the same (custom) ActivityPub extensions to create a distributed DAG        (select only this node)     N_20210121233422a_s-ol->N_20210121233627a_s-ol N_20210121233718a_s-ol    By s-ol 2021/01/21 @ 23:37:18a -------------------------------- The server can also federate with Mastodon instances, with a reduced feature set roughly equivalent to imported Mastodon conversations here.        (select only this node)     N_20210121233422a_s-ol->N_20210121233718a_s-ol N_20210121233522a_s-ol    By s-ol 2021/01/21 @ 23:35:22a -------------------------------- Users signed up on the server can post, link, etc. much like in this implementation        (select only this node)     N_20210121233422a_s-ol->N_20210121233522a_s-ol N_20220112100521a_s-ol    By s-ol 2022/01/12 @ 10:05:21a -------------------------------- Implementing this federation logic is time-consuming and comparatively complicated.        (select only this node)     N_20210121233627a_s-ol->N_20220112100521a_s-ol N_20220112100612a_s-ol    By s-ol 2022/01/12 @ 10:06:12a -------------------------------- Given that this is a new concept, this will not be relevant until many more people are interested in this kind of system.        (select only this node)     N_20210121233627a_s-ol->N_20220112100612a_s-ol N_20220112101327a_s-ol    By s-ol 2022/01/12 @ 10:13:27a -------------------------------- Mastodon-space users could interact with simple comments ("What do you mean?", "Can you link that?") and these would be meaningful additions to the DAG        (select only this node)     N_20210121233718a_s-ol->N_20220112101327a_s-ol N_20220112101210a_s-ol    By s-ol 2022/01/12 @ 10:12:10a -------------------------------- It would be nice if mastodon-space users could be aware of fedidag discussions going on (so that people might become interested)        (select only this node)     N_20210121233718a_s-ol->N_20220112101210a_s-ol N_20210121233718a_s-ol->N_20220112100521a_s-ol N_20220112101128a_s-ol    By s-ol 2022/01/12 @ 10:11:28a -------------------------------- Mastodon-space users would have problems making sense of a fedidag conversation.        (select only this node)     N_20210121233718a_s-ol->N_20220112101128a_s-ol N_20210122095153b_s-ol    By s-ol 2021/01/22 @ 09:51:53b -------------------------------- Then you can select a bunch of nodes and summarize / integrate / rephrase them in a new node that inherits their connections to outside nodes but drops connections between those replaced.        (select only this node)     N_20210122095153a_s-ol->N_20210122095153b_s-ol N_20210122102724a_ColinWright    By ColinWright 2021/01/22 @ 10:27:24a -------------------------------- Perhaps have a "meta-node" that "overlays" a set of selected nodes.        (select only this node)     N_20210122095153a_s-ol->N_20210122102724a_ColinWright N_20210122095153b_s-ol->N_20210122102724a_ColinWright N_20220112110510a_s-ol    By s-ol 2022/01/12 @ 11:05:10a -------------------------------- These work essentially the same, only that a user generated summary is permanent, whereas a hidden subgraph is autogenerated and temporary / user-local        (select only this node)     N_20210122102724a_ColinWright->N_20220112110510a_s-ol N_20210122102724b_ColinWright    By ColinWright 2021/01/22 @ 10:27:24b -------------------------------- Select several nodes, write an "overlay" or "summary", and click "Save".        (select only this node)     N_20210122102724a_ColinWright->N_20210122102724b_ColinWright N_20210122102724c_ColinWright    By ColinWright 2021/01/22 @ 10:27:24c -------------------------------- Then the selected nodes are not displayed, this new node is, and inherits the incoming and outgoing links from the group.        (select only this node)     N_20210122102724b_ColinWright->N_20210122102724c_ColinWright N_20210122102724d_ColinWright    By ColinWright 2021/01/22 @ 10:27:24d -------------------------------- There is a "Button" on the "meta-node" that reveals the ones underneath, so one can peel back the history.        (select only this node)     N_20210122102724c_ColinWright->N_20210122102724d_ColinWright N_20210126133445b_ColinWright    By ColinWright 2021/01/26 @ 13:34:45b -------------------------------- Given an initial "Very Good" layout, one can (mostly) deal with collapsing, fading, etc, "in place" with live shrinking and expanding.        (select only this node)     N_20210126133445c_ColinWright    By ColinWright 2021/01/26 @ 13:34:45c -------------------------------- When nodes or links are added, one can keep a sense of "strain", and then jiggle for a limited time if it's not too bad, and dramatically re-render is it's over some limit.        (select only this node)     N_20210126133445b_ColinWright->N_20210126133445c_ColinWright N_20210126133445b_ColinWright->N_20210126143704a_s-ol N_20210122120006b_ColinWright    By ColinWright 2021/01/22 @ 12:00:06b -------------------------------- But this started as a discussion between us, so I wanted your thoughts. Nothing will happen for a few days at least.        (select only this node)     N_20210122120006a_ColinWright->N_20210122120006b_ColinWright N_20210122142745a_s-ol    By s-ol 2021/01/22 @ 14:27:45a -------------------------------- Yes! In fact I was about to ask for this to be made public so I could show it to some friends as well. So please do redact and publicize :)        (select only this node)     N_20210122120006a_ColinWright->N_20210122142745a_s-ol N_20220112095736a_s-ol    By s-ol 2022/01/12 @ 09:57:36a -------------------------------- My Mastodon instance is creating their own forum and software. I mentioned this discussion and system when someone brought up "multi-parent replies" as a feature. https://forum.merveilles.town/thread/4/about-this-forum%2c-and-what%27s-to-come/        (select only this node)     N_20210122142745a_s-ol->N_20220112095736a_s-ol N_20210122151850a_ColinWright    By ColinWright 2021/01/22 @ 15:18:50a -------------------------------- Now "World Readable".        (select only this node)     N_20210122142745a_s-ol->N_20210122151850a_ColinWright N_20210122145058a_ColinWright    By ColinWright 2021/01/22 @ 14:50:58a -------------------------------- OK, redacted, and I'm about to make this publicly readable.        (select only this node)     N_20210122142745a_s-ol->N_20210122145058a_ColinWright N_20210122145058b_ColinWright    By ColinWright 2021/01/22 @ 14:50:58b -------------------------------- I still don't have a convenient way to invite people to contribute. The lesson of Skype versus Zoom is one I need to internalise and implement        (select only this node)     N_20210122145058a_ColinWright->N_20210122145058b_ColinWright N_20210122145058a_ColinWright->N_20210122151850a_ColinWright N_20210123144929b_s-ol    By s-ol 2021/01/23 @ 14:49:29b -------------------------------- Mastodon does not support replying to multiple posts in it's UI, but I wonder how it deals with such messages arriving via federation.        (select only this node)     N_20210123144929a_s-ol->N_20210123144929b_s-ol N_20210123212726a_ColinWright    By ColinWright 2021/01/23 @ 21:27:26a -------------------------------- You have email ... let me know if it does what you need. If not we can talk about other options.        (select only this node)     N_20210123205713a_s-ol->N_20210123212726a_ColinWright N_20210123205713a_s-ol->N_20210126115006a_s-ol N_20210123215321a_s-ol    By s-ol 2021/01/23 @ 21:53:21a -------------------------------- That will do nicely, thanks :)        (select only this node)     N_20210123212726a_ColinWright->N_20210123215321a_s-ol N_20210126115006b_s-ol    By s-ol 2021/01/26 @ 11:50:06b -------------------------------- Currently the data is hardcoded.        (select only this node)     N_20210126115006a_s-ol->N_20210126115006b_s-ol N_20210126115131a_s-ol    By s-ol 2021/01/26 @ 11:51:31a -------------------------------- I want to be able to collapse a node, which should cause all nodes that can only be reached via that node to be hidden as well. The node would be replaced by a marker that can be clicked to expand the subgraph again.        (select only this node)     N_20210126115006a_s-ol->N_20210126115131a_s-ol N_20210126115006a_s-ol->N_20210126115853a_s-ol N_20210126115636a_s-ol    By s-ol 2021/01/26 @ 11:56:36a -------------------------------- I want to separate the two concepts of choosing parents for composition and selecting nodes.        (select only this node)     N_20210126115006a_s-ol->N_20210126115636a_s-ol N_20210126115958a_s-ol    By s-ol 2021/01/26 @ 11:59:58a -------------------------------- I worry about "the layout problem".        (select only this node)     N_20210126115006a_s-ol->N_20210126115958a_s-ol N_20220112095046a_s-ol    By s-ol 2022/01/12 @ 09:50:46a -------------------------------- These features are currently implemented.        (select only this node)     N_20210126115006a_s-ol->N_20220112095046a_s-ol N_20210126115327a_s-ol    By s-ol 2021/01/26 @ 11:53:27a -------------------------------- I want to be able to embed media like in mastodon posts.        (select only this node)     N_20210126115006a_s-ol->N_20210126115327a_s-ol N_20220112112743a_s-ol    By s-ol 2022/01/12 @ 11:27:43a -------------------------------- It supports a hardcoded graph (a mirror of this discussion) and loading Mastodon threads.        (select only this node)     N_20210126115006b_s-ol->N_20220112112743a_s-ol N_20220124111442a_s-ol    By s-ol 2022/01/24 @ 11:14:42a -------------------------------- It supports loading Discussions from DiscDAG        (select only this node)     N_20210126115006b_s-ol->N_20220124111442a_s-ol N_20210126120119a_s-ol    By s-ol 2021/01/26 @ 12:01:19a -------------------------------- The collapsing feature implies that for good UX, the layout needs to change while the user interacts with the page.        (select only this node)     N_20210126115131a_s-ol->N_20210126120119a_s-ol N_20210126123200a_ColinWright    By ColinWright 2021/01/26 @ 12:32:00a -------------------------------- One might put buttons for "hide ancestors" and "hide descendants" as a form of folding, although then it would be useful to be able to selective re-enable subsets.        (select only this node)     N_20210126115131a_s-ol->N_20210126123200a_ColinWright N_20210126115131a_s-ol->N_20220112110510a_s-ol N_20210126115327b_s-ol    By s-ol 2021/01/26 @ 11:53:27b -------------------------------- I wonder whether the media should be "attached" to notes like on mastodon (one note can have 1-3 pictures OR one video OR one audio file), or whether each media element should be a freestanding node.        (select only this node)     N_20210126115327a_s-ol->N_20210126115327b_s-ol N_20210126120306a_s-ol    By s-ol 2021/01/26 @ 12:03:06a -------------------------------- Different types of content means that nodes may have varying sizes across a rather wide spectrum.        (select only this node)     N_20210126115327a_s-ol->N_20210126120306a_s-ol N_20210126115327c_s-ol    By s-ol 2021/01/26 @ 11:53:27c -------------------------------- The latter seems more aligned with the principles of DiscDAG, but I wonder about fediverse-interoperability.        (select only this node)     N_20210126115327b_s-ol->N_20210126115327c_s-ol N_20210126153714a_s-ol    By s-ol 2021/01/26 @ 15:37:14a -------------------------------- yes please :)        (select only this node)     N_20210126115636b_s-ol    By s-ol 2021/01/26 @ 11:56:36b -------------------------------- You can select as many nodes as you want into a sort of staging area.        (select only this node)     N_20210126115636c_s-ol    By s-ol 2021/01/26 @ 11:56:36c -------------------------------- When you compose a new node, you can choose a subset of the staged nodes as parents.        (select only this node)     N_20210126115636b_s-ol->N_20210126115636c_s-ol N_20210126115636d_s-ol    By s-ol 2021/01/26 @ 11:56:36d -------------------------------- I think composing should then replace that subset with the newly created nodes, but I am unsure.        (select only this node)     N_20210126115636c_s-ol->N_20210126115636d_s-ol N_20210126115958a_s-ol->N_20231120224157a_s-ol N_20210126122925a_ColinWright    By ColinWright 2021/01/26 @ 12:29:25a -------------------------------- The layout there really is a problem, more-so than it is here.        (select only this node)     N_20210126115958a_s-ol->N_20210126122925a_ColinWright N_20210126115958a_s-ol->N_20210126120306a_s-ol N_20210126115958a_s-ol->N_20210126120119a_s-ol N_20210126120430a_s-ol    By s-ol 2021/01/26 @ 12:04:30a -------------------------------- This is hard to do from a technical and UX standpoint:        (select only this node)     N_20210126120119a_s-ol->N_20210126120430a_s-ol N_20210126120454a_s-ol    By s-ol 2021/01/26 @ 12:04:54a -------------------------------- It needs to minimize movement of nodes (that are currently visible)        (select only this node)     N_20210126120430a_s-ol->N_20210126120454a_s-ol N_20210126120430b_s-ol    By s-ol 2021/01/26 @ 12:04:30b -------------------------------- It needs to work in (near)real-time        (select only this node)     N_20210126120430a_s-ol->N_20210126120430b_s-ol N_20210126130825a_s-ol    By s-ol 2021/01/26 @ 13:08:25a -------------------------------- A force-based layout (https://observablehq.com/@d3/force-directed-graph) seems to fit the bill, but sounds fiddly. I don't want what I'm reading to be constantly in motion (or worse, oscillation).        (select only this node)     N_20210126120430b_s-ol->N_20210126130825a_s-ol N_20210126120454a_s-ol->N_20210126130825a_s-ol N_20210126153101b_ColinWright    By ColinWright 2021/01/26 @ 15:31:01b -------------------------------- dot -Gcharset=latin1 %s.dot -Tsvg -o %s.svg        (select only this node)     N_20210126153101a_ColinWright->N_20210126153101b_ColinWright N_20210126130513a_s-ol    By s-ol 2021/01/26 @ 13:05:13a -------------------------------- Yes. I might move to vis.js, which is a dirtily cross-compiled graphviz version on the web, but it will still not be able to do any kind of iterative/realtime graph updates.        (select only this node)     N_20210126122925a_ColinWright->N_20210126130513a_s-ol N_20210126122925b_ColinWright    By ColinWright 2021/01/26 @ 12:29:25b -------------------------------- There's a challenge between showing enough to let the conversation flow, versus showing so much as to over-whelm the reader.        (select only this node)     N_20210126122925a_ColinWright->N_20210126122925b_ColinWright N_20220112112034a_s-ol    By s-ol 2022/01/12 @ 11:20:34a -------------------------------- When a user first enters a discussion, the graph could be (almost) completely collapsed.        (select only this node)     N_20210126122925b_ColinWright->N_20220112112034a_s-ol N_20210126122925b_ColinWright->N_20210126123200a_ColinWright N_20210126123200b_ColinWright    By ColinWright 2021/01/26 @ 12:32:00b -------------------------------- It's hard.        (select only this node)     N_20210126123200a_ColinWright->N_20210126123200b_ColinWright N_20220112111108a_s-ol    By s-ol 2022/01/12 @ 11:11:08a -------------------------------- It would be nice to be able to "peek" into a hidden node (i.e. open that subgraph in an overlay, without relayouting the parent graph).        (select only this node)     N_20210126123200a_ColinWright->N_20220112111108a_s-ol N_20220112095046a_s-ol->N_20220112112743a_s-ol N_20220124111527a_s-ol    By s-ol 2022/01/24 @ 11:15:27a -------------------------------- DiscDAG discussions can now be replied to via fedidag!        (select only this node)     N_20220112095046a_s-ol->N_20220124111527a_s-ol N_20220112095046a_s-ol->N_20210126130513a_s-ol N_20220112095046a_s-ol->N_20220124111442a_s-ol N_20220112095046a_s-ol->N_20210126115131a_s-ol N_20220112095046a_s-ol->N_20210126115327a_s-ol N_20210126131106a_s-ol    By s-ol 2021/01/26 @ 13:11:06a -------------------------------- Perhaps a hybrid approach could work: start with the layout as per graphviz (near-ideal topology, but not accounting well for node size), then iteratively minimize wasted space and freeze simulation.        (select only this node)     N_20210126130513a_s-ol->N_20210126131106a_s-ol N_20210126130513a_s-ol->N_20210126143704a_s-ol N_20210126130825b_s-ol    By s-ol 2021/01/26 @ 13:08:25b -------------------------------- It also lacks most kinds of "global" awareness (link crossing minimization).        (select only this node)     N_20210126130825a_s-ol->N_20210126130825b_s-ol N_20210126130825a_s-ol->N_20210126133103a_ColinWright N_20210126130825b_s-ol->N_20210126131106a_s-ol N_20210126133445a_ColinWright    By ColinWright 2021/01/26 @ 13:34:45a -------------------------------- These are the sorts of ideas that need exploring for usability.        (select only this node)     N_20210126131106a_s-ol->N_20210126133445a_ColinWright N_20210126131106b_s-ol    By s-ol 2021/01/26 @ 13:11:06b -------------------------------- When content is added or removed, place it with a cheap heuristic and run the force-based layouting again for a short time (~1s) to make space for new content or reclaim wasted real estate.        (select only this node)     N_20210126131106a_s-ol->N_20210126131106b_s-ol N_20210126131106b_s-ol->N_20210126133445a_ColinWright N_20210126131106c_s-ol    By s-ol 2021/01/26 @ 13:11:06c -------------------------------- Naturally this would struggle with bigger changes (collapsing or uncollapsing a big subgraph)        (select only this node)     N_20210126131106b_s-ol->N_20210126131106c_s-ol N_20210126131106c_s-ol->N_20220112111108a_s-ol N_20210126115636a_s-ol->N_20210126115636b_s-ol N_20210126133445a_ColinWright->N_20210126133445b_ColinWright N_20210126153101c_ColinWright    By ColinWright 2021/01/26 @ 15:31:01c -------------------------------- Would you like me to email a dot file to you?        (select only this node)     N_20210126153101b_ColinWright->N_20210126153101c_ColinWright N_20210126153101c_ColinWright->N_20210126153714a_s-ol N_20220112100921a_s-ol    By s-ol 2022/01/12 @ 10:09:21a -------------------------------- Therefore, maybe it is a good idea to build another "standalone" database/serverside component (like the original DiscDAG.py).        (select only this node)     N_20220112100521a_s-ol->N_20220112100921a_s-ol N_20220112100612a_s-ol->N_20220112100921a_s-ol N_20220112100921b_s-ol    By s-ol 2022/01/12 @ 10:09:21b -------------------------------- This reimplementation should already use JSON-LD, the ActivityStreams vocabulary, etc., so that adding federation and mastodon-cross-federation is an easier task later on.        (select only this node)     N_20220112100921a_s-ol->N_20220112100921b_s-ol N_20220112101128a_s-ol->N_20220112100921a_s-ol N_20220112101718a_s-ol    By s-ol 2022/01/12 @ 10:17:18a -------------------------------- However Mastodon-space users won't be aware of "good DAG tone" (e.g. splitting separate ideas out into separate nodes)        (select only this node)     N_20220112101327a_s-ol->N_20220112101718a_s-ol N_20220112101417a_s-ol    By s-ol 2022/01/12 @ 10:14:17a -------------------------------- However it is also likely that they will create duplicate nodes, because the Mastodon UI won't allow them to find the context they need        (select only this node)     N_20220112101327a_s-ol->N_20220112101417a_s-ol N_20220112101417a_s-ol->N_20220112100921a_s-ol N_20220112101718a_s-ol->N_20220112100921a_s-ol N_20220112111108b_s-ol    By s-ol 2022/01/12 @ 11:11:08b -------------------------------- This would give access to the contained nodes, and you could then have a "force show" action on each node.        (select only this node)     N_20220112111108a_s-ol->N_20220112111108b_s-ol N_20220112122338a_ColinWright    By ColinWright 2022/01/12 @ 12:23:38a -------------------------------- Absolutely there is a place for having the graph laid out "underneath", and then nodes are expanded or not, visible or not, without requiring re-layouts.        (select only this node)     N_20220112111108b_s-ol->N_20220112122338a_ColinWright N_20220112122216a_ColinWright    By ColinWright 2022/01/12 @ 12:22:16a -------------------------------- I currently do something similar by clicking on a node with "open in new tab".        (select only this node)     N_20220112111108b_s-ol->N_20220112122216a_ColinWright N_20220112112034b_s-ol    By s-ol 2022/01/12 @ 11:20:34b -------------------------------- The UI then shows neighbouring nodes (and how large the subgraphs behind them are) and the user can choose which direction to unfold first.        (select only this node)     N_20220112112034a_s-ol->N_20220112112034b_s-ol N_20220112112034c_s-ol    By s-ol 2022/01/12 @ 11:20:34c -------------------------------- When a direction is chosen, only *some* nodes in that direction are chosen (e.g. max 15, based on some "interconnectedness" heuristic) and unfolded.        (select only this node)     N_20220112112034b_s-ol->N_20220112112034c_s-ol N_20220112112034d_s-ol    By s-ol 2022/01/12 @ 11:20:34d -------------------------------- Ideally, the positioning of old nodes stays constant (at least relative to each other) when exploring further.        (select only this node)     N_20220112112034c_s-ol->N_20220112112034d_s-ol N_20220112112034e_s-ol    By s-ol 2022/01/12 @ 11:20:34e -------------------------------- This allows navigating the discussion using spatial memory.        (select only this node)     N_20220112112034d_s-ol->N_20220112112034e_s-ol N_20220112112034e_s-ol->N_20220112122216a_ColinWright N_20220112112034e_s-ol->N_20220112122338a_ColinWright N_20220112122751a_ColinWright    By ColinWright 2022/01/12 @ 12:27:51a -------------------------------- One option mentioned by someone else is to force discussions to be "at most width three".        (select only this node)     N_20220112113252a_s-ol->N_20220112122751a_ColinWright N_20220112122216b_ColinWright    By ColinWright 2022/01/12 @ 12:22:16b -------------------------------- That requires some care, because it sets cookies, so things don't always act the way you expect without knowing how things work underneath.        (select only this node)     N_20220112122216a_ColinWright->N_20220112122216b_ColinWright N_20220112122216c_ColinWright    By ColinWright 2022/01/12 @ 12:22:16c -------------------------------- That breaks the "Principle of Least Surprise", but it is a work-around.        (select only this node)     N_20220112122216b_ColinWright->N_20220112122216c_ColinWright N_20220112122216d_ColinWright    By ColinWright 2022/01/12 @ 12:22:16d -------------------------------- In some sense, using the work-around shows the requirement for such a feature to exist and be unsurprising in how it works.        (select only this node)     N_20220112122216c_ColinWright->N_20220112122216d_ColinWright N_20220112122751b_ColinWright    By ColinWright 2022/01/12 @ 12:27:51b -------------------------------- I don't think that's *the* solution, but it discussions that *are* at most width three are easier to follow.        (select only this node)     N_20220112122751a_ColinWright->N_20220112122751b_ColinWright N_20220112122751c_ColinWright    By ColinWright 2022/01/12 @ 12:27:51c -------------------------------- I can envisage artificial constraints like that ending up with discussions with the same problem as existing systems, though, so I'm unconvinced.        (select only this node)     N_20220112122751b_ColinWright->N_20220112122751c_ColinWright N_20220112122751d_ColinWright    By ColinWright 2022/01/12 @ 12:27:51d -------------------------------- I feel that unconstrained discussion with better navigation is much to be preferred.        (select only this node)     N_20220112122751c_ColinWright->N_20220112122751d_ColinWright N_20220124111442a_s-ol->N_20220124111527a_s-ol N_20220807091614b_s-ol    By s-ol 2022/08/07 @ 09:16:14b -------------------------------- What direction do you want to explore next?        (select only this node)     N_20220807091614a_s-ol->N_20220807091614b_s-ol N_20220807235826a_ColinWright    By ColinWright 2022/08/07 @ 23:58:26a -------------------------------- There are several things I need to explore.        (select only this node)     N_20220807091614b_s-ol->N_20220807235826a_ColinWright N_20220807235826e_ColinWright    By ColinWright 2022/08/07 @ 23:58:26e -------------------------------- Centering the view on the most relevant node, and not always redisplaying the top.        (select only this node)     N_20220807235826a_ColinWright->N_20220807235826e_ColinWright N_20220807235826c_ColinWright    By ColinWright 2022/08/07 @ 23:58:26c -------------------------------- Inserting replies without reformatting the entire graph        (select only this node)     N_20220807235826a_ColinWright->N_20220807235826c_ColinWright N_20220807235826d_ColinWright    By ColinWright 2022/08/07 @ 23:58:26d -------------------------------- Folding ancestors and descendants        (select only this node)     N_20220807235826a_ColinWright->N_20220807235826d_ColinWright N_20220807235826b_ColinWright    By ColinWright 2022/08/07 @ 23:58:26b -------------------------------- The ability to invite people to conversations        (select only this node)     N_20220807235826a_ColinWright->N_20220807235826b_ColinWright N_20231120224157b_s-ol    By s-ol 2023/11/20 @ 22:41:57b -------------------------------- It maps easily to swiping on phones.        (select only this node)     N_20231120224157a_s-ol->N_20231120224157b_s-ol N_20231120224157c_s-ol    By s-ol 2023/11/20 @ 22:41:57c -------------------------------- Here's an interactive prototype: https://www.figma.com/proto/gpBNm79qtSR5tFWXlj7M67/Mobile-DAG?type=design&node-id=3-829&page-id=0%3A1&starting-point-node-id=1%3A57        (select only this node)     N_20231120224157b_s-ol->N_20231120224157c_s-ol N_20231120224250a_s-ol    By s-ol 2023/11/20 @ 22:42:50a -------------------------------- It's probably a bit confusing and hard to navigate (do that by swiping/click-dragging).        (select only this node)     N_20231120224157c_s-ol->N_20231120224250a_s-ol N_20231120224349a_s-ol    By s-ol 2023/11/20 @ 22:43:49a -------------------------------- There is always one "current" node, shown slightly bigger than the others.        (select only this node)     N_20231120224157c_s-ol->N_20231120224349a_s-ol N_20231120224500a_s-ol    By s-ol 2023/11/20 @ 22:45:00a -------------------------------- the view is "directional", based on which direction you have last been swiping/scrolling:        (select only this node)     N_20231120224157c_s-ol->N_20231120224500a_s-ol N_20231120224806a_s-ol    By s-ol 2023/11/20 @ 22:48:06a -------------------------------- when scrolling up, the current node docks on the bottom, and you can page between upstream branches        (select only this node)     N_20231120224500a_s-ol->N_20231120224806a_s-ol N_20231120224908a_s-ol    By s-ol 2023/11/20 @ 22:49:08a -------------------------------- when changing direction, the current node briefly detaches and only its non-branching neighbourhood is visible        (select only this node)     N_20231120224500a_s-ol->N_20231120224908a_s-ol N_20231120224739a_s-ol    By s-ol 2023/11/20 @ 22:47:39a -------------------------------- when scrolling down, the current node docks on the top, and you can page between downstream branches        (select only this node)     N_20231120224500a_s-ol->N_20231120224739a_s-ol N_20231120224959a_s-ol    By s-ol 2023/11/20 @ 22:49:59a -------------------------------- each up/downstream branch page is visible as long far as you can go in that direction before hitting a fork        (select only this node)     N_20231120224739a_s-ol->N_20231120224959a_s-ol N_20231120224806a_s-ol->N_20231120224959a_s-ol