165BACnet/WS experiments in dramatic simplifications
- Jan 24, 2013XMLers,
Over the years, the BACnet/WS proposal has grown tremendously. We kept adding things to it ... and as it approached 100 pages long, some folks stopped reading it, or kept asking: Does it have to be so complicated? and: Why can't you just do "CSML in REST"?
Well, over the last two days, I've been doing a little "experimenting" with the spec to answer the three main questions I keep hearing:
1) What would it look like without all the Atom wrappers?
2) What would it look like is we ignored the baggage from Version 1?
3) What would it look like if we stopped trying to adopt things that don't quite fit our needs (e.g. Pubsubhubbub)?
Could we still do everything we set out to do?
Well, at the end of these three whacks at it, the interesting thing was to go back and read our list of requirements and find out that they all still apply!
Even though the document went from 96 to 44 pages, and the XML on the wire got a lot smaller, all the capabilities that we set as goals, even the ones we adopted from the the GUTP project, were still intact.
So, is this what I'm proposing we do? That's for you all to decide. But I couldn't resist going through this process so that at least we have the answers to these questions as part of our development record.
Please think about the value of these three aspects that were removed in the three waves of editing:
1) The value of saying "We conform to the IETF standard Atom Publishing Protocol"
1b) And the corollary: "We're kind of like Microsoft's OData, and the protocol that Google used to like."
2) The value of saying "We are as-compatible-as-possible with version 1 of BACnet/WS"
3) The value of saying "We use a reasonably-widespread-but-not-really-standard feed subscription mechanism"
Any one of these could be put back. And they are quite separable, so it's not all or nothing.
I look forward to your thoughts!
ps. Please not the titles of the docs. The edits were cumulative, so "3" is the smallest. Change tracking was restarted for each round. (you'll like the editor's name for number "2")