Enable faster ways to insert dates and times

Pressing ! and dealing with that datepicker is pretty tedious for someone who likes to schedule everything. Itā€™d be amazing if I could just write natural language between the brackets after the ! and then Dynalist could parse it and insert the date it interprets.

Examples:

Renew insurance !(Jan 1) becomes Renew insurance !(2018-01-01 09:00)

Walk the dog !(6pm) becomes Walk the dog !(2017-11-02 18:00)

ā€¦

And so on.

5 Likes

Thanks for the feature request, it would be great if Dynalist has this, as long as itā€™s correctly parsed :slight_smile:

You know about being able to navigate and input dates with arrows keys, right?

Iā€™d probably do the re-writing-after-parsing step as a history item so it can be undone with CMD+Z if itā€™s incorrectly parsed ā€” that way, I can CMD+Z and just edit my string to try again.

And I do know about the arrow keys ā€” theyā€™re handy for sure, in other situations. One peeve, though, is that the time field always starts at 12:00am and thatā€™s pretty much the least likely time Iā€™d schedule anything :stuck_out_tongue: Starting it at Date.now() ā€” right down to the time in minutes ā€” would be more intuitive, I think!

Thanks for considering :smiley:

2 Likes

Agreed on the minor revision to have the time field start at the current time would be helpful.

1 Like

The reason for that is because often people want to add a ā€œall dayā€ event. If itā€™s defaulted to now, when synced to Google Calendar it will appear at the current time too.

12:00 am means ā€œno timeā€ in this context, if that makes sense.

1 Like

There are definitely solutions to this problem though. In fact, the appā€™s kind of already solved for it, hasnā€™t it halfway. When I press ! it opens the calendar, then I can arrow-key around to the date I want, and press return whenever Iā€™ve found the date. Itā€™ll then inject !(2017-12-29) into the ticket. If, however, I press tab into the time field, it opens the list of times and, as you know, starts me at freakinā€™ midnight so Iā€™ve got to lean on the down arrow key until Iā€™m at a reasonable time for scheduling things.

All Iā€™m asking for is to have that time field default to the current time when I first tab to it. Otherwise, leave it blank.

Alternatively, break it up into multiple fields so I can just slam down the time and choose AM or PM afterwards.

In any case, the problem is that adding a time to due dates is super tedious. If thereā€™s anything else I can do to help out with improving it, just let me know! Iā€™m pretty close to writing my own greasemonkey script to fix it myself, but I think itā€™s something everyone would appreciateā€¦

Thanks for considering!

3 Likes

Respectfully I disagree. I rarely want to schedule something for the exact moment Iā€™m typing it in. And with the time field, well itā€™s still a field. Rather than using arrow keys, If I want to start something at 15h30 then I just type 15 and the list jumps to that time period. I can then either use the arrow to go to 15h30 or just type in the exact time.
Typing two characters rather than hitting the down arrow to a maximum of 47 times is pretty straight forward and just as quick

I love all of Aaronā€™s suggestions. Entering a calendar date using natural language is very common in lots of other apps (a few popular iOS - Fantastical, Todoist). Having DL parse and convert would be much faster than using the calendar dialog.

1 Like

I currently use TextExpander. For example, just four characters generates Wednesday, December 20, 2017, 12:42 PM

Tracy, Thatā€™s cool to use TextExpander to insert the current date / time. However, the use cases I was thinking of is a variable time using natural language to type !in3d or !nextSaturday or !onJul1 and if as long as the format is consistent, the date would be converted. Can TextExpander handle this?

1 Like

Yep that would be best implementation IMO and with an default time for alarms which can be sync to your google calendar.

Plus it would be handy when a date is set you can modify the date like +3d +1w +1m or +1y.

Thatā€™s very handy for recurring tasks for my repeating work stuff, iā€™am have an set of Tasks around the first 6 workdays of the Month.

And a shortcut or a new icon on toolbar to delete an date.

Hopefully this is what @Erica can add in 2018, it would make my day an lot easier.

@Erica - Perhaps thereā€™s existing natural language date parsing code you can leverage in DL ā€¦ check out Natty which in my testing does an awesome job: http://natty.joestelmach.com/try.jsp

3 Likes

Thanks for the pointer to Natty! Will definitely be useful when we start to work on smarter dates input.

@Aaron_Wright @Mark_Gammon

Thanks for the suggestion for making the time same as current time when you tab into the time field.

One thing I donā€™t quite understand ā€“ is it for time tracking/logging? Otherwise shouldnā€™t scheduled time be some other random time (like 3:30 pm tomorrow for a meeting)?

@Erica

Itā€™s not about time-tracking for me, itā€™s just about having a sensible default. Regardless of what Iā€™m scheduling, a default of ā€œmidnightā€ is 100% never going to be useful to me. The current time is a smart default because it makes it simpler for me to do relative math, too. If itā€™s in 2 hours, I can tab to hours and press DOWN twice. Bam.

I think the task of making time-entry super easy would be a fun UX challenge, and itā€™d pay off pretty significantly for an app like DynaList.

I definitely agree. I just thought that having the time default to current time might be undesirable for some people, for example if they accidentally tabbed into the time field, now that they need to manually clean up the time part, if they want to clean date.

Iā€™m thinking an option to change default time to current time would be best.

Not sure if thereā€™s been a misunderstanding or not, but Iā€™m really just asking for the select menu for time to auto-select the value thatā€™s closest to the current time so I can more intuitively set ā€œtwo hours from nowā€ by pressing Down three or four times, rather than like 14 times because it starts empty and pressing Down starts me at 12:00am.

The ā€œpickerā€ is already two-staged, and I think itā€™s pretty well done already: Typing ! opens the picker with the current date active (makes sense). I can Up / Down / Left / Right around to pick another date, and press Enter to accept just the date without any time. But if I Tab to the time field, this is where Iā€™d just want it to automatically select the current time, but keep the select menu open so I can Up / Down to select other times, or just type a time myself ā€” the box is pre-populated, but Iā€™m still in ā€œPick a Timeā€ mode. If I press Enter without doing anything, Iā€™ve set the current date and current time.

The only thing missing from the app today is the auto-population of the time field on focus ā€” not as soon as the date picker opens.

2 Likes

Hi Erica,

Aaronā€™s suggestion of just changing the order of the elements in the time dropdown would be a good small improvement.

If you ever become interested in trying to do more natural language date entry, which I would love, I wanted to point out a library (chronic - https://github.com/mojombo/chronic). Iā€™ve been using for years and has excellent dynamics based around the current date and time. ā€˜2pmā€™ ā€˜next tuesdayā€™ ā€˜march 1stā€™ which may lay some good groundwork. I mention it only in concept because I have no idea what languages youā€™ve implemented dynalist in.

Cheers!

1 Like