Home / GitHub Page

New Local-first Sync Solution and API for Joplin Data

Hi,

I am currently planning work on a new project to enable users to have access to all of their data, from anywhere, at anytime, whilst retaining full control. I believe that users should be empowered with these capabilities whether working on a phone, tablet or desktop, at home or in the office, online or offline. ‘Local-first’ software principles are very close to the design and philosophy of Joplin so it would be great to get some thoughts from this community.

Initially I expect that there will be a service able to host data (e.g. notes, notebooks) either remotely or locally and API support for directly manipulating data (e.g. for a web app running in the browser). This could be developed to work with Joplin, then extended to support a wider range of data formats and integrated with other categories of applications. This could be thought of as similar to how Dropbox, Nextcloud and other sync solutions currently work but with native support for self-hosting and real-time APIs for updates, sync and multi-user collaboration.

Would you consider using a new service such as this? Are there external services you would like to be able to integrate Joplin with? Would you consider this as a replacement for your existing sync solution? What would be the biggest help to your workflow (e.g. browser web app, real-time collaboration, developer API)?

I hope this gives a flavor of the project and sparks your imagination. I look forward to hearing from you and responding to any questions.

In which way is it different from Nextcloud? I can host data, and there’s a WebDAV API to directly manipulate the data.

Thanks for your question, please correct me if my understanding of either Joplin or Nextcloud is at fault below.

The new service would expose an API to perform operations directly on notes, notebooks, tags etc. This API could then be used to power a web app or any other third party application which you connect. I have seen that you have started work on a Nextcloud app to expose an API here, however currently this does not provide feature parity with the native REST API. The only other way of exposing the Joplin API over the internet currently requires self-hosting a headless server running Joplin.

The new service could work either with existing sync solutions or independently. It would be great to be able to support users who do not wish to manage the overhead of self-hosting a server (running either Joplin or Nextcloud), by offering both hosted and self-hosted options. Additionally there is also the possibility for supporting real-time multi-user collaboration on notes by exposing an API to listen for updates and handle merges.

I hope this answers your question. Overall I am looking to find out the extent to which these features would provide value to Joplin users.