I often hear people say things like, "standards are slipping" - maybe they are talking about our politicians! But that's not where I'm going today; I just had a few random thoughts on standards, per this definition:
- standard (n): a specification for hardware or software that is both widely used and accepted (de facto) or is sanctioned by a standards organisation (de jure)
We're all familiar with the British Standards' kite mark and the American National Standards Institute (ANSI). Internationally, there is the Internet Engineering Task Force (IETF - maybe you could quibble on that one as its RFCs are more akin to recommendations; but let's not deviate from our standard interpretation), the International Telecommunications Union (ITU-T) or the 3rd Generation Partnership Project (3GPP) or...
Never mind that the list of standards bodies goes on and on, my first thought was, "Isn't it maddening that their collected output is seemingly endless?" The standard response is "yes", by the way.
Don't get me wrong, it's certainly a good idea that the graphics card you buy to upgrade your computer is built to the PCI electro-mechanical standard. You want it to slot in snugly, regardless of whether you bought it on eBay or from your local RadioShack. There might be a bewildering array of options for full-length, half-size, half-height, low-profile, etc. but the point is, it fits, because it's been standardised, which is good.
So much for hardware; then there was software.
The need for a standard specification is suggested by recalling the not too distant past, when everyone queued up to criticise Cisco for its so called 'Skinny' interpretation of SIP. Standards are good; right.
VoiceXML (VXML) is a standard that gets a mixed reception, depending to whom you're talking. Some engineers say things like, "It's not that easy or intuitive for a novice to grasp. It'd be just as quick to use a general purpose, high-level language."
Advocates of VXML as a standard for specifying interactive voice dialogues between (wo)man and interactive voice response (IVR) machines would surely take a different view. And, to be provocative, I suggest that Call Control eXtensible Markup Language (CCXML) was an afterthought - or as Homer said, "Oh, so they have Internet on computers now!"
The problem with such standards is that they are so niche. Nobody writes a business application entirely in VXML (or indeed, in MSML, MSCML, MGCP, MEGACO, ...). Quite likely, such applications are written in a general purpose, high-level language. These are de facto standards, such as Python, Ruby or C#.
That brings me to media servers and the argument for using niche standards to control them. I suggest application portability is a myth. A well structured, high-level API for voice (and video) may be proprietary, however, it is an arguably better option than using a niche standard, particularly if the API library uses the same language in which you write your business application.
Incidentally, the Battle of the Standard was fought on Cowton Moor, near Northallerton, on the 22nd of August, 1138. Historians on either side have since claimed at least a moral victory for their sponsors. So, it seems that standards never change.