Here we will outline three architectural changes to how Anytype handles types, queries, collections, and tags. Previously, this was known as Lists 2.0 but we have renamed it to Collections 2.0 for now. Everything is currently just a proposal, nothing is set. The purpose of this post is to ask for community feedback and to prototype a great solution.
For a video explainer of this post, check out the Collections 2.0 recording—18 mins, starting at 32:15.
If you’d like to see an outline of the features part of Collections 2.0, please see this post.
If you’d like to see the discussions surrounding the name choices, please see here and here.
1—Converging Collections
The challenge today in Anytype
Every object has a type. To bring them into groups outside of their type, you must use a query (rules-based curation) or a collection (manual curation). Every object has a primary set of ‘type properties’. Additionally, secondary ‘local properties’ are bestowed upon it from queries and collection, but these are not easily viewable and treated differently from type properties.
A common way Anytype is used by the community is to put a ‘tag’ property on all their object types, and then a query is created to organise specific tags into a group. In some cases, only the ‘page’ object type is used, and queries are used on the type properties of ‘page’.

Questions:
-
Why must an object have only one type?
-
Is this representative of how we see the world?
Every item belongs in collections
In reality, nothing in life is viewed in isolation. It is through the context of an object that we can fully derive its meaning. Objects in life also have multiple contexts that they can show up in, which impacts how we see them.
Person Example: You belong to your nuclear family with a partner and kids—you are a parent here. You belong to your family of origin with mum, dad, and siblings—you are a child here. You belong to your friend group—you are a peer here. You belong to your work group—you are a colleague here.
The context changes how you’re viewed in those settings, even though you are literally the same person.

Book Example: A book in a library with other books, it’s part of a ‘book collection’. A book on a shelf with other art, it’s part of a ‘decor collection’. A book in an office with other work portfolio items, it’s part of a ‘case study collection’.
The context changes the book, yet the book itself remained the same.

Every item is the same in its core, but it naturally assumes different properties based on the context that it is in. Just like all the different sides of you as a person are equally all you, they just show up at different times depending on the context you’re in. Importantly, no one piece of context is inherently more important than another.
Collections must adapt to serve context
Context is great, but how does an object adapt with its context and show up together in a helpful way?
Tech News Article Example:
Automatic Context: you are sent a weekly roundup of news articles in the tech world. The inherent nature and properties of this article enables its context to be automatically generated by the system that surrounds it—a weekly tech news collection, properties of ‘news’, ‘tech topic’, and ‘within week release date’.
Conscious Context: you want to keep the same tech news article, but you also associate it with a cat clothing picture and a painting company. There is no inherent context from each of these items that can connect them, no automatic context can be generated. But in your mind they are related to a story you’re developing, thus you are connecting them together through conscious context—a story research collection.

Focus on the relationships
Types, Queries, Collections, and Tags are not intuitive to many people. ‘Should I make a new type, or do I use a tag with a query, or do I just throw it in a collection?’ By having one mental model, we can simplify our focus on one thing: ‘what is the relationship that connects them?’
The proposal implementation
TLDR:
Objects can be part of multiple types/collections, which means that they can have multiple property headers that switch depending on context. This has an effect of bringing types/collections closer towards how tags are used.
- Types + Collections (merged) = Collections
- Queries (renamed) = Smart Collections
- Tags (multiple methods) = Tag Property or Collections
Types still exist. No current functionality is lost with this new proposal, however this would mean changes to the user experience—which is the main challenging aspect to resolve. It’s a question of, ‘how do we make these additional benefits worth it’?

Current ‘Types’ and ‘Collections’ become merged as Collections
Today, what’s the difference between assigning a type to an object and assigning it to a collection? Both require your manual decision making. Both inherit the context of other objects in those groups.
Based on the current system, a functional difference is that collections can have objects from different types, because objects can only have one type. However, if all objects can have multiple types, they are inherently part of multiple types/collections. Thus, multiple types per object effectively merged types and collections to be the same thing.
Current ‘Queries’ becomes Smart Collections
Same functionality today, with the exception that the Smart Collections are also Collections in themselves, meaning their properties will be applied like a Type/Collection (it can display in the object’s properties header). Queries today only apply local properties, not easily visible. If there are no additional properties in the ‘Smart Collection’, potentially it may not show up as an additional property header tab option.
Current ‘Tags’ can still be used, however it feels duplicative with Collections.
Today, tags as a global property shared across types is used to manually connect objects horizontally across a space. It’s what enables an object to show up in a type and across multiple queries. However, if all objects can be in multiple ‘types/collections’, they are also connected horizontally. In this case, ‘collections’ effectively serves as a ‘tag’—making it somewhat redundant. That is, one can view the current ‘types’ as ‘tags’. Or it can be viewed as ‘tags’ with properties.
User flow is based on one mental model: what is the relationship?
To create new items
-
Create item, defaults to unsorted, add to collections
-
Go to collection, add item, automatically part of collection
To create new collection
-
Add properties preset
-
Add properties manually
To curate existing items
-
Add search criteria
-
Add item manually
UX Challenges
-
Potential proliferation of collections, making it noisy and difficult to navigate.
-
Items need to have a primary collection that serves as a default view of the object, such as in search.
-
When deleting an item, if it’s part of multiple collections, it’ll only be removed from that collection and can still exist across the space.
-
Making this new architecture backwards compatible with current spaces.
2—Tiered Properties
When there are many collections and properties in the space, the challenge of search and navigation grows. This often leads to collections sharing properties when they shouldn’t, very noisy auto-complete options when inputting properties, and simple property naming challenges—such as multiple ‘category’ properties.
-
Global Properties: can be used on all collections in the space. Great for creating relationships between items horizontally across multiple collections.
-
Collection Properties: can only be used in the collection itself. Great for minimising noise across the space and misuse of properties from collaborators.
-
It’s a question of which should be default.
3—Cross-Space Collections
Spaces are intentionally isolated from each other on a technical level. However, at many times the mental models we have with spaces are connected—such as in teams. This is especially the case when you need to share properties, templates, and other setups across spaces.
Sharing collections, properties, views, and templates across spaces can help to lower inconsistency and improve workflows.



