Hi Mike, thanks you for the pointer. I have read up on Protocol Buffers.
If the decision has already been made, then let's go with that, but if not perhaps I can offer some comments.
Looking at:
http://en.wikipedia.org/wiki/Comparison_of_data_serialization_formatsAnd -- "Canonically, Protocol Buffers are serialized into a binary wire format
which is compact, forwards-compatible, backwards-compatible, but not
self-describing"
I can see there are advantages in this approach in that you can send messages quickly and with low bandwidth. However the non self describing data means that it's significantly harder to convert from one format to another. Also references are important, and can be achieved in JSON.
Yet in my opinion there is great advantage to growing the bitcoin ecosystem to interoperate with the whole net, kind of creating a complete web economy. The way to do this is to foster interoperability. Having looked at and worked with standards for the past 5-10 years that is the great challenge. Every system works in an island, and few talk to any others. However, a market based economy grows exponentially more valuable with extra liquidity.