- Use a fixed format font for sender and receiver because we still manually align tabular data and draw ASCII diagrams.
- Don't interpret any of the message text as emoticons, links, telephone numbers, etc. Most of the time the interpretation is inappropriate.
- Identify every message in a conversation so they can be referenced. We use specific identifiers -- file paths, line numbers, revision numbers, etc -- because specific referencing means that all parties in the conversation are using the same data. Use a simple initials + sequence number identifier for ease of typing. (No UUIDs, please.)
- Includes images in conversations. Images are only slightly less important than text to a successful conversation.
- Show more messages on the screen. Do this not by making the font smaller, but by reorienting the message presentation to take advantage of monitors having more width than height.
Update: I would add tabular data to images as another first class data type. For example, I like how I can copy a SQL select result from DBeaver or SQuirreLSQL and paste it into Jira.