All writing
4 minute readFeaturesCaptureDates

How DoTo reads dates out of plain language

The fastest way to set a due date is to not set one. Typing the date as part of the sentence takes no extra interaction, no picker, and no second thought. DoTo reads what it recognises out of the text and leaves the rest alone as the title.

This is deliberately a convenience rather than a requirement. If nothing is recognised, the whole line becomes the title and the item saves anyway.

Dates it understands

Relative days and named weekdays are recognised, including the shorthand people actually type.

  • today, tomorrow, and the abbreviations tmrw, tmr, and tomo
  • any weekday by name, such as friday
  • next followed by a weekday, such as next monday

Times, including the ambiguous ones

Times work with or without a meridian. Written as 14:30 or 9am there is no ambiguity. A bare hour is more interesting: typing at 5 almost always means the evening, while at 9 almost always means the morning.

DoTo resolves bare hours from one to six as the afternoon and everything else as written, because that matches how people actually speak. Hours from 13 to 23 are already unambiguous and are taken at face value.

Repeats

Recurrence is recognised from the same line. Daily, weekly, monthly, and yearly all work, as do the phrasings every day and every week. Naming a weekday, as in every monday, sets a weekly repeat pinned to that day.

Completing a repeating task creates its next occurrence rather than advancing the same item, so the one you finished stays in Completed as a genuine record of what you did.

Tags

A word beginning with a hash becomes a tag and is removed from the title, so "Pay the internet bill #home" is titled Pay the internet bill and tagged home.

A hash inside a URL is left alone. Pasting a link with an anchor does not invent a tag out of the fragment.

Questions

What if I do not want DoTo to read a date out of my text?
Phrase it so there is no date token, or edit the item afterwards and clear the date. The parse is shown as a chip before you save, so you can always see what was understood before committing to it.
Does natural language parsing need an internet connection?
No. The parser runs entirely on your device and involves no service of any kind. It works with the network switched off, like the rest of the app.