The newest Open Peer Protocol Specification has had a significant revamp, which we are all excited about here at Hookflash’s headquarters. The protocol has become “JSON-ified”, if that can be made into a verb.
The original specification was written using an XML as that was the technology easiest to integrate into the original C++ implementation at the time but it had outgrown its usefulness.
What does this change mean in practical terms? Anyone using an end product built upon either protocol might not have noticed any difference but there is a few important aspects of JSON that make it better suited for Open Peer and as a web technology under the hood.
XML is a powerful document markup language, including a document description language whereas JSON is really a data exchange format. JSON is much simpler. It’s the complexities of XML that actually make it harder to handle. Using XML required every engine to have a minimum powerful XML functions to wield the protocol. JSON’s simplicity makes the implementation and exchange of data much easier.
This allows developers to concentrate on what they actually need to do – exchange information and data and not spend time worrying about XML and all the strange yet wonderful magical things it’s capable of doing, but with little added real world value aside from a few specialized situations.
Easy programming = better and more sophisticated applications.
Then there’s the “cool” factor. Communications protocols throughout history have been mapped onto the prominent paradigm technologies of the time. H.323 was based on Q.931 ISDN telecommunications. SIP was based on HTTP header processing. XMPP was based on XML. Now finally a communications signaling protocol that mirrors today’s adopted open web standards – JSON.
Still prefer XML? Well, you can still use it. The format of Open Peer was specifically designed to allow easy JSON to XML and vice-versa. Use whatever processing you wish if the need is truly there. But I have to ask, why would you want to?
Please take a glance at the latest version of the Open Peer Protocol Specification.