Ok so I was thinking a lot about how Anytype can rise above other similar products and distinguish itself from the pack because I think we all love anytype and if we want it to be successful when it officially launches, it have to attract users from other products in order to be sustainable. Right now we have some bug players such as Notion, Coda, Obsidian and some new comers such as Capacities, Workflowy and even Craft. So far in my opinion the Object/relation of the Anytype is by far is the best and has the biggest potential. But I think for other users to be attracted into our community, Anytype would have to take another steps and more unique features which others don’t have and can’t implement in the short time. I was thinking about where to put this thread, but for now I think it can be considered as a general feedback/discussion type and if it was needed, we can create separate feature requests for it. but enough talking. let’s get to work.
What I have in mind
I have a couple of different workflows inside of anytype and during those, I came across a couple of ideas which I try my best to explain them. ok so now we can create any objects we want and then we are going to relate these objects together via the relation feature but this is just one-fold. Allow me to explain what I meant by one-fold.
let’s take a look at how we dealt with documents pre-Notion/Coda/Obsidian era. We would create separate documents and try to categorize them via placing them in folders and that was the extent of our efforts to collect our information together. Then with apps like Notion we basically abandoned the folder structure altogether and nested pages and documents in each other and with the additions of links and backlinks we connected our information. We can kind of consider the next step that happened to be the ability to add properties to these docs/pages/objects such as due date, assignee and etc.
Now hear me out. what if we were to apply this exact approach for our property/object/relation too. Allow me to explain with an example. I imagine creating a personal database such as movie/book database would be one of the more popular use cases for Anytype. Now I would create a type of object called “movie” and create a couple of relations for it such as “stars”, “director”, “awards” and so on. I would set all of these relations type as “object”. Now if I want to take it a step forward I would encounter a couple of problems; for instance imagine that a movie like “The Dark Knight” won the best supporting actor in the academy awards in 2008. If I want to add this kind of information to my object I would have a difficult time because sure I can create an object called “Academy Awards” and then add it under the “awards” relation but I can’t specify its year in this particular relation. I can either create another relation which is not clean and convenient or abandon the idea all together and settle for just the award not the year.
How can we go about widening the mentioned feature?
I’m not sure about the anytype team; maybe the future “relations as objects” feature will cover this too or they’re the same but if not I have a couple of idea on how to implement this.
Maybe it would be possible to add another level of functionality to objects and name it “property”. This way we can specify a “date” property for object and then we would be specify the year when we’re choosing “academy awards” under “awards” for our movie all in one “object” type relation. This movie example was just a simple use case for this idea. If we add another dimension to our objects/relations then it would way closer to our actual brain and maybe it can be Anytype’s unique feature over other similar products. you know this exact idea is like nested pages and folders.
How can it be implemented in graph view?
I think there are a couple of ways that we can go about this. One of them is the object being here the “movie” and “academy awards” are related and connected to each other via the “awards” relation. Since the object “academy awards” here is two-folded or multi-dimensional if you may, by Command+Clicking on it, all these dimensions such as year pop out and we can filter our the year and its value being “2008” so all the awards for that year and their connections are being shown and the normal clicking function on it shows its immediate connection such as its relation to “the dark knight” via “awards” relation and maybe over the line and next to the awards word we can show the year in a parentheses.
How it’s going to work with Sets?
I think that would be no problem since we have a set consist of movies, right? then one of the columns would be “awards” and its value for that particular movie can be the object, here being the “academy awards” and then next to it again in parentheses the year or any other property/dimension that we choose to show.
Or maybe the second way we choose to show this is adding the ability to the column to be not only the object " awards" but also its additional property/dimension such as year. This way the column will only show the “Academy Awards + year” value for that particular “movie”.
Final words
I apologize in advance if this discussion/feature proposal got a little bit lengthy and also maybe I could convey my intention clearly. Nevertheless I haven’t seen this functionality anywhere else even in Markdown world so I think it would great if Anytype would adopt it sometime in the future.
Initially I wanted to include a couple of my other suggestions like backup option, import compactly with other services such as notion, implementing further functionality in the graph view, how task/future calendar view could be a hit with the user base and many more but honestly, since these are not exactly feature request, I didn’t know how I could propose them.