About interfaces and templates on a Contact Manager

Currently, I’m testing Anytype to create a contact manager.
In theory it works well and this is an image of how it looks now:

It has some more fields that don’t fit the computer screen, but I think you get the idea.

There are things that I like while building this with Anytype: it’s easy and fast to create a Type and the corresponding Relations; There’s a good variety of kinds of Relations; It’s fast and easy to organize the fields on a layout.

On Relations, there’s 2 things that I miss: to be able to format the Date fields in the “dd-mm-yyyy” format (format most used in Europe); and to have formula fields (for example, to have an “Age” field that automatically shows the current age of a person based on birth date).

But the main issue is related with the way interfaces and templates work: I can assign a template to a Type. That is OK. When I create a new record, it automatically shows the interface based on the assigned template. That is also OK.
But when I already have a lot of records and I decide to add a new field or change the position of the current fields on the template… that is only going to happen on the future records. All the records already created will stay exactly as they are or the solution is to edit them all one by one…
This is a serious disadvantage, and puts the development of business applications with Anytype at risk. Imagine that I create a CRM for a company. It’s normal that the needs and fields of a business CRM change with time. Now imagine that that company already have 1000 records and needs to add 3 extra fields: the 3 new fields are added to the template… but they won’t be available on the 1000 previous records. Imagine that 1 month later there’s a need to add 2 new records and so on and so on…

Anytype have a very good search engine. It’s fast and powerful. But if we are not allowed to create interfaces that can be edited any time, the use of Anytype will always be very limited.

So, what I think is that we need to rethink the way interfaces are created. If we want to use Anytype to create information management systems, the interface has to be an object that can be changed (and, when changed, is automatically updated in every record where it is applied).

What are your thoughts and suggestions regarding this issue?

This is the feature request you’re looking for:

Thanks @Alan71
Already voted for it! :+1: