If this is already explained/discussed elsewhere, please let me know!
Otherwise, this could be a good place to start discussing it?
Here’s how I see it working:
- Most elements/aspects of Anytype should be customizable. Not just custom types, relations and templates. But also things such as the appearance of any element/context, and even relation types (not to be mistaken by types - for example, if I want to have a relation for coordinates, I can just make it myself by defining all the required parameters, or simply grab it as a plugin from the community, as explained below).
- Anytype itself will have very few built-in stuff, keeping core simple and light.
- Anyone can just create (or duplicate and modify) a plugin. There should be a place where users can easily manage them - enable/disable, organize them in folders/subfolders etc… Some aspects of Anytype might be more easily customizable than others - for example: anyone can create a new Type, only CSS people will be able to customize appearance, and just a few coders will know how to create a completely new block/feature from scratch (having said that, duplicating existing stuff and playing around with it could be a great way to introduce people to coding/developing).
- There will be an intuitive interface through which users can search for and add plugins from the community (and share their own). This should have a robust rating system, to make sure reliable, safe and useful plugins are on top. That way casual users can pick stuff to add with confidence that it will just work (for example, let’s say I want to have the aforementioned coordinate relation type - I can just search for that, and add it).
- ideally there should be a way to update installed plugins, automatically or not. This system should be smart enough to warn the user if the change might break something or lead to unexpected changes in their own content, perhaps allowing them to “unlink” their plugin if they decide to keep the current version forever (or fork it).
These are just my initial thoughts. Please comment and add your own. Would be nice to hear from the devs too about what they already have planned for this.
Again, if all of this has already been discussed elsewhere, I’d be happy to move this there!