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.
I spent time trying to figure out if hypothes.is even uses the protocol and data model in their own software. I'm not confident enough in my analysis to say they absolutely aren't, but I'm also not convinced they are really using it. They would probably counter that it wasn't even a standard yet, but I'm not even sure how close their current model is to this.
They did have some of their employees in the W3C working group. Several of the others seemed to be in the "library" field.