How-to implement recordings feedback?

Hi,

I’d like to extend Argos client with a “love / hate” track feature (aka feedback).

I imagine a three state button “love / hate /no feedback” for each track and a read-only playlist populated from loved tracks.

At present time, Iris implements the three state button on its own using Last.fm API; If I remember well it doesn’t rely on Mopidy for this. It thus expects each Iris instance to configure an access token to that API, and the Mopidy server has no knowledge of the user preferences.

An alternative to Last.fm is Listenbrainz. Their Feedback API has few paths related to recording feedbacks (submit and get user feedbacks, etc.). My plan is to use Listenbrainz, I found their privacy policy easier to read, understand and more open.

What would be a future-proof design for such a feature in a Mopidy client? Should everything be implemented client side? Should Argos consume an API provided by Mopidy-Listenbrainz? Should Mopidy be extended with a feedback API and back-ends allowed to implement feedback providers (and Mopidy-Listenbrainz would implement such a provider, Mopidy-Scrobbler another one)? Has any work already happened on this topic?

My intuition is that the future-proof design is the last one, but I’d like to hear from others on this topic.

Thanks for your… feedbacks!

1 Like