Notifications and messaging in MetaBrainz projects

During the last MusicBrainz summit in Barcelona we decided to start working on finding possible ways to implement two features that have been requested for a long time:

  1. Messaging between users
  2. Notifications about various actions in MetaBrainz projects

Since MetaBrainz is more than just MusicBrainz these days, we also want to integrate these features into other projects. That, for example, means when a user is reading reviews on CritiqueBrainz they can see notifications about comments on their edits on MusicBrainz. Same applies to messaging. These features are intended to encourage our communities to communicate more easily with each other.

Messaging

http://tickets.musicbrainz.org/browse/MBS-8721

The only ways of communication we have right now are two IRC channels, forums that we plan to replace with Discourse, and comments on individual edits. Sometimes we end up sending private emails to editors for one reason or another. Perhaps it is better to have our own messaging system for this purpose? I imagine it being similar to messaging systems on forums, reddit, etc. We would like to know what you think potential uses are for this and how it might look like to be useful.

Notifications

http://tickets.musicbrainz.org/browse/MBS-1801

Site-based notifications are another thing that people have been asking for a long time. For example, these notifications can be related to edits on MusicBrainz, reviews on CritiqueBrainz, datasets in AcousticBrainz, etc. It can be an addition or replacement for email notifications that we currently have in MusicBrainz. Maybe something similar to the inbox feature that the Stack Exchange network has. People should be able to choose if they want to keep receiving email notifications or only use the new site-based notifications.

Progress so far

We looked at a couple of ways to implement this functionality.

First suggestion was to use the Layer toolkit. The problem with it is that we don’t want to be dependent on closed software and another company’s infrastructure, especially in case of such important features.

Second was to use the XMPP protocol to handle communication and notifications. We tried to implement a proof of concept using this protocol and encountered several issues at the start:

  • It’s unclear how to store messages and process them later;
  • It can be problematic to reuse the same connection in different browser;
  • There are plenty of things that we’ll need to implement on top of this protocol ourselves (like authentication, storage, notifications).

Repository with everything that was implemented so far is at https://github.com/metabrainz/xmpp-messaging-server. Given these problems we started considering implementing our own server(s) for this purpose.

You can take a look at the document where we collect most information about current progress.

Feedback

There’s plenty of feedback on the site-based notifications feature request, and we have a pretty good understanding of what’s needed. This is not the case with the messaging feature. We explored several options for implementing this kind of functionality and decided that it’s time to refresh the list of requirements to get an idea of what needs to be done.

The goal of this blog post is to encourage discussion and gather ideas. If you are interested in these features, please share your thoughts and suggestions.

22 thoughts on “Notifications and messaging in MetaBrainz projects

  1. Roman Post author

    Hey mll. Thanks for suggestion.

    Though, I don’t think we need a Slack-alternative since IRC covers this use case for us. We don’t want to have too many ways for people to communicate because this splits up our community. We currently have is IRC, forums, and mailing lists (which are kind of dead). So the goal is to find out what is missing from these options and try to fill this gap (MBS-8721).

  2. CallerNo6

    Does the built-in messaging in Discourse already solve this problem? Or is one of the goals to have a standalone system?

  3. ruaok

    Caller: We explored the possibility of discourse being used to solve this problem. However, it appears that power to be behind discourse are against that type of integration and are actively blocking progress on that front.

  4. mwiencek

    The only things I’ve seen people request in the past are a direct messaging feature (nothing more than our current “send email” feature, except we’d store the message ourselves and show an in-site notification for it), and a way to comment/start a discussion thread on an MB entity page, and notify all the subscribers about it. I don’t see a need for real-time chat to be built into MusicBrainz.

  5. CatQuest, the Endeavouring Cat!

    what mwiencek said, basically: send and receive messages, onsite notifications, i.e: “you’ve got a new message/new messages have been left on the tread you’ve participated in, etc.”, as well as a discussion thread on entities. that’s all I’d expect or want. I’d also actively *NOT* want an “live chat” like thing and honestly this is the first I’ve seen anyone even mention it as something people would (not) want.

  6. chirlu

    Aerozol, your comment is very short (and rather tautological). Could you expand on what conclusions you draw from this for the question at hand? Do you think there should be a live chat as part of the website?

  7. AzoresOne

    > are actively blocking progress on that front.
    ahh shucks, I just signed up at discourse, it seems to be very cool and modern (built for the future they say). But is it free? They just put me in a sand-box forum…
    > live chat could be useful (for the Romans: “every beautiful thing should be (also) useful”. for the Greeks: “every useful thing should be beautiful”. Me: beautiful and useful!), for there are many issues to discuss and iron-out, edit-wise, that’s my main area for now. But it also could take editors away or distract from the essential matters at hand, which is editing, voting and commenting.
    It already takes soooo long to enter a edit, then hours sometimes defending, argumenting, contra-argumenting edits… isn’t there a dark side to every thing in this universe?

  8. chtfn

    I reckon messaging would be useful. I see why people think a “chat” tool does not make much sense, but I see it like this: more like an email inbox that notifies you when you have a new message when you are on Musicbrainz (and therefore would use the same notification system mentioned in the post), and if you happen to be online at the same time as the other person, well you might end up “chatting” live. Why not? It might help to resolve an issue straight away instead of waiting for people to check their normal email inbox and drag it for ages. I don’t believe that tool would “distract from the essential matters at hand”… Sorry for the comparison, but see it as the messaging on Facebook: you can just send a lengthy email and wait for a response for days, but you can use the exact same thing to discuss live.

    Metabrainz integrated messaging + notification tools make a lot of sense, so everything is there when we go to the website(s). I’d love to have everything there, instead of getting an irregular flow of emails related to Musicbrainz. I’d love to just go to the website when I want to, see my notifications there, and focus on the work on the database with all the tools I need on there.

    I think a separate discussion page for each entity would be great, à la Wikipedia. It would be very useful to keep a history of what has been discussed previously, for example not to repeat a conflict that has been resolved before.

    Thanks for asking what the community thinks. Sorry I can’t recommend any software, but of course, I would like to weigh in towards open standards and Free Software… 🙂

  9. InvisibleMan78

    My 2 cents:
    a) Stop the mailing lists
    b) Introduce some kind of “Talk/Diskussion”-page for all entities à la Wikipedia (with the possibility to subscribe to such an additional page like we already can subscribe to several other entity types)
    c) Highlight even more the actual very good hint on the start page (actually: “We’re looking for feedback…” or “New comments for edit”). Maybe with colors, with shadows, blinking or whatever.
    d) IMHO the actual Forum, IRC and a new Talk/Diskussion-page would be enough for many of us.

  10. chirlu

    Regarding the relationship between on-site and email notifications, I’d like it if I could have email (only) if I haven’t seen the on-site notifications for n hours; i.e. an email notification notifying me of new on-site notifications. (Others have said that they still want an immediate email for every event, as it is now, so this would need to be configurable.)

  11. PATATE12

    I feel that it would add much complexity to MusicBrainz server to integrate a message system and it would be a liitle pity to store the equivalent of “send email” content forever.
    Like InvisibleMan78, I don’t mind keeping the current IRC and forums, while adding an entity discussion page, that would rock, indeed.
    The forum should be bettered to accept non Latin script and, only if possible, use MB as OpenID like AcoustID does.
    http://tickets.musicbrainz.org/browse/OTHER-130

    I know it does not sound ambitious or super fun, it’s just to let you know that some people may have such low expectations. 🙂

  12. aerozol

    @ chirlu, my short post was in response to the two people before me who said that nobody in MB had ever shown an interest in live chat 🙂

  13. mwiencek

    I meant direct instant-messaging between two users, built into the website itself. People definitely find our official group chat (IRC) very useful. But I can see @chtfn’s argument too, that if the message notifications arrive without reloading the page, and if you can reply in a popup window or something, people would probably use it to quickly exchange short messages, and some people would find that useful and efficient. It just wouldn’t have your typical IM features like online/offline status or an indiciation that they’re typing something. (Which is fine, IMO, I would react negatively to those features and want them disabled.)

  14. Otringal

    I personally prefer notifications + email (perhaps digest?). It would only add extra stress if you have to visit MB to see if you have received any edit notes. I would create a messaging system that is a mix of forum pm’s (bold/italic text buttons, delete message, etc) and standard email functions (mark as read, flag important messages), and use a tab system similar to gmail’s. The first tab is for edit notes “someone commented/voted no on your edit”. The second is for MB/promo related stuff (“Read our latest blog post”, “We’ve released a new feature, check it out!”, etc) and the third is for personal messages. The messaging system could also be used to send beginners guides to newly registered users.

  15. Yurim

    I communicate via edit notes, IRC, and direct messages to the other editor. IMHO a messaging system could be nice to have, but other improvements (e.g. a better UX) are more important.
    What I am missing is some sort of communication tacked to the MB enities, mostly to-do notes like “The release date looks wrong and needs some attention”, “This artist might be the same as XXX”, or “The Spanish capitalization needs to be done.”

  16. PATATE12

    Yurim, I use entity annotations for this (like many editors including you I guess) but some kind of entity **wiki** discussion page for instance could be great. 🙂
    I could imagine a **Discussion** tab (**red** as empty at first) with a simple markdown syntax (with a **+** shortcut button like in wikipedia to introduce a new section title).

  17. Rovastar

    I am on the same lines as many here. I find the current system ok to be honest and I would like to see a wiki “talk” page before other messaging options or at least consider to implement alongside this.

    (Here is a forum post I did a while ago (I am sure others had suggested something similar before) about the wiki talk page suggestion.
    http://forums.musicbrainz.org/viewtopic.php?id=5501 )

    Although messaging individual user is useful I feel having discussion points on subject matters more useful. Artists, releases, labels, etc.

    I understand the desire to link in the other metabrainz projects but (hopefully without sounding too negative) I only use musicbrainz and not the others and for me (and I suspect many others) their will be very little benefit.

    And second the UX stuff potential improvements too.

  18. tommycrock

    Entity talk pages would also be my biggest request. I second Otringal’s request for easier notification of blog posts (especially now the style list has all but died) – I’d like to see that built into the main website. I’ve only wanted to PM people to ask advice on style or request a bot to be marked as such, but you probably shouldn’t use PM for that. I guess if you could tag people into forum posts that could be useful, but imagine that for every use there would be a misuse.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s