Re: Capabilities & Schemas

> On May 4, 2018, at 11:04 AM, Benjamin Francis <bfrancis@mozilla.com> wrote:
> 
> Could an iotschema.org <http://iotschema.org/> schema define that an action of @type FadeAction always has a LevelProperty and a DurationProperty? That a property of @type TemperatureProperty always has a unit of "centigrade"? That a thing of @type OnOffSwitch always has a property of @type OnOffProperty and an action of @type ToggleAction?

Currently, we are biased toward flexibility and not having mandatory compositions. We expect the documents that carry the annotation to be self-describing and clients to be able to adapt to what is offered. This is borrowing from a fundamental REST and Hypermedia design style.

It is an interesting tradeoff to discuss, as there is admittedly more work in making a client that adapts. This can be traded off against the long term benefit of less coupling between server and client, making them separately evolveable. This is a benefit which accrues over time, where the cost of client adaptation must be paid up front.

What do you think? What are the constraints of your economic analysis that motivate one design style versus the other?

Best regards,

Michael

Received on Wednesday, 16 May 2018 02:57:44 UTC