Skip to content
Dmitry Bogdanov edited this page Apr 12, 2018 · 12 revisions

Beets Web UI is the visual representation of your music library in a web interface.

Why do we need it?

  • It will allow users to "see" their music library in an accessible way. Currently the command line nature of the Beets UI defines the experience as query based. A Web UI would open Beets up to be a broader experience (ie. potentially see all artists, albums, tracks etc.)
  • It would be a lightweight and user friendly way to introduce new users to Beets
  • Potentially allows the user to access their library remotely

Use cases

Please help by adding your thoughts here

  • I want to be able to view/browse my entire music library from different perspectives:
  • Be able to filter albums by artist
  • To further sort album list in chronological and alphabetical order (other sorts may apply)
  • Optional fields on screen eg. on an album listing for an artist, choose whether to display release year or original year, and be able to sort by those fields.
  • Album art should be available to accompany album information
  • Possible fan art to accompany artist information
  • Reports - Needs more detail
  • Charts and statistics - Needs more detail (Potential to use https://d3js.org/)
  • Create and browse playlists
    • Basic playlists based on metadata (artist, album, year, random, etc.)
    • Playlist plugins (for example, in the long term it would be possible to create playlists based on music similarity)
  • Support playback loudness normalization using ReplayGain or the EBU R128 standard.

What are the origins of Beets Web UI and where can I read more about it?

Technical requirements

  • Play music remotely - on the server
  • Play music in the browser
  • An interface to the importer
  • Ability to run jobs in the background

Minimum Viable Product (MVP)

The idea is to get something out quickly; is fit for and serves a purpose and is of value - however small that purpose may be. The above use cases will allow us to prioritise what is needed for the MVP. Once we've refined that, we can start delivering more features that add value to the Web UI. Once we know what the MVP is, it'll be defined here.

Suggested development approach

Lean UX approach (https://www.jeffgothelf.com/blog/lean-ux-book/)

  • Discovery - User research and requirements gathering
  • Alpha - Wireframes to evaluate hypotheses through user testing which is then refined through iteration, and compiled into a "click-able" prototype, which again is tested and iterated.
  • Beta - Working UI that gets refined through wider use
  • Major release.