topics:  main-page   everything   99things   things-to-do   software   space   future   exercise & health   faith  
  thought   web   movies+TV   music   mymusic   food   curiosity   tidbits   I remember   wishlist   misc   links


Speaker identification
November 6, 2008

Speaker identification is the task of listening to a person's speech and figuring out who they are. People are pretty good at this, although it can be tricky over the phone.

The use case in home automation is resolving the words "I", "me", and "my". If a user says, "When is my next dentist appointment", the computer needs to determine who is speaking to be able to answer the question.

In thinking about this, I realized that the problem is made easier by the fact that a user is always going to be using the words "I", "me", or "my" in these cases, and so the system, if it has a voice print for the user saying these words, has a place to start.


Exercise 36: Ordering groceries
November 6, 2008

Summary

Building upon exercise 35, implement a basic system to order groceries from http://www.grocerygateway.com/.

Support 100 food items added to the grocery list via "We need more {food_item}" or "Add {food_item} to the grocery list".
Add a "display the grocery list" command. This should display a full-screen white form with the header "Grocery List" at the top and with the list in a scrollable container. A command "Close that" should hide this form.
Add a "print the grocery list" command.
The command "Order the groceries for delivery at {time}" should place an order via the web. Once the user speaks this command, the computer should reply with "Speak the confirmation code to continue". The confirmation code should consist of the word "delta" followed by the number that represents the current day of week. So for Tuesday, the confirmation code is "delta two". Alternatively, the command "cancel that" can be used to abort. Techniques used from exercise 35 should be employed to implement a system that detects unexpected results and aborts operations. A successful order should be communicated as "Your grocery order was placed successfully. The total came to 85 dollars and 21 cents.".



Exercise 35: Order meal #1 from Swiss Chalet
November 6, 2008

Summary

This exercise will explore the challenges involved with carrying out a complex web action autonomously where XML web services aren't available.

Using screen scraping techniques to extract information from web pages. These techniques need to be easily adapted when service providers change their web pages.
Error handling to ensure that problems are detected and operations aborted upon unexpected results or upon unhandled exceptions within the Grace application.
Communication of errors in a concise way using text-to-speech.
Storage of credit card information in an encrypted format on the hard disk.
Relaying price of and expected delivery time via text-to-speech.


older >>