Basically, it's a protocol for a client to subscribe to and receive live data updates from a Meteor server, plus the ability to call server-side methods. By implementing a DDP client (which could be in Java, iOS or whatever -- not just Javascript) you can interact with a server running Meteor.