JSON and XML can also be wasteful on developer&#x27;s time. I&#x27;ve seen <i>a lot</i> of time wasted in organizations where JSON was used as the communication medium between microservices (hundreds of them). Lots of time spent implementing parsers, watching out for changes, etc (of course, there&#x27;s many process &amp; culture &quot;solutions&quot; for these problems). Most of this goes away easily when you adopt a binary&#x2F;IDL-based format (in the latest case I&#x27;ve been through, Thrift)<p>JSON&#x2F;XML are the &quot;dynamic language&quot; of the transport protocols: flexible and quick to prototype, but can become very hard to &quot;refactor&quot; and performance suffers, as the thing grows.<p>As for <i>public</i> APIs, obviously agree with your point - it&#x27;s a lot easier to roll out a JSON interface as parsing libraries are widespread, etc etc