I want to implement a chat server and a chat client (actually, more like an IM Server and Client perhaps) that communicates over TCP with SSL and Xml. In the Xml, I need to define a number of elements that will enable my applications to have a lot of features.(I don't plan to do video and audio calls yet.) My question is: Should I design the protocol before doing any coding? Or should I let my protocol evolve with the code? And what would be the best way to design a network protocol. Should I open up notepad++ and just play around with different element names and structures?
Thank you.
Thank you.