 |
Exercise 34: Appointments
Summary
  | "My next dentist appointment is on November 6th at 3:45" or "I have a dentist appointment on {date} at {time}" or "I have an appointment with {person} on {date} at {time}". Appointments to support: Dentist, massage, doctor, church, and work. Also support non-specific appointments such as "I have an appointment on {date} at {time}". |
  | When an appointment is created, add it to the individual's Google Calendar. |
  | "What appointments do I have today?" should result in "You have a dentist appointment at {time}". |
  | "What appointments do I have this week?" should result in "You have a dentist appointment on Thursday at 3:45, a massage appointment on Friday at 7:00, and a church appointment on Saturday at 8:00". |
  | For the time being, implement a speaker specification via the command "This is {person} speaking". So, for example. "Grace, this is Daniel speaking. I have dentist appointment on November 6th at 3:45". To make this work it will be necessary to implement a secondary command and control grammar that doesn't require the "Grace" prefix. This grammar should be enabled for three seconds after a previous command is interpreted, at which point the standard command and control grammar should be reverted to. |
Solution
Click here
Comments
This one ended up being a very involved effort -- not a few days, or even a week, but several weeks. I needed to overhaul the linguistic transformation algorithm for performance reasons, which I did as exercises 39 and 40, and there were several other significant changes that needed to be made. Finishing this exercise has culminated in having a working installation of the application in our Kitchen here at home, running on an iMac. I will use the ability to create and query appointments as a test case over the next few months to see how the technology feels to use. |
|
 |