Re: GSoC 2015 - Interface Improvements to CritiqueBrainz

Roman Tsukanov <[email protected]> Tue, 10 Mar 2015 09:34:47 +0900
Newsgroups gmane.comp.audio.musicbrainz.devel
Message-ID <CAJ6GbdLZT=Zbg8kWfMza2abDttPORm2vDyLTPgLYLBA-oXyP=w@mail.gmail.com>
Hey,

Got a few suggestions and questions:

> Moderation Interface (CB-157)
> -----------------------------
>
> Reviews can be reported currently but there's no way of taking any action on
> those reports, so we'll have to create a UI (that'll only be visible to
> moderators) where from the reviews can be hidden or removed.
>
> A user posts a review, someone else reports it. A moderator logs in
> (how will
> the mods be decided?), goes to the reports page and takes one  of the
> following actions:
>
> Hide:   The review will not be visible to anyone and the author will be
>          notified of it. The author can then edit the review to remove any
>          problems with it. After the edit, a moderator will have to
> 'pass' the
>          review for it to visible again.
>
> Delete: The review will be removed and the author will be notified.

To properly handle spam reports we might need some kind of user type
field that would indicate what user is allowed to do (post reviews,
decide what to do with spam reports, edit other reviews). For example,
we might want to deny some user access to review creation when they
post too much spam.

This section doesn't have to be limited to handling spam reports.
There might be some other useful functionality in this "moderation
interface". For example, fixing imported reviews (see CB-150).

Another thing that I think is necessary there is logging. We need to
know what actions are taking place in this interface and who makes
them.

> UI For Revisions (CB-29)
> ------------------------
>
> A new revision is created for every edit of a review, but there's no UI for
> viewing older revisions. So this will involve creating a UI similar to
> Mediawiki's History page that'll list past revisions (their votes etc) and
> will also allow the authors to revert back to an older version.

Revisions and UI that will be implemented there might be useful for
integration with moderation and editing by admins.

> Embedded Players
> ----------------
>
> CB-152 - Add other embedded players (Bandcamp, Soundcloud, others?) for
> releases that are linked to them.

I think we shouldn't just add a bunch of embeds into one page. A
better thing to do there would be to provide user with a way to create
a sorted list of streaming services in order that they prefer. When we
have a bunch of references to music streaming services embedded player
from the "most preferred" service available should be used.

Default order (if user is not logged in or didn't sort available
services) should be the following: services that allow to stream in
most countries should go first.

> Sort Order
> ----------
>
> CB-126 - Sort reviews by popularity on release group page.

This is already implemented (http://git.io/plPb). I forgot to close the ticket.

> CB-80 - Albums have no discernible sort orders.

How do you plan to fix this?

> The problem is that all these tasks combined are still not big enough to be
> considered for the three month GSoC period. I could add other issues
> into the
> list like CB-80, CB-36, CB-120, CB-123 but that won't really make much
> difference as all these issues are quite trivial.

It would be nice to know how you plan to fix CB-36. How you are going
to select other reviews to show on review pages (CB-120)? These might
not be as trivial as you think.

You could outline a schedule to show how much time you think it would
take to fix things that you mentioned and see what else you will have
time for.

> I could also try adding more MB entites, but am not too sure about which of
> those would make sense as a part of CB. 'Label', 'Recording' and 'Events'?

This might be another good part of GSoC project. Though the question
is how exactly this is going to be implemented. What changes will need
to be made in front and back ends to add support for another entity
type? There should be a clear separation of entity types in the user
interface. Users should be able to choose what type of reviews they
want to read. Maybe show some kind of summary on home page (top 6
reviews for each entity type).

After you figure out how to add support for multiple entity types it
should be easy to enable types that we choose to support. Also
consider how hard it would be to add support for reviewing entities
from BookBrainz or any other kind of brainz that we'll come up with in
the future. How to make this integration process easier.

> Does anyone have other ideas in mind?

What do you think is missing from the project? Maybe some parts could
have a better implementation? I think one of the goals is to help
people discover new music and make review reading process more
enjoyable. Would be nice to know what you think.

Thanks.

-- 
Roman