+interfaces (e.g. USB or Bluetooth) as JSON or Protocol Buffers (protobuf).
+
+## JSON
+
+The JSON format is the most flexible and easiest to use. The format is fully
+specified in the [JSON.mkd](JSON.mkd) file in this repository.
+a more flexible option than binary, but is less compact and
+therefore takes more bandwidth and processing power.
+
+The JSON format is best for most developers, as it is fairly efficient and very
+flexible.
+
+## Binary (Protocol Buffers)
+
+The binary format is encoded using [Google Protocol
+Buffers](https://code.google.com/p/protobuf/). The format is specified in the
+file [openxc.proto](openxc.proto). The descriptions of the messages can be foud
+in the JSON specs - the binary format mirrors this.