Requirements

Erland Isaksson edited this page Dec 31, 2015 · 1 revision

Introduction

Main goals

This is a brief overview of the requires of different functionality areas

The main functional goals are to enhance Squeezebox devices with:

  • Good support for classical music and jazz music (which is the most neglected genres on the Squeezebox devices today)
  • Good support to discover music in your local library through smart playlist/mixing capabilities
  • Good support to discover and preview new music which you currently don't own
  • Good support for sharing recommendations about interesting music between Squeezebox owners

Non-Goals

  • This is about music. Video support (movies, YouTube?, etc.) are not design goals.
  • We want to try to do this together with Logitech so there isn't any goal to completely replace Squeezebox Server with this solution. Preferably we should be able to benefit from new features added by Logitech and at the same time add our own extra features on top of that.

Local Browsing

The following browsing functionality towards the local Social Music Discovery database should be supported.

Local Searching

The following search functionality towards the local Social Music Discovery database should be supported.

Local Context Menus

The following context menu related functionality towards the local Social Music Discovery database should be supported.

Local Now Playing screen

The following information from the local Social Music Discovery database should be possible to display on the Now Playing screen of the various players.

Import from tags

The following information should be possible to import from tags in scanned music files

Import from online sources

The following information should be possible to import from online sources

Managed information

The following information should be possible to manage through the user interface of the Social Music Discovery Application

Smart playlists/mixing

The following type of smart playlists/mixing functionality should be supported

Non-Functional Requirements

System requirements

  • System should "work" on low powered servers such as SheevaPlug, VortexBox appliances or left over PCs with only a modest CPU (say 1 gHz core and 512 MB RAM).
  • System must run on all mainstream platforms:
    • Mac OS X
    • Unix
    • Windows (XP, 2003 Server and later)

i18N/L10N/G11N

  • System must handle "international characters" (UTF-8, UTF-16, ...?) in database and UI
  • System must be localizable in terms of language and locale (number and date formats, collating sequence, etc)
  • Strings and other resources must be localizable to present texts in user's preferred (local) language
  • System should ideally support BiDI language? Maybe at some point. Depending on UI technology, this may or may not present a challenge (effort ranging from a checkbox setting to an entire project in its own rigth)

Performance

  • Scanning time should be "reasonable" which will depend upon both server configuration and size of the music library.
    • A 100 000 tracks library should be possible to completely scan during a night (8 hours)
    • It's acceptable if larger libraries might require pre-calculated smdID's in a custom tag to get decent scanning performance
    • It's acceptable if advanced scanning functions, like audio analysis to improve mixing capabilities, might need longer scan times as long as their result can be tied to the track using tags, smdID or similar mechanisms
  • Often used browse functions should have a response time of maximum 3 seconds in a 100 000 tracks library
  • Often used search functions should have a response time of maximum 5 seconds in a 100 000 tracks library

Legal

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.