Summary

To allow users to easily access, transfer and share files within Ubuntu providing a consistent user experience.

Rationale

Currently sharing data over networks is hard with open source software unless you happen to know how your desktop environment and the network work inside out. This fact is helped as there is no uniform way for different applications to present file transfer options to users giving a bad user experience. We know what different types of applications to use in different situation, most people don't or will never have the time to learn all the differences and then more time to configure each different system.

Technically as different applications have to manage data transfer themselves they cause a lot of basic code duplication and for many application using the same network interface it can easily become chocked, especially in the case of an internet connection and would quickly lead to a degrade in performance and then over user experience. Also as picking the most efficient method of data transfer for each different case is hard for users this will further complicate this technical mess leading to further user experience degradation.

Use cases

1. Mary wants to share a file with a few of his other friends but the file is too large to e-mail through his ISP.

2. Chris wants to share a song he has recorded for his band with as many people as he possibly can, but has nowhere to host it.

3. Fred wants to share some of her resent holiday photos with a friend who's laptop is connected over the same LAN as her Ubuntu Desktop.

4. Louise wants to download songs off a podcast off the internet in Banshee. (The podcast could use any transfer method)

5. George wants to share some of his photos with some of his relatives who live in another timezone (So they will never be on-line at the same time)

Scope

The user interface designs / programs and the necessary infrastructure changes / glue needed to unify the user experience.

Design

There will be a single GUI for monitoring file transfers, and a wizard for initiating the transfer / sharing of files. This will hide behind it the different protocols and just use and present the user with simplified options to what they want to do and not what they can do with the software they have.

This could be placed inside different applications if they want or called by them to be used externally allowing them to act upon the completion of the transfer or sharing action. This GUI can also be used to integrate with the desktop to provide a central place to managed all transfers happening presented in a easy to use way to the user.

Implementation

Current Methods

iFolder (iFolderP2PSharing, iFolderClient) – Used for sharing files over the LAN and Internet for a few users, the workgroup mode which would be useful in this problem is not yet finished.

GShare – Simple GUI for sharing files over ftp for LAN and Internet users, only useful for sharing files and folders from a file browser and not in various different applications.

Both of these are discussed in a similar spec called MultipleComputersSynchronization. This spec over complicates easy file sharing by trying to include user file synchronisation which is a hard problem in its own right.

<Put planned implementation here later>

Code

<none yet>

Data preservation and migration

Unresolved issues

BoF agenda and discussion

Isn't it a duplicate of EasyFileSharing ? -- AzraelNightwalker 2008-02-09 13:20:00


CategorySpec

EasyFileSharingSpec (last edited 2008-08-06 16:38:49 by localhost)