kmac / mindfulnotifier

A simple mindfulness-based timer which displays a notification/reminder at user-defined intervals
GNU General Public License v3.0
47 stars 3 forks source link

crowdsource reminder lists ready to import? maybe separate list of what's active? #20

Closed wolftune closed 3 years ago

wolftune commented 3 years ago

Hi, absolutely loving this. As someone who cares about software freedom, this was huge to get. I'm using it for both mindfulness/presence reminders and reminders for each sort of thought I want to reinforce, build mental habit, and so on. So, I'm adding stoic exercises (e.g. last-time reflection, consider that this might be the last time for whatever is currently happening), reminders to get up and stretch / check-posture… all the things that build a healthy conscious life. I'm incorporating my notes from https://conscious.is/resources and other sources.

As I build up my list, I'm finding there are many good prompts for various concepts, but some are more relevant to me now. Or maybe I want to focus on reinforcing certain things and later move to others.

So, I was thinking of publishing my list once I have it more complete. I'd love to see some sort of public database that was easy for people to contribute reminders to, people could then select their favorites from the db and export it to the appropriate json that could be put into the app.

I could imagine a way to turn on or off specific reminders rather than deleting them from the app. But if there were a way to have a larger database and export selections from it, that would accomplish the same thing in a different way.

Thanks again for this wonderful app, spreading the word to many others.

kmac commented 3 years ago

Thanks so much for this feedback. I'm kinda just throwing this app out there because it's something I am finding very helpful in my practice, and thought it a good opportunity to share. It does feel good to hear that other people find it useful as well.

I've been thinking about how to best manage the reminders. RIght now I'm using shared preferences to store everything, and so the backup and restore is all based on one json file. The reminders are just a list of strings in that store. That's probably going to be an okay approach unless the reminder lists start getting really complex. I'd like to keep them in the shared preferences store if I can though, because well, it's easy to use and the json import/export comes for free.

With that and this issue in mind, here are some things I'd like to be able to do:

These are certainly things to be considered.

In fact, I'm wondering if the current backup/restore should only focus on the reminders list. There's not really much else to the app, aside from the basic scheduling parameters and sound prefs. And those are easy enough to recreate if needed.

I can't really promise a fast rollout of these types of features though. I've been focusing on basic functionality and robustness, and there's still a bit of work to do there.

wolftune commented 3 years ago

I am surprised to see that anything besides reminders is exported. I agree that the rest of it is trivial enough to set manually. It's no real loss if that has to be done on new devices, and nobody would share those settings with others. It does seem simplest if the import/export is adjusted to focus only on the reminder content. At most, I could imagine including that if/when it exists an on/off distinction (however that is managed) could be sensible to include in the export/import.

The simpler the file that keeps the lists, the easier to adapt it so that something like I'm asking for could exist. I'd like something that could be tracked in git readily enough, practical for human editing. Then, I could share my export for others to download and edit, and I could merge in the stuff from other people to mine. I suppose it's already doable to manually edit the json, it could just be formatted so the lines are separated, maybe some sorting… I haven't tried working with it as is yet.

kmac commented 3 years ago

Yeah, this is good feedback. If I move backup/restore to more of a "Reminders Import/Export" feature, then there's really nothing specifically tying things to json format either. I'd lean towards plain text, probably CSV. Then we can have properties attached to reminders (enabled/disabled, group tag, etc).

wolftune commented 3 years ago

Yes, and the ideal might be an option for import whether to merge an imported reminders list into the existing versus to replace the existing (although merging only and also offering a delete-all function would be another way to get the same result)

kmac commented 3 years ago

I am testing changes in this area, and also for part of #15.

Some of the points I'm working on:

kmac commented 3 years ago

Implemented in Release 1.0.14+23