Dilemma of nesting and linking

Hi everyone!

I want to share some thoughts with you, and gather feedback.
I’ve been using Anytype for almost 4 months. And that’s a great experience.
Mostly, I’m using Anytype for academic purposes(University stuff, scientific work) and in addition to collect all the sources where I can get some insights(articles, movies, series, books, games) to build my own knowledge system.

But every time I start a new topic I create some kind of dashboard.
Unfortunately, right now this is the only option to structure my objects that satisfies me at least a little bit and even this method is not ideal, because not everything in this life needs flexibility.

Lets look at some keypoints.

All possible scenarios of linking and “nesting”:(the quotes are here and further in text for a reason).

  1. You can “create a new object inside of another object”
  2. You can create a new “child object” and link it to your “parent object” manually.
  3. You can link existing object to your “parent object”.
    image

Consequences:

  1. That should work like “nesting”, right? But, it doesn’t work this way. What happens is, it created an independent object and momentarily links it to the page you consider as “parent object”. Forget about nesting. There’s no hierarchy. It’s just a link to another object.
    You delete your child object - the link becomes broken. You delete the link - the object stays. Doesn’t that seem like broken feature to you?
    image
    2 and 3 option are just the same. And that’s the problem. All these three scenarios are equal to the result.

Therefore, I doubt very much that developers are able to make some kind of hierarchy or “classic tree sidebar” (so that the created dashboards are not a panel of links, but a panel of child objects).
Because, on the one hand, there is no conflict between the Anytype paradigm, that we think in objects, and the idea of some objects inside other objects (boxes, zip-archives, nesting dolls, etc. are the great example of how natural this idea is). But, on the other hand, if we treat all types of objects as equal, we won’t get the same clean workspace as in Notion or other hierarchical-oriented note-taking applications. After all, even photos, mp3, contacts have their own object type in Anytype. If we had the opportunity to see how a Notion-like sidebar would look like in Anytype case (when no hierarchy is applied and everything is connected only by links) - it would look like a nightmare of all your unsorted objects (do you remember that even files have their own types in Anytype?) in one place.

**Bottom line: **
1. I do not understand why “adding an object inside another object” is equivalent to simply linking one page to another.
2. I don’t understand why there is no nesting, because it is a very, very common way to structure things. Your computer, phone works so. It would give the Anytype workflow extra flexibility points if this feature was there.
3. I have some doubts that with the current paradigm of equality of all object types, it is realistic to implement the “normal hierarchical tree sidebar” that many of us expect.
4. In my opinion, nesting and linking should be different operations. And it can even be shown as a graph. Parent objects could be larger, more distant from other parent objects. The link rays could be bold (for example). In turn, child objects could be smaller, with thin rays and placed close to the parent.

Don’t get me wrong. Flexibility - it’s great. But, if you can’t structure objects in the way you want - that’s also a lack of flexibility. That’s your deal - how flexible your system should be.

Thanks for your attention!
Leave your feedback in the comments:)

5 Likes

I like your bold link rays idea in #4. That would go well with sub-tasks in the future.

3 Likes

Great post @bOokWorM
Help me please validate the pain you have. As I can see right now. You want an ability to nest thing because of certain convenience it provides and you are lacking of it. Is the thing you want to is:
Ability to delete a link to object and automatically delete underlying object?

If it is the point I personally share 100% of this pain and we want to address it meanwhile preserving the ability to work with graph like structure without nesting. The solution we have right in mind now is a kind of garbage collection approach from computer science. It should be possible to create a lot of links to the single object and it is really does not matter did you create object or just a link to it, it works the same. Because even if you delete link from original “parent” object but still use it elsewhere there is a possibility you still need it. But if you delete the last link to object it signifies the probability you need this object is low and we can provide an ability to delete it automatically.
This is a conceptual idea right now, I will be really glad to hear your opinion on this :pray:

2 Likes

Thanks :smile:
It was quite unexpected for me to hear back from the Devs Team and to get such a meaningful reply with suggestions, it really pleases me and puts the hearts of users in your direction :grin::

Regarding your question: yes, this is what I want and this is how it should work in practice, I think.
As for the graph structure - I am not against it. More than that - I like graphs. (I also have some suggestions on how to improve the existing graph, which I’m going to write a post about as well. I think you will agree that now the graph has basic functionality. And it can be improved significantly.)

Now about nesting. After writing this post, I tried to analize what I was not satisfied with in the absence of this thing. And it is most likely just a feeling that arises when the two situations mentioned above occur:

From the user’s point of view, in both situations he does the same thing: he deletes an object. But the results are different, and this causes confusion.

“Garbage collection” is a good idea. And I would like to propose an idea how to improve it.
When deleting a link, it would also be possible to display a popup window with a choice:

  • remove only the link (consequence: the object remains in Anytype, but becomes unrelated to the current object)
    or
  • remove the link, the linked object itself and references to it in other objects (equals to complete removal)

I hope my opinion was useful for you.
Please send greetings and good luck to the entire Anytype development team. :grin: :heart:

3 Likes

It is really heartwarming to hear your feedback @bOokWorM at the end of the work week :relieved:
We are 100% synced on the topics.
We are really eager to provide improvements to the current graph experience and you will find new capabilities in the new release already. And in the same time we doing a lot of r&d work to bring new grade of graph experience to the market.
And we will integrate your ideas on “garbage collection” part also, have the same ideas in mind. Thanks a lot for participation :pray::pray::pray:

2 Likes

I’m glad you’re so impressed by this :3
And this is mutual.:3

Oh, new improvements and features! O.o
Can’t wait to see and test it :eyes:
I wonder, what actually do you mean, when sayin’ “new grade of graph experience”.
I hope, you understand that saying such words you raise people’s expectations and fantasies :smile:
It would be great if you could reveal those secrets a little bit. :eyes:

I’m happy to contribute as much as I can. Thank you for heeding my point.

1 Like

In short words: we are not satisfied with graph experience we have right now on the market and really want it to be one of the main backbones of our app. Because we believe if we could tame this beast it will unleash a lot of value for everyone. Main focuses for now - us: working with big amount of data, more contextual information, ease the ability to receive insights from your graph, aesthetics and overall look and feel.

2 Likes

I appreciate your sincere and emotional answer!

All being said by you is true: a lot of devs don’t pay enough attention to the graph and I’m happy you don’t underestimate the power it can give to us.
Good luck for you! Community believes in you.:heart:
And again, greetings to your team :grin::wave:

1 Like