Open benfrancis opened 3 years ago
Arch call on 21.1.:
I think this issue has largely been resolved at this point, because the "core profile" was split into different HTTP-based profiles which are not specifically targeted at constrained devices.
I'm going to rename the issue to keep the proposal for a dedicated constrained profile which uses CoAP & CBOR instead of HTTP & JSON.
The First Public Working Draft says the goals of the WoT Core Profile are:
Looking at this set of goals, I would suggest that the first goal has not yet been met by this draft of the specification and the second and third goals are causing conflicting requirements.
As mentioned in #24, it is not possible to guarantee interoperability between all implementations of a profile unless all implementations are required to support at least one protocol (and serialisation format). If a WoT producer only supports CoAP + CBOR and a WoT consumer only supports HTTP + JSON then the fact that they both share the same abstract data model is irrelevant, they will be not be able to communicate with each other. Not requiring implementations of the Core Profile to support at least one protocol therefore does not meet the requirement of out of the box interoperability as defined in the Abstract of the specification.
I would also suggest that the goal of making thing descriptions human readable and the goal of limiting implementation complexity for constrained devices cause too many conflicting requirements. On the one hand the Core Profile limits the length of strings in an attempt to reduce resource needs for resource constrained devices, but on the other hand it adds a large number of mandatory fields and human readable strings which add to those resource needs.
I propose that both of these problems could be solved by splitting the Core Profile into two separate profiles:
See also: https://lists.w3.org/Archives/Public/public-wot-wg/2020Dec/0025.html