cburschka / cadence

A strophe.js-powered XMPP web client for chatrooms.
6 stars 2 forks source link

"has returned" is inaccurate. #454

Open cburschka opened 7 years ago

cburschka commented 7 years ago

We use "has returned" if we get a default presence, but that's not accurate if the user was already available, and the presence was just used for a status message change.

Nor would "is now available" or even "is available" be a good message, since both imply that this was not previously the case.

If the presence doesn't contain a <show>, and there is no <show> on record, then the message text should be something neutral like "Status of {user} is" or something.

ghost commented 7 years ago

"{user} is {status}" would be more human-sounding than "Status of {user} is".

Personally, I don't think it's all that big of a deal if the message reads "has returned" or "is available", because it's a user-initiated change in status that reflects status they wish to announce. If it is technically inaccurate because of the timing of the initiation, surely the onus rests on the user to determine their status when they wish to change it.

From my experience the opposite might be an issue, where I've forgotten to set my status to away and have returned. It might be handy to have /online display the status (or repeat the current online status) even if the status was always "available", but I'm not sure if this is possible.

cburschka commented 7 years ago

"{user} is {status}" would be more human-sounding than "Status of {user} is".

Indeed.

The thing about this show/status thing is that a non-away (ie only a <status> text with <show> not set) is often used to provide tweet-like updates on what you're doing. So the use cases a client has to support are 1) switching from available to away (or extended-away, or do-not-disturb) and back, and 2) showing a text without altering the away status.

In the first case, we want "is away", "has returned" etc., while in the second we'd want a neutral phrasing like "{user} set status to: {message}" or "{user} is now: {status}"