What's the difference between this and BSON, another binary based JSON implementation?
1. MessagePack includes less data types. Several of the BSON-only data types are specific to MongoDB, but others - such as separate types for binary data and UTF-8 text - are IMO quite useful.
2. MessagePack includes several optimizations in the "type byte" to efficiently represent small values.
A while back I designed my own serialization format that combined features from both, but I never finished an implementation.
I also planned to define a standard set of tags for the "tagged value" type, but never quite got around to that.