Feature suggestion: Ability to use file system as storage

Currently Drafts has only one way of syncing — iCloud, it’s enough if Drafts for Mac is only a extended interface for Drafts iOS, but I don’t think, nor do I want it to stop here and go no further, for all the features and uniqueness I see, Drafts has the potential to compete with other apps for being the best note taking app in MacOS, and even all the platforms. So I give my suggestion for some features that I think are essential to achieve that.

The first thing on my list is this, Drafts for Mac should be able to switch to file system based storage, by enabling this feature, Drafts for Mac will let the user choose a folder or so called “Library”, and put all the notes as files in that directory. The format of these files could be any format, either in txt, json, or a special format unique to Drafts, but one thing is important, this format should be parsable, so that users can easily transform it to other formats, or vice versa.

If internally Drafts is using a database alike way to store data, then it is OK to put one database file in the directory, this at least gives users the ability to use any cloud storage service for syncing other than trapped in iCloud and Apple only.

By having this file system based storage feature, users who have multi-platform (including windows) needs will be more likely to switch to Drafts, even if Drafts team doesn’t have the plan to support windows/linux or other platforms, people in community (like me) will surely give their own efforts for that. The constraints of Drafts will be eliminated, it’s just the tool for processing and managing texts, no limitations for what or where to work.

I hope you guys can consider it, you’ve done great jobs for these years, hope one day Drafts will be the sign of note taking, without an iOS or MacOS attribute.

1 Like

To be clear, I understand there are desirable aspects of a file-based option, but that is not something likely to come to Drafts. There are many features of the app that are not well suited to file-based storage, and while not impossible to surmount the differences, the effort development effort required to accomplish that, and maintain, test and support multiple sync options would inhibit progress on other areas of the app (like bringing it to the Mac in the first place).

There are also many other strong options in the pure text editor space on all platforms serving that file-based need.

4 Likes

Thanks for the reply, I totally understand the considerations on development side, it’s all about time and priority :slight_smile:

There are many features of the app that are not well suited to file-based storage

This is also what I’ve guessed as the reason why file-based sync is not implemented, and I agree that Drafts should focus on the core features other than the additional ones.

Previously what I worried most about using Drafts is I didn’t find a way to dump all the data out for my total control, but just after I posted this topic I found the backup file is what I need, it’s in json format and very easy to process, much appreciated.

1 Like

I understand that having all drafts in an external filesystem folder on Mac probably won’t happen, and I’m not asking for that. I still wonder if it would be feasible to open a single draft in an external editor for editing.

One case study for this is that I have Taskpaper for Mac which I really like. However, on iOS I haven’t found a good enough alternative to modify those same taskpaper files. I’m trying to use Drafts with some actions and scripts to handle the taskpaper files with some success. However, on Mac I’m back to doing all the management with just plain text. It would really help if I could open the Draft in an external editor such as Taskpaper or Sublime Text for doing the special editing. You could also use power of editors such as Sublime Text or Visual Studio Code to do all kinds of text replacement and so on.

Would it be feasible to open a single draft for editing in this manner? I’m thinking of something like Drafts writing some actual, perhaps temporary file inside its ~Library folder. It then opens the file in the external editor. Changes made to that file will then sync back to the Drafts database version, and also the changes made in Drafts will sync to the extracted file. This would be kind of clean solution in the sense you don’t have find a place to store the extracted file in the file system, for instance. I’m not sure if it’s something that’s quite easy to implement or if there would be some bigger issues with it.

@juranta +1 vote for this feature, this is something that’s really needed for now. Previously I explained my thoughts on how Drafts could share a note to an external Markdown rendering app like Marked 2 Feature suggestion: Split view for Markdown preview

I’m not familiar with MacOS app dev, but I’m guessing that representing a single draft as a file object (i.e. a temp file) is the requirement to achieve that.

If this feature is supported, then not limited to Taskpaper or Marked 2, all file related programs could be used in company with Draft, which would be so great to those who relies on external programs to process text while still wants to use Drafts as the central text management tool.