I am starting to work on an application that consists of multiple components. Some of them reside at the server-side while some will be on the client side. I have most of the stuff figured out but I can't decide if I should use a human readable protocol for communication between the server and the client or if it is best if the format will be non-human readable.
So far all the scenarios could be made so that only text will be transferred between the server and the client. But obviously, if I take into consideration a future expanding I may be in the need to transfer non-text data (Ipotetical example: images)
For the actual communication channel I will use standard sockets (no REST, WebServices or anything like this), so I will have a lot of flexibility.
Both human-readable and non-human-readable have advantages and disadvantages, so I am unsure which path to take.