Now that we can push chat to Conpherence (at least, approximately) we can implement a bunch of related features.
Before we commit to a technical direction, it would be good to have a more clear product plan. I don't think the user-to-user messaging aspects have too many open questions, but a number of open feature requests focus on group/public/broadcast chat. Some examples:
- T5246: Allow Conpherence to explicitly support IRC-like channels
- T5099: Allow Project to have automatic Conpherence 'Rooms'
- T5231: Allow Broadcasting on all channels
The other major applications in this space (like Slack, HipChat, and IRC) also tend to focus on joinable chatroooms rather than threads with explicit recipient lists.
See some discussion in https://secure.phabricator.com/D9525
Some questions offhand that I don't see obvious answers to:
- Should we pursue this?
- Is some flavor of adding rooms to Conpherence the right way to move forward with the product? (e.g., should we make a separate application for chatrooms? Should we remove/replace user-to-user messaging?)
- How are rooms created? (Are they always bound to an object? Are they ever bound to an object?)
- How do users find rooms?
- How separate are rooms from threads in the UI? (Totally different applications, exactly the same UI, or something in between?)
- How do participants work for rooms?
- How do email/notification rules work for rooms?
- Technically speaking, if we implement "users in this chatroom", how does that work?