Sonerezh / sonerezh

A self-hosted, web-based application to stream your music, everywhere.
https://www.sonerezh.bzh
GNU Affero General Public License v3.0
767 stars 122 forks source link

How to organize the new homepage? #362

Open lGuillaume124 opened 5 years ago

lGuillaume124 commented 5 years ago

The next major release of Sonerezh (2.0.0) will offer a lot of new possibilities to implement new features, and I would like to refactor the home page (the page where you are redirected to once you're logged in) for Sonerezh 2.1.0.

By now this page only displays a list of songs but it is unusable when you have hundreds (or thousands) of tracks in your collection…

In place, I think we could have a page with data related to the current user:

Feel free to propose your ideas and I'll try to implement the best of them for Sonerezh 2.1 or 2.2. :)

MightyCreak commented 5 years ago

Personally I'm only on the album page, but it's not perfect for two reasons:

I know this is not very scalable since loading all the albums could be very long in huge DB, but I hope it can give you some ideas.

Nizhile commented 5 years ago

How about this kind of home page? The last imports are taken from album, and the last tracks played by the user from a stat/log table. The main motivation is that using smartphone browser, the two blocks seems to remain valuable for the user. image Note: I currently add the Played table to a dev instance, but failed to populate the table as using SongController.download() is not the right place after all.

fcharlier commented 5 years ago

When using Sonerezh, I mostly use:

I find the artists page is useless without at least a way to filter artists by the first letter (or a quick filter textbox).

I like @Nizhile idea to have recently added/played items on a user homepage.

Nizhile commented 5 years ago

I like @Nizhile idea to have recently added/played items on a user homepage.

@fcharlier , if you're a bit adventurous, you can use this patch on a clean 1.2.5 install. It works only with Mysql database.

Note that once patched, you need to use Console/cake schema update SonerezhMysql to create the new table.

This patch replaces the list of all songs by the list of latest five songs played. Hence users will at first have an empty homepage.

Note also that there is no limit on the played table: if you have a lot of users, it might become very big without any mechanism to purge it. Moreover, the request to the database is rather not optimal.

Nizhile commented 5 years ago

If you want to get a feel of what last imported albums looks like on home page, you can use this patch on a clean 1.2.5 install.

Note that the patch currently remove pagination on the songs list: only the first page will be available. Anyway, clicking a song in the list will add all songs to the queue; clicking on a song in an album will replace the queue by this album (the same as in album page).

WARNING If you use it with the patch from my previous comment you will probably mess up your sonerezh install (files index.ctp and SongsController.php).

MightyCreak commented 5 years ago

I like the Spotify/Deezer UX. Everything is in one page.

In Sonerezh, we could remove all the pages and, by default display the most played songs/albums, have a list of a few albums that weren't listened that much (maybe a random of 5 albums in the lower 10% albums).

Then a menu on the left that allows to efficiently search for anything (song, artist, album), as well as all the playlists created.

techexo commented 5 years ago

Hi, I'm glad to see that there is some discussions about what's missing or what's weird on Sonerezh 👍! To add my two cents:

Anyway, great soft and keep up the good work 😄

manichardtiger commented 5 years ago

Most listened songs or bands would be nice, but to be honest, on of the best features of the gui is its lovely simplicity I really enjoy simply logging in, clicking random playback, selecting one of the first songs and then just following the dynamic playlist that is created from ALL your songs

No other player really does this.

I would suggest a filtering of sorts in the Artists and Albums pages as noted by MightyCreak above. A nice feature would be a button that takes you to the currently playing track, as sometimes you can really get lost in the playlist viewer Also, maybe the ability to selectively remove items from the playlist viewer?

Maybe the playlist viewer could be a more integral part of the first screen?

keep up the good work :)