When I use the hypothes.is extension, I see queries in my browser's developer console that do not look anything at all like they are querying annotation collections as defined in the spec.
The data returned from these queries is close to the spec but includes many fields that aren't in it. These extra fields seem to be conveying important information for their application.
Edit: I ran one of their annotations through the W3C tests. Five failed tests. Including one of the most important fields:
{
"name": "1:2 Implements **Annotation _id_ key** which has a **single value** that is a **string of format uri** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"status": "FAIL",
"message": "assert_true: ERROR: Annotation is missing id key or its value is not a single string of format uri.; expected true got false"
},
This is why I said I'm not confident they are actually using it.Of course, you run the risk that you end up with de-facto standards and everyone having to implement one implementation's extensions (oh, hi WebKit-prefixed properties!).
Correct. But since it has all this "JSON-LD" stuff baked in, you need to also carefully define and publish the extra fields.