I'm not sure if you are thinking about chat clients for existing protocols, or chat services altogether, so I'll mention things that are relevant in either case.
In chat I want the conversation style of ytalk back: one where you see the other person's keystrokes as they type.
In mobile clients (of chat or social media) I would wish for an input method that doesn't rely heavily on word prediction, auto-correct, automatic capitalization, etc. and was still fast enough to comfortably type with it. I'm not sure what could give me that short of a chording minikeyboard.
In any clients I would want to have search functionality that can search through all the conversations I've ever was involved in (obviously unless I caused them to be deleted). Stemming _and_ "advanced search" are both a significant plus.
If we're talking about Fediverse social media client, I would want it to be more explicit about ActivityPub: ActivityPub has messages with recipients, cc, etc. (just like emails) and yet Mastodon and similar services try to hide that behind a layer of abstraction that seems designed to resemble other social networks (see e.g. the sharing choices for a post, or the lack of any sharing options whatsoever for boosts). For me this layer just adds confusion.
For social media, I think I would like a more email-like thread support. Web client of Mastodon currently is cumbersome when dealing with long and branching threads.
In chat I would dearly want to be able to send a "silent message": one that doesn't cause the recipient to be notified (and obviously is clearly marked as such). This would allow me to fret less about how should I try to reach people: if we had a conversation about <foo> over chat, I can simply continue it there even if it's the middle of the night and I don't want to potentially wake them up.
@robryk primarily i am making a modular client that i can plug existing protocols into (the first protocol is mastodon, because that's what i know ill use a lot of and wont have to be reverse engineered, or get me banned, like discord)
im still saving this information--
@dialupdoll Actually, you gave me an idea: would it maybe make sense to have a client that translates so that you can use a vanilla MUA? It could do that either by fetching stuff into a mailbox format, or by exposing something like IMAP to the MUA. One thing I can't really figure out is how to deal with boosts and with threads where some messages only were sent "directly" to me.
Maybe translation to Usenet would make more sense?
@robryk the idea is to expose text and activitypub concepts and contexts with a simple permissions model, so you could make, say, a backup system that works on all text versions of methods
@robryk core idea being you can just put markup or json in the text-version (preferably markup like markdown confusing as the names may be) and i want all supported apis/protocols to be MOSTLY compatible with each other thanks to an activitypub-esque backend design
@robryk of course that's fucking ambitious but i want to make a better pidgin so i was already aiming pretty high
all it can do right now is support the arbitrary abstractions and post to mastodon rn
@robryk i think i might be too young to grok this