Enhancements and eye candy
Now that our chat basically works, we can apply some finishing touches to it, for example, improve the chat log presentation. Since the client already displays anything that the server sends its way, we can easily use Kivy markup (BBCode-like markup language, discussed in Chapter 1, Building a Clock App) to style the conversation log.
To do this, let's assign a color to each user and then paint the nickname with this color and make it bold. This will help readability and generally look nicer than a wall of monochrome plain text.
We'll use the Flat UI color palette instead of generating purely random colors, because generating substantially different colors that look good when used together is by itself not an easy task.
Outgoing messages (those sent by the current user) don't come from the server and are added to chat log by the client code instead. So, we will paint the current user's nickname with a constant color right on the client.
After this...