Plugin Development Best Practice?

I recently had an idea to develop a LaTeX/KaTeX Helper plugin since (especially on mobile where you can't write and render a note at the same time), writing equations can be a pain, especially for those who might not be familiar with the notation. It's inspired by the Wolfram Alpha interface that lets you pick a mathematical element and then fill in it's components interactively.

However, the more I think about and plan this plugin the bigger and more complex it seems, plus I don't think I'm a hugely experienced programmer in web dev adjacent coding (R and python are my bread and butter, not type-/javascript).

I've made (as yet unaccepted or unreleased) contributions to existing plugins for Joplin, and did make a text to speech plugin for Zotero but ran into several hurdles with that (and kinda ended up fixing it by brute force at the beginning).

But considering this will be a ground up plugin for Joplin, and that I want it to be a useful and helpful addition to the community, plus easy to develop on the backend, I was wondering what you'd all consider essential ideas or best practice when it comes to this kind of stuff?

(This is also somewhat caused by discussion on GitHub and partially aimed at Laurent specifically, since you mentioned disliking the old kanban plugin, but I'm curious why and if there's any lessons I can learn from that?)

Thanks in advance for any insights you all can offer!!

(Alternatively if you think I'm being silly and should just go for it, I appreciate the reality check too lol)

Hmm, there's not really any best practice other than trying not to freeze or crash the app. Some plugins do that but that's probably a minority of them and even if they do, they can be fixed.

The kanban plugin had been unmaintained for a long time so I archived it to make this clear, but that's a different issue. And I did that because it's a plugin that half-official, being hosted on our org repository.

Other than that if it's useful to you it might be useful to others so feel free to go ahead and publish it. We don't review or approve plugins at this point - they're all automatically added to the repository once you publish them. We may remove the plugin from the repository if the maintainer is no longer around and the plugin doesn't work or has severe performance issue but that's probably less than 1% of them.

1 Like