-
Notifications
You must be signed in to change notification settings - Fork 60
Per User Collections and Multi User Support (Design Considerations)
This page is supposed to describe the design considerations needed to implement per-user music collections on the bassis of multi-user support. The feature was initially brought forward along issue #52.
The document is open for discussion.
As of now, Supersonic does not allow for user-specific music collections. Instead, users may specify directory locations and upload music into (followingly titled directory-based collections). This has several drawbacks:
- Users need to be aware of directory layouts
- Users may access and modify each other's music files
Consequently, a future version of Supersonic should enable users to maintain individual music collections. At a minimum, this requires introducing multi-user support which Supersonic lacks yet.
The following describes a list of basic requirements needed to implement the desired functionality:
- Users shouldn't be required to specify music directories, both for convenience and security reasons. Instead, Supersonic should choose directory names automatically from the user ID. (User names are inappropriate as they may be subject for change).
- Facilitating separate music collections is just one usage scenario for multi-user support (another simple one would be user-specific start pages as suggested in issue #56). Thus, any basis implementation should be open for future multi-user extensions (especially with regards to how the database model is modified).
- Particularly, one such extension that will inevitably be required after allowing for per-user collections is music sharing. This is a logical consequence from the fact that the existing directory-based collections inherently supports sharing. (In fact, it is the only mode of operation.) Music sharing raises numerous additional design questions, however, which calls for providing a rather basic implementation in the initial phase.
- Playlists should be handled in a user-specific fashion as well. (As of today, there's a global playlist which all users can modify.)
- Once per-user music collections are available, continuing to support directory-based collections seems misleading from a UX perspective, which is why it support should be removed completely. However, a migration strategy must be provided then to allow for transitioning to the new schema. There are several strategies to think of with varying degree of complexity and the extent to which they make sense (examples: Collection duplication, migration wizard, require the admin to deal with it manually) that deserve further elaboration.