johannesjo / super-productivity

Super Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, Gitlab, GitHub and Open Project.
http://super-productivity.com
MIT License
9.16k stars 779 forks source link

Request for Natural Language Processing during task scheduling #2209

Closed rsmyst closed 6 months ago

rsmyst commented 2 years ago

Problem:

Currently, user is forced to:

  1. Make task
  2. Right click task
  3. Click schedule
  4. Schedule Task

It would be incredibly convinient if super productivity added a feature in the syntax of tasks during creation that allowed users to set due dates (scheduling) within the same line. Todoist does something very much like this and honestly probably saved me hours and hours of time.

What you type: | What Todoist understands: -- | -- today | Today (tod also works) tomorrow | Tomorrow (tom also works) next week | The next Monday by default (this can be changed in your Settings) next month | 1st day of the next month jan 27 | Jan 27 (27 jan, 27/1 also works) 01/27/2016 | January 27, 2016 (27/01/2016, 2016/01/27, 2016-01-27 also work) 27th | 27th day of the current month mid January | January 15th end of month | Last day of the current month today at 10 | Today at 10am tomorrow at 16:00 | Tomorrow at 4pm Fri @ 7pm | Friday at 7pm (Friday @ 7pm, Fri at 7pm, Fri at 19:00 also work) 6pm | Today at 6pm (unless 6pm has passed, in which case tomorrow) in 5 days | 5 days from today (+5 days also works) in 3 weeks | 3 weeks from today in 2 hours | 2 hours from now

I saw a similar issue raised a few years back but the issue auto closed before gaining traction. I hope this isn't too hard to implement. cheers, if it wasn't clear by any chance, this is the thing i'm talking about. image

This is how todoist has implemented it image

github-actions[bot] commented 2 years ago

Thank you very much for opening up this issue! I am currently a bit overwhelmed by the many requests that arrive each week, so please forgive me, if I fail to respond personally. I am still very likely to at least skim read your request and I'll probably try to fix all (real) bugs if possible and I will likely review every single PR being made (please, give me a heads up if you intent to do so) and I will try to work on popular requests (please upvote via thumbs up on the original issue) whenever possible, but trying to respond to every single issue over the last years has been kind of draining and I need to adjust my approach for this project to remain fun for me and to make any progress with actually coding new stuff. Thanks for your understanding!

johannesjo commented 2 years ago

I am all for improving this, but probably won't find the time to dig into the subject myself.

j0ma commented 1 year ago

Just chiming in here as a Ph.D. student working on NLP and a new user of super-productivity: there are definitely date parsers out there (e.g. alvinwan/timefhuman), so it might not be necessary to implement this logic from scratch. Not aware of any libraries in TypeScript though 🫤

bytrangle commented 1 year ago

@j0ma I don't know much about NLP, but what do you think about this date parser in Typescript?

j0ma commented 1 year ago

Interesting find! Seems like the feature set is pretty close to what OP wanted:

It is designed to handle most date/time format and extract information from any given text:

    Today, Tomorrow, Yesterday, Last Friday, etc
    17 August 2013 - 19 August 2013
    This Friday from 13:00 - 16.00
    5 days ago
    2 weeks from now
    Sat Aug 17 2013 18:40:39 GMT+0900 (JST)
    2014-11-30T08:15:30-05:30

Can't really say anything informative about integrating it to this project, but 1.2k stars and 10 years of development history (first commit in 2012!) certainly make it look promising.

bobchao commented 1 year ago

related issue: #1476

github-actions[bot] commented 1 year ago

This issue has not received any updates in 90 days. Please comment, if this still relevant!

rsmyst commented 1 year ago

relevant. if it helps, relevant links: https://todoist.com/help/articles/enabledisable-smart-date-recognition

https://www.ocpsoft.org/prettytime/nlp/ (date parser as well, was linked in NLP of a particular android task management app) oh and MLKit

rsmyst commented 1 year ago

Any updates? this is the only thing keeping me from switching over to super prod

johannesjo commented 1 year ago

Any updates? this is the only thing keeping me from switching over to super prod

This has been partly implemented. Further improvements are welcome of course.

docnoe commented 11 months ago

~Hi, is there any documentation about which words are supported already?~ Never mind, I just realised that the version in the App Store is a couple versions behind. Downloaded the newer dmg from github and everything works great now. Thanks for keeping improving this great software!

johannesjo commented 11 months ago

@docnoe currently there are no releases to the apple store since it takes a lot of effort and there are only a couple of downloads there each month anyway.

github-actions[bot] commented 7 months ago

This issue has not received any updates in 90 days. Please comment, if this still relevant!