a) confirm context of the speaker (link to conversation context/history) - can just assume one user for now (it's probably an optional feature we'll not add for a long time - always just assume the given speaker is the only person in the universe) a1) >> arko >> [name=Ed] [color=red] > >> yes, who am I speaking with? >> [name=arko][color=blue] > >> It's Ed >> [name=Ed] [color=red] > >> hi Ed >> [name=arko][color=blue] a2) >> arko >> [name=Ed] [color=red] > >> yes, who am I speaking with? >> [name=arko][color=blue] > >> It's ok >> [name=Ed] [color=red] > >> hi ok >> [name=arko][color=blue] > >> no, my name is Ed >> [name=Ed] [color=red] > >> oh ok, hi Ed >> [name=arko][color=blue] > Notes (Karl): makes me think about my model idea - the computer needs to have some kind of representation of 'what is going on', e.g. "someone is trying to talk to me" or "someone wants something from me". > state changes: `nothing happening` -> `someone is trying to talk to me` -> `ed is trying to talk to me`. and with each state we can have an action... or an interaction with a state and an event, so `nothing happening` + `sound` = `check if someone is trying to talk to me`. perhaps we can write everything in terms of ... interactions between states? maybe there is a `nothing has happened in 60 seconds` state, and then that with `sound playing` state produces the `check if someone is talking to me` state... then we can react to that, like "arko: oh, i thought you were trying to talk to me" --- b) Now that that's out of the way, here's some kind of purchase assistant b1) >> I want to buy something >> [name=Ed] [color=red] > >> ok. what do you want to buy? >> [name=arko][color=blue] > >> shoes >> [name=Ed] [color=red] > >> ok. what kind of "shoes"? >> [name=arko][color=blue] > >> red ones >> [name=Ed] [color=red] > >> "red" "shoes"? >> [name=arko][color=blue] > >> yes >> [name=Ed] [color=red] :::info arko googles "buy red shoes", goes to a bunch of sites and finds that there are a bunch of filters you can usually use - "size" is a filterable part of most of the page hits, so "size" seems like info arko needs :mega: ::: >> what is the "size" of the "shoe" you need? >> [name=arko][color=blue] > >> size 9 UK >> [name=Ed] [color=red] > :::info arko uses "9 uk" as the filter in the above sites and generates a bunch of images of relevbnt shoes :mega: ::: >> "size" "9 uk" "red" "shoes". ok - I've found these <images> - do you like any? >> [name=arko][color=blue] > >> 4, 5 and 17 are ok >> [name=Ed] [color=red] :::info arko google image searches shoes that look like those shoes using some off the shelf tin eye like search :mega: ::: >> ok - I've found more shoes that look like those. <images> >> [name=arko][color=blue] > >> 8 is outragous and mad, that sounds great >> [name=Ed] [color=red] > >> do you want to buy 8? >> [name=arko][color=blue] > >> No. I want to buy 6 >> [name=Ed] [color=red] > >> you want to buy 6. ok - I'll search for the best deal and add it to your basket >> [name=arko][color=blue] :::info arko searches for the best deal on said shoes, etc.. :mega: :::