Polari Contextual User Popover

Primary Goals

  • Find the real name of a user.
  • Take conversation to a private room.
  • Provide some information on user activity/inactivity
    • When online: what was the last time this user was active?
    • When offline: when could I expect the user to be online again?
  • Opportunity to elaborate on the blue/grey color used to indicate if a nick is offline or online.
  • Get notified when the user appears online.
    • Is not a persistent setting. The use case is that some person is offline whom you wish to speak to (which person that would often change).
    • There may be more use cases than this, needs experimentation.
  • Find recent user activity
    • find links recently shared by the user
    • find conversations you recently had with the user

Wishful thinking

  • Have representation of what channels the user have also joined on the server?
    • Don't know if possible, or that useful.. --bastianilso
  • See the user's local time zone.
    • Not supported by IRC. Could be estimated from IP but likely not possible to estimate properly? Bouncers, Proxies, VPNs and such. --bastianilso
  • Display user's location which can be opened in GNOME Maps?
    • In practice not nice without the user being asked for consent to share his location --bastianilso
    • Cannot use the Location portal / geoclue as that's not supported in IRC, so it wouldn't be very nice. --bastianilso
    • Location by IP can be very incorrect if behind proxy/vpn/bouncer --bastianilso

Relevant Art

Facebook chat






Tentative Design



  • Share the information provided in the popup with the information revealed in the userList. --fmuellner (TODO)
    • Do something for private messaging windows too? --bastianilso (TODO)
  • To clarify, popover is revealed on click (not on hover). --bastianilso
  • "Show Past Activity" performs a search on that user's name. It could be expanded actions fx. "Show shared links" and "Show conversations" but I anticipate we will have fast search in Polari, so that might not be necessary. --bastianilso
  • Borrow the "Follow" concept of Facebook so users can receive notifications when that user speaks or joins a room you are also in?
    • In practice I think your interst in who is speaking/joins is highly dependent on context and changes often though. --bastianilso
  • The exact behavior of the bell button needs experimentation. There may be more use cases than anticipated. --bastianilso

Technical Constraints

  • We don't have an identifier for the person, so can't fetch avatar through fx gravatar/e-mail. --bastianilso
    • Also, fmuellner mentioned that since we dont have "stable" identities then trying to put identity to the nick is a bit pointless and never really very trusting.. --bastianilso
  • If a user is behind a bouncer, the time zone and country may indicate wrong information. --bastianilso
  • The real name is sometimes "realname", "purple" or just empty rather than containing the real name. --bastianilso
  • Unsure if bell icon is provided by adwaita icon theme, may need to be shipped with Polari. --bastianilso.
  • The proximity stuff is not worth the complexity. --fmuellner
  • Popover for online users should message the nick that is actually online - we use basenicks to identify the nick to color, so there can be a difference between the nick you click and the actual nick you are trying to message.

See Also

Design/Apps/Polari/ContextualPopup (last edited 2016-12-13 02:07:02 by MatthiasClasen)