I'm doing a project which has a server which loads plugins to communicate with hardware or to perform scheduled tasks. I have a working server, but I'm just starting work on a client gui which will connect to the server over TCP and display a dashboard of what the server is doing in real time. My first question, should I use a plain text protocol and write a class to parse it into an object, or should I use a serialized object to act as packets? My style in the past has been to write a text based protocol and parse it. But I'm also new to doing this in java. If java has a better method, maybe I should be taking advantage of it. Is it faster/slower? Is it more reliable, or just more proper and easier to expand?