Project

General

Profile

Brainstorming » History » Version 70

Greg Burri, 03/19/2011 11:46 PM

1 1 Greg Burri
h1. Brainstorming
2
3 31 Greg Burri
[[Brainstorming version 1.0]]
4 1 Greg Burri
5
h2. Future versions
6
7 56 Greg Burri
h3. 1.1
8
9 57 Greg Burri
* Downloads can be paused.
10 58 Greg Burri
** Add two buttons, one to pause all download and one to unpause
11 60 Greg Burri
* Linux packages
12
* Ability to sort a search result by clicking column headers
13
* Internationalization
14
** User can switch the current language dynamically
15
** Is it two heavy to put all the language files in one installer?
16 68 Greg Burri
** Translate D-LAN and the website to french
17 60 Greg Burri
* Add specific icon for each file extension when browsing or searching
18
19
h3. 1.2
20
21 57 Greg Burri
* Persist cache by creating one file by physical volume, do not delete a file cache when a physical volume disappear or has disappeared. It's useful when a hot pluggable device is removed or plugged like a external disk drive.
22 58 Greg Burri
** Maybe it's simpler to save each shared dir in a separated file.
23
* Improve the chat feature
24 57 Greg Burri
** Be able to write multi-line message by pressing shift-enter to add an endline.
25
** When @ is types a list of known peer is shown. (Autocompletion)
26
** @<nick> are printed in italic.
27 64 Greg Burri
** When a message is received containing @<nick> where <nick> is your nick the window will blink
28
** You can press 'tab' to choose among the last person which has sent a message to you
29 1 Greg Burri
* Improve directory sharing :
30 66 Greg Burri
** Shared directory can be set as readonly
31
** The user can choose a particular folder into a shared directory where to put a download (file or directory).
32 62 Greg Burri
33
34
h4. 1.3 
35
36 69 Greg Burri
* Add a stats tab with some graphs :
37
** A graph of download and upload over time
38
** A graph of the number of peer over time
39
** A graph of the sum of available global data over time
40
** Stats are persisted in a file?
41 58 Greg Burri
* Handle URL (link) in the chat and the log
42 68 Greg Burri
** An URL is displayed on top of the file browsing windows like : _D-LAN://192.168.1.46/movies/sci-fi_. It's allowed to copy or paste an URL.
43 59 Greg Burri
** Add a link definition. The user can make link from its files/folder or from a remote file/folder. See [[Protocols#Links-to-resource]].
44
** To develop...
45 60 Greg Burri
46 70 Greg Burri
h3. 1.4
47
48
* Be able to switch the download list from the current flat list (only files are displayed) and the hierarchic view which shows all the folders in a treeview. This second view show the progress of each folder. 
49
50 57 Greg Burri
51 56 Greg Burri
h3. Not planned
52 31 Greg Burri
53
* Improve the Qt version http://qt.gitorious.org/qt/qt/blobs/master/src/corelib/io/qfilesystemwatcher.cpp (and dependence files) to
54 30 Greg Burri
** Watch "recursively" and "passively"
55 32 Greg Burri
** For the three platforms : Linux/Win/MacOSX
56 36 Greg Burri
* The user can set a flag to active bandwidth and CPU limitation. If activated then downloading, uploading and hashing rates will be reduced.
57
** This option is available from the trayicon (Core) or in the settings panel (GUI)
58 1 Greg Burri
** Automatically detect a running game and set the limitation flag.
59 36 Greg Burri
** Automatically detect CPU/bandwidth usage and set limitation flag.
60 57 Greg Burri
** See by an icon next to the peer name in the peer list when a peer has setted the option to reduced the bandwidth.
61 20 olivier morel
* The user can dynamically change the number of _downloader_ in the settings window (1 to 10 for example).
62 23 Greg Burri
** More downloader will increase the global transfer rate but will download more file in the same time thus the files will be available later.
63 15 Greg Burri
* Detect duplicates (files which have the same size, same hash and same name) on the local machine and allow the user to easily remove them. 
64 5 Greg Burri
** [Greg] Compare only the hashes is better because some identical files may have not the same filename. Moreover the size (or the name) is pointless because the hash identify the data.
65
** There is a button somewhere to open a blank browsing window.
66 10 Greg Burri
* The users can add some comments or tags associated to theirs sharing. These comments or tags are displayed in the list of peers (new column ? tooltip ?).
67 1 Greg Burri
** You can switch the peer-list to a tag-list
68
* Free space management.
69
* Preview of video and mp3 files from a peer. Streaming ?
70 17 Greg Burri
* Virtual folder to aggregate some real folders. For example the virtual folder 'Divx' may merge '/mnt/Divx1', '/mnt/Divx2' and '/home/paul/movies'.
71 1 Greg Burri
* Create a theme with : "Qt Style Sheets":http://doc.trolltech.com/4.5/stylesheet-examples.html. See the interface of _Qt Examples and Demos_.
72 19 Greg Burri
* Protect some sharing by a password / user rights for shares.
73 1 Greg Burri
* Statistics window with real time graphs. (see the statistics of eMule).
74
** The most uploaded files
75 57 Greg Burri
** The total bytes uploaded and downloaded
76
** Persists some values
77 1 Greg Burri
* IPv6 support.
78
* The user can save favorites (a folder in a peer). The favorites are displayed in a panel below the peer list.
79
* The peer list shows by an icon the OS (Linux/MacOSX/Windows)
80
* Identify certain file (like mp3) without theirs metatags. Same mp3s with different id3tag will be considering to have the same content.
81 40 Greg Burri
* The user can create peer groups and drags peer into like a classic IM (pidgin).
82 41 Greg Burri
* Automatic update system under windows and mac osx. Like Firefox.
83
* Try to keep a small core and add a plugin system like Firefox.
84 42 Greg Burri
** Use of qt-script for plugins ?
85 43 Greg Burri
* To have the Windows 7 compatible certification : http://www.readyset7.com/software.aspx :F
86 44 Greg Burri
* Using of "Lucene":http://lucene.apache.org/ for a better searching engine
87 68 Greg Burri
* Create a tool like "ExpanDrive":http://www.expandrive.com/windows (_Windows_) which can simulate a file system. Therefore the user can browse an D-LAN network from Explorer, for example : _G:\<user>\<share1>\etc.._. Same thing under _Linux_ with _mount_. See http://code.google.com/p/whefs/ for a virtual file system tool.
88 1 Greg Burri
* Create a voting system per peer, you can tell if you like or dislike a peer ('+' or '-'). Then, a good or bad icon will appear next to the nick of each peer in the peer list. If a peer share virus or corrupted files it will be shown as such.
89
* Use THEX:"http://open-content.net/specs/draft-jchapweske-thex-02.html#anchor4" to verify file integrity.
90
* Ability to ban a peer, for example leecher.
91 57 Greg Burri
92
h3. Technical
93
94
* Use of a faster malloc (and optimized for multi-threading) lib like "nedmalloc":http://www.nedprod.com/programs/portable/nedmalloc/ or "hoard":http://www.hoard.org/.
95 1 Greg Burri
96 56 Greg Burri
h4. Searching
97 38 Greg Burri
98
* User can use quotes to search a complete sentence, for example : "I have a dog".
99 1 Greg Burri
* Search in meta data like ID3tag and in compressed file (zip, etc.).
100 38 Greg Burri
101 56 Greg Burri
h4. Chat
102 38 Greg Burri
103
* Private chat (point-to-point). 
104
* Chat by channel (each user can join one or more channel and he will receive all the messages broadcasted to the selected channels). The channel can be created by any user (like battlenet).
105 52 Greg Burri
* Status : online, occupied, away. (with auto away)
106 53 Greg Burri
* Be able to mute someone