Best way to implement natural language commands for todo's, reminder etc
drewp: One trick for training users on your grammar is to have the program always talk to the user with it. If the program imports my existing calendar and talks about stuff like "lunch with fendale in 3 days" all the time, I'll talk back to the program in similar language. Making users learn syntaxes, especially with any punctuation that you don't pronounce out loud, is lousy.Then, don't be afraid of ambiguity. In many cases, you can Branch Both Ways. 12/10/2008 could refer to two dates, so put the item on both, showing clearly why it's there. "Lunch with Bill" could refer to a few people in my address book, so just link all of them. If your software manages to get some additional data, sort the choices so the likely one is on top.