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.


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.


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:


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!


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


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)?


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.


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.


1 Like