Project Cambria

This is an interesting presentation and worth watching.

The presentation covers the hard questions of how to how to make data truly portable between different versions of applications and even different applications. The scheme they came up with is very simple and quite elegant. A schema is a graph where the nodes are versions, and the edges are the translation from one version to another. To get from any version to any other version, you simply follow the shortest path in the graph.

Peter has an interesting rant starting at 52:05, and includes the following statement:

Any schema that would be sufficiently general to support everybody’s todo app, would be insufficiently specific to support your todo app.

This parallels an observation in IoT systems – most platforms generic enough to support everybody’s application is probably insufficiently specific to support your application – unless you can easily customize the platform. Hence, Simple IoT.