How will/should the plugins system work (from developers and users)?

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:

  1. 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).
  2. Anytype itself will have very few built-in stuff, keeping core simple and light.
  3. 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).
  4. 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).
  5. 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!

6 Likes

I’m not sure I’m confident in ratings systems (they may help to eliminate obvious usability issues, but they do next-to-nothing for security), but the rest of those things sound pretty good.

My concerns is all about the security measure, but indeed you seem to have made the possible expectations clear. Instinctively I don’t see anything to add.

If we add a permissions system it could mitigate security issues of plugins a little. As long as:

  1. We get the option to approve once versus forevermore.
  2. There is not a catch-all permission like FireFox’s access-your-data-for-all-websites that every plugin requests and is way too powerful.
  3. Permissions are actually secure rather than a mere rubber-stamp.
5 Likes

:clap:t2:

I strongly agree.

2 Likes