Closed idilsezgin closed 7 months ago
Name | Link |
---|---|
Latest commit | ff98a00f3bc8dd8ed17a6113f053d8e13be65cda |
Latest deploy log | https://app.netlify.com/sites/whatiswot/deploys/6568b04ff53b9700081d78ff |
[x] Slide 1: We introduced some of the components of TD on a code example in the previous video. Now we will explain Affordances deeply and support them with advanced code examples. -> We introduced some of the components of the TD specification with some code examples in the previous video. Now we will explain Interaction Affordances in detail and support them with further code examples.
[x] Slide 4: It would be nice to put other types of consumers with an animation
[x] Slide 5: We categorise them as properties, actions, and events.
[x] Slide 9: Previously we mentioned that we use properties to get or observe a value or set a value.
[x] Slide 10,1: We can list less properties here. ->(İdil) beanLevel can be removed?
[x] Slide 10,2: Now let’s look at these properties in the TD of a coffee machine . As you can see, after defining a property, we can use keywords such as "type", "description", "enum", "readOnly”. ”forms” are then used to describe endpoints for each interaction affordance.
[x] Slide 11: And here you see the details of the forms of “state” affordance.
[x] Slide 12: To read the properties we can use the HTTP GET method at the href value given within the “forms”. This request will return the value for the related property “state”. We will explain forms with other protocols, relevant keywords, and usage in the upcoming videos.
[x] Slide 20: Action Affordances are used to trigger process within a Thing. In our coffee machine example, we have three action affordances. Let's see at how they look like in a TD.
[x] Slide 21: In our example, ”brewCoffee” expects an object where “coffeeType” and “sugarAmount” are used as input parameters for brewing process.
[x] Slide 22: We do not show the forms so we need that before this slide. Assuming we do: To invoke this action, we need to use the HTTP POST method to the resource. Let’s invoke “brewCoffee” action.
[x] Slide 24: Server should be Thing
[x] Slide 28: We need to be more educative here and not use a confirmation as an action output since the client gets HTTP 200 anyways. I suggest removing output here and only show a green confirmation message. -> (İdil) green confirmation message.?
[x] Slide 31: Now, lets look at how events are used in a TD.
[x] Event with HTTP needs more discussion. Will be discussed in a meeting.
[x] Slide 40 and 41 should be removed since they tease a big topic but they are too short to really explain it. They should be saved for the upcoming video.
Also, there should be no server entity in any figure. The coffee machine should always be the one that the user is communicating with. The coffee machine can even be a client (the case with MQTT) so we should avoid saying client and server in general
HTTP Eventing is illustrated at https://w3c.github.io/wot-binding-templates/bindings/protocols/http/#event-interactions
We do not need to show the inner workings. The Consumer should just get an event emission. Ideally, animating to show that the event is emitted every 10 minutes
The feedback is addressed. Remaining points:
All the feedback is addressed, merging