I thought the same thing! Then I started learning about FIX. Unfortunately, it's a disaster.
Worst case of design-by-committee I've ever seen. More of a trainwreck than all the XML standards rolled into one.
I think the meta-problem here is that FIX was created by the big Wall Street firms, and for them hiring ten programmers instead of one to implement some needlessly-overcomplicated protocol is no big deal. In fact, the IT managers kinda like this because it increases the size of their fiefdom. So, sadly, pre-bitcoin the organizations in a position to standardize this kind of thing also had an incentive to make it as complicated as possible.
In principle I'm in favor of standardization, but if an API is designed well it should really only take you 2-4 hours to write a plugin for it. I guess that's part of the reason why I'm so prone to rant about crappy APIs. If the exchange does a good job, the fact that there's no standard isn't really that much of a big deal.
I think you forgot to consider "quality of design" versus "quality of implementation" dichotomy. You also completely neglected "cost of initial implementation" versus "cost of ongoing maintenance". FIX maybe like a camel: a horse designed by a commitee. But it has some of the best and most reliable implementations.
I wish that hiring one smart programmer would always guarantee a good solution. But I'm emphatically absolutely positively sure that this isn't a case. Your LiMP design is nice, lean and mean. But for comparison take a bitfury's proposal of mining protocol, where he had made completely newbie mistakes:
https://bitcointalksearch.org/topic/proposal-for-lightweight-mining-protocol-over-udp-84791I actually have an extensive experience in deploying and maintaining SOA (Service Oriented Architecture). We've been in a good position to be able to charge per-request and per-error, and our TOS contract has special provision to deal with people who believe that "if an API is designed well it should really only take you 2-4 hours to write a plugin for it." Both salespeople and tech support people are trained to recognize them as problem customers and charge/treat them appropriately.
I posted about this earlier in slush's thread about Stratum:
https://bitcointalksearch.org/topic/m.664479Anyway, I was going to post links to a quite well designed trading protocol that is easier to implement than FIX. But Interactive Brokers are now require to have a properly funded production acount before they let you play with their API with a "paper trading" account. You may still want to review the freely available demos and documentation.
I just post one quote from the "IB gateway" (technically the better term would be "IB proxy") I find crucial:
Must remain running to maintain access to IB trading system. Yes Yes