This project is read-only.

General requirements

  1. Software shall allow managing various types of media including pictures,music, videos, documents.
    • Implies an extensible architecture. Should not restrict to only certain types of media types.
  2. Software shall allow remote access to media.
    • Implies that the software can run as service/daemon.
  3. Software shall allow access to media from various kinds of devices like tablets, desktops, mobile devices.
    • Implies that the remote access protocols shall adjust to client which is being used, and that the user interface is not coupled with the main media management logic. Layered architecture.
    • Also Implies protocols like uPNP etc.
  4. Software shall support Win XP, Win 7, Linux, Mac-OS for media management functionality.
    • Implies that mono should be used as the primary language for the backend.
  5. TBD


General Media Management requirements

  1. The software shall be capable of cataloging media from various sources (local file system, UNC paths, ftp etc). In Version 1, the software shall allow cataloging media from local file system and UNC paths.It shall allow searching of sub-directories (included and excluded) in these locations.
    • Implies architectural abstraction of 'MediaSource' which provides abilities like GetMediaNames, Browse, Search(shallow or deep, with filters and sorting), Delete. e.g., LocalFileMediaSource attached to C:\music will provide access to all Media files in c:\music.
  2. The software shall be capable of rearranging media among various MediaSources (move, copy, delete).
  3. The software shall provide the capability of versioning media changes. e.g., if the user wants to edit a photo, he may create a version of that photo in YAMMU before editing it. This shall be initially done simplistically e.g., by creating a copy of the file with version number e.g., a.doc can be kept as a.doc.v1 etc.
    • Implies versioning API to be provided by MediaSource or a similar entity.
  4. The software shall be capable of backing up and restoring media to various BackupTargets (local file system, ftp etc). In the first version, backups to local file system and UNC paths shall be supported.
  5. The software shall be capable of searching for moved/missing media on these media sources e.g, if a file is moved from C:\a to c:\b then the software can be asked to search for this file in all media sources configured in the software.
  6. The software shall allow user to search for media based on the name of the item or the content of the item (e.g., ID tags, document contents, etc).
  7. The software shall allow user to rate various items for a rating between 0-5 in .5 intervals where 0 represents no rating.


Music Management requirements

  1. Playlists
    1. The software shall support music Playlist groups and playlists.
      • Playlist groups allow users and software (for automatic playlists) to group playlists  e.g., by location, user etc.
    2. The software shall support creating automatic playlists based on folders they belong to (location), genre, artist, album, year etc.
  2. The software shall allow the user to edit various ID tags on the music items for single media or a batch of media.
  3. Devices:
    1. Software shall allow user to synchronize music between YAMMU and mobile devices.
      • Implies plug ins for various devices.


Last edited Jul 26, 2012 at 11:58 PM by isujan, version 12


No comments yet.