For the next feature release of TaskPaper I plan to add some sort of integration with Reminders.app. I’m doing this to support two cases in particular:
Enable creating reminders with Siri on iPhone and bring them quickly into TaskPaper.
Enable moving tasks that you need reminder alarms for from TaskPaper and into Reminders.app.
The approach that I’m considering would be to make it fast to manually move tasks back and forth between Reminders.app and TaskPaper. That’s opposed to a solution that tries to automate/sync the process.
I imagine a new bit of UI in TaskPaper that presents a list of the items in your reminders database. To move them into TaskPaper you can just drag and drop from that list into TaskPaper. When you do that move the item is removed from Reminders and added to your TaskPaper document. You could also go the other way dragging from TaskPaper document into the Taskpaper reminders UI.
In both cases important attributes are preserved. For example if you the reminder has as due date or priority it will get encoded in a TaskPaper tag. And when you drag back to reminders those attributes are restored in reminders.
I haven’t started any coding on this yet. Just thinking about it. Please let me know your thoughts on how you think it can best be implemented.
Good to hear. Of the two cases listed above, I would use Reminders import much more often than the other use case, so I’ll comment on that.
I think it would be nice to have a way to bulk import Reminders in addition to manually draggin in each. Maybe this can be considered. However, this would probably conflict with any Reminders that were alarms that you wanted to remain in Reminders… Maybe TaksPaper could integrate with two Reminders lists, one for Inbox and one for Alarms. Then you could bulk import just from the Inbox list.
Also, having to drag and drop might be a strain for people with RSI. Maybe an import button on each row could be clicked to import it to a specified project (e.g., Inbox) or top of document. That would be less of a strain.
I agree with the not messing with a sync feature. I would suggest adding the option to “Copy” as well. Could be just like dragging files in Finder where you hold the option key which will duplicate the item. I use my taskpaper file as my “golden” source for all tasks and have copies of items in Reminders that need an alert. Dragging an item from Taskpaper to Reminders in this new UI is perfect if creates a copy. At that point it is it’s own unique item that would be managed in reminders.
Your “Move” proposal is also needed for the Reminder to taskpaper direction when stuff is created on the phone with Siri. So the ask is for a “Move or Copy” feature.
Would we be able to move items marked as “done” to Reminders and have them marked as complete? I admit I’m probably a weird fringe case in how I use Taskpaper/Reminders, in that I mostly use Reminders as an archive for completed tasks (I have Fantastical, and I like how completed reminders are displayed in the Fantastical menubar more than Taskpaper’s archive).
But for people who use them normally I think your solution makes a lot of sense, and is definitely better than a sync features. I also like @Phil’s idea about having an import button (or maybe an import keyboard shortcut?)
I have used Mindnote’s feature to export my map into reminders, and I am pretty happy with the results. I think it is very close to what you have in mind. You should check it out.
I like the idea of generating reminders from taskpaper so I think the copy option sounds preferable. But then you have to manage if it’s complete in both reminders and TP. Perhaps when you drag to reminders the item in TP could be preserved but tagged @senttoreminders or something so you can still have your true TP document and use the reminder alert functions.
Or do you not just create push notifications from TP documents with dates ? That’s probably really hard.
I very much like the idea of integration with Reminders.
Would it be possible to also add sync in addition to manually dragging tasks as in case 2? I think it would be ideal if TP could integrate with Reminders in the same way as Taskmator does on iOS.
I’m not sure. At the moment I’m working on other things. Once I get back to reminders I’ll consider this, though my initial feeling is that I only want one implementation choice, and I want that to be manual. But like I said I haven’t started the code, I could change my mind.
Thanks for considering this. I can see why you’d want to implement one choice only.
My thinking about Reminders integration is along these lines: since I collect all my tasks in TP it is important that any task I drag to Reminders remains in TP so I still have an overview of all tasks (whether or not I want to set a reminder for them). If dragging a task from TP to Reminders removes that task from TP this would divide my tasks over two apps and hence I lose the overview. Whether the integration is manual or sync is then secondary, the important thing is to have all tasks in TP, and those I want a Reminder for also show up there (and hence in my calendar). I love the way it works in Taskmator and I think a smiliar implementation in TP would be great.
Instead of dragging from TP to Reminders, i would prefer to tag items to move to Reminders: @remind(DATE TIME). I agree with adamprocter that a @senttoreminders tag would be good. This way, TP’s doc remains untouched.
(Perhaps you could set a preference to globally hide @senttoreminders in TP for those who only want to see a task in one place)
(Perhaps you could implement both dragging and @remind, such that @remind triggers TP to drag the reminder to the Reminders list)
For the other direction (Reminders to TP), dragging makes more sense, as i want to be able to control where the reminder sits in my outline.
The problem with this sort of approach is that it requires some sort of sync behavior, and that starts to get complicated quickly. The first case is pretty strait forward… you tag an item in TaskPaper, and a new item is created in reminders for it. But once you’ve done that I think there is a reasonable expectation that they stay in sync, and that’s near impossible with a plain text file file that might be edited by any editor.
okay, so if i understand, the resolution is that after a @remind(TIME) tag could be used to trigger an automative move from TP to Reminder, and TP would then have to erase the TP version of the task.
Yes, to avoid the sync problem the times need to be moved. I don’t think I would want to trigger the moved right away when the user types @remind, but instead would likely have a “Schedule Reminder” command with a keyboard shortcut. Anyway as long as you don’t require the same item synced in both places I think we can come up with a nice solution.
I think that I am missing or misunderstanding something.
I see the strengths of @jessegrosjean’s solution. It is clean, simple, and works for most of the cases. But what happens when you have a file that is being shared in a group setting? Only one person would have that in its calendar or reminders, and there would be no reminder (or task) to the group.
One possible solution is to not sync the reminders created by every possible TaskPaper app, but just to keep the reminder created within the copy of TaskPaper that you are using to open a file. Every time Taskpaper tries to create a reminder or event (I like the idea of having a “Schedule Reminder” command), it would check its personal record of reminders or events created by TaskPaper. If the text is different, then it creates the reminder or event. No need to delete the tag or change it. Just keep track of it within a list. It would also solve some of the sync problems you are talking about.
I also think that if you change the reminder or event in the calendar, you should not expect to sync those changes in TaskPaper. None of the apps that create reminders do. Maybe you need to put a little disclaimer or something in the documentation that explains how does TaskPaper implementation works once it is done ;).
Is this currently working in the 3.5.1 Preview release? I would be happy to test this extensively as soon as it is available - I saw it in the ready list on Waffle but wasn’t sure how to connect the dots.
No, just at brainstorm stage right now. I might be using Waffle categories in unconventional way (haven’t worked much with outer people!) … for me “ready” is where I put items that I’m ready to start working on.
Haha, no worries, just wanted to check because this would be a major reason for me to run with this app long-term. I’m an old PlainText user and love the clean way you manage these projects. Keep up the good work and send up a signal flare when you want testers!