UbuntuHomeMediaServer

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad entry: none yet

  • Packages affected:

Summary

The home media server is the center piece for any networked entertainment system. The essential features include reliability, backup, easy way of transferring stuff and of course tagging, labeling and search. Most probably the feature set would be an intersection of off-line(local) and on-line features. For example, keep all photos and video at a central place while publishing a subset for friends and family to view; may be create different scrap books for different contexts ...

There are already lots of pieces of this in existence and in the works. One major work would be mapping the feature set (assuming first we capture the essential feature set) to existing packages, the second being gluing them together, with added interfaces, to mask the complexities and present a set of "well-oiled" "bullet-proof" deterministic Newtonian mechanisms for the various tasks.

Rationale

I want to put this spec in context with other similar specifications.

  • Home User Backup

    • This work most probably has the backup primitives we need. Most probably would need to add a storage model (full vs. incremental, weekly-monthly-yearly, when/how and task list) hierarchy driven by a UI and py scripts
  • Ubuntu Media Center

    • Am sure this work will have many features that has synergy
  • Folder Names

    • A good start at thinking about "user-friendly" folder names and organization. Most probably we would need to add a full ontology/taxonomy and expand on it
  • Zero Conf Server

    • Lots of good ideas and most probably has a full synergy. We could base our "discovery" protocols on ZeroConf. I think Apple does this. (Before Ian jumps in, I agree that there are security implications that we need to drill deeper ;o))

Use cases

  1. A wants to store the photos (from digital camera) in a central place
  2. A also wants to make sure the photos are not lost due to hardware failure et al
  3. A wants to store digital videos (from digital camera) in a central place
  4. A wants to publish a scrap book of selected photos to an on-line site
  5. A wants to find a photo taken during their vacation 3 years ago showing the Nordic Jump rink at the Utah Olympic Park
  6. A wants to make sure they have enough backup of all their media
  7. A wants to check the integrity of the backups of photos they took 10 years ago
  8. A wants to do all these without spending all their weekend in front of computer
  9. A wants to show their vacation video to their friends on the Ubuntu Media Edition (whether the friends want to see them is a different question, which we cannot solve ;o))
  10. A wants to have a central place for all media so all networked appliances (xbox, set-top box etc.) can reach them.

Technology view of the features

Quick Feature list (in random order)

  • RAID 0,1,0+1,5
  • Ontology and taxonomy for organization of artifacts - may be my media, my pictures, my backup, my tasks, ...
  • File Server (NAS would be better)
  • Browser based browsing
    • would need browser based AJAX or py scripts
    • would need server based py scripts to make things easy
  • Off-line backup - CD/DVD (most probably DVD)
    • With a good numbering scheme et al
    • Compare & Check backup and report

  • Ability to add notes et al - home server wiki ? based on Tomboy ?

Scope

Design

The implementation should be DLNA compatible

Implementation

Code

Data preservation and migration

Unresolved issues

BoF agenda and discussion


CategorySpec

Comments

This page has been dead since Jan, 2007, and I would like to take it over.

My ideas I have are based on my Debian2Debian project. I'd like to make something similar for Ubuntu.

  • Use ZeroConf / Avahi wherever possible. Server should work well with Ubuntu.

  • File sharing with no security. Use WebDAV, Apache, and mod-dnssd to publish the shares. Name them after the XDG folders already appearing in the user's home directory to keep things simple:
    • Shared Documents
    • Shared Pictures
    • Shared Videos
    • Shared Pictures
    • Backups

    Client configuration: None. Shares available in Places -> Networking.

  • Use mt-daapd (Firefly Media Server) to publish the files in Shared Music to all DAAP-compliant audio players on the network. This includes Rhythmbox by default. Client configuration: No configuration on the client side.

  • Use uPnP to share videos. Coherence has an experimental plugin for Totem. This needs to go into Main and be installed by default. The files in Shared Videos need to be published using a uPnP server. Geexbox's ushare is simple and should work, but MediaTomb offers metadata. These files can also be picked up by Elisa on the client. Client configuration: Add or enable the uPnP plugin for Totem.

  • Perl offers a DPAP module which can be made into a simple picture server for Shared Pictures. At some point, F-Spot is going to get DPAP functionality. We can try to add it ourselves. Client configuration: N/A. No roadmap here.

  • Gnome's Service Discovery Applet needs to be patched to use the xdg-open command instead of the nautilus command so that websites are visible to the discovery applet. Users will then only need to add the applet to their panels to get full functionality from the Home Media Server. Client configuration: Install the service discovery applet and add to panel.

  • Backups are an unknown right now. HUBackup (recommended above) has been broken since 2006. Finding anything that works with little configuration is difficult. My best idea is Conduit on the client to the Backups share.
  • Can also install a web page on the server which offers help and supplies apt: links for necessary client packages to ease the install on the client.

If nobody complains about my additions to this page by the end of Oct., 2008, I'm going to move ahead on this.

UbuntuHomeMediaServer (last edited 2008-10-01 15:35:57 by 221)