Project

General

Profile

Brainstorming » History » Version 100

Greg Burri, 05/08/2013 09:33 AM

1 1 Greg Burri
h1. Brainstorming
2
3 98 Greg Burri
[[Brainstorming version 1.0 (old)]]
4 1 Greg Burri
5 99 Greg Burri
h2. Current version
6 76 Greg Burri
7 56 Greg Burri
h3. 1.1
8 1 Greg Burri
9
See "here":http://dev.d-lan.net/versions/21
10 99 Greg Burri
11
h2. Future versions
12 60 Greg Burri
13
h3. 1.2
14
15 90 Greg Burri
See "here":http://dev.d-lan.net/versions/25
16
17 100 Greg Burri
h3. 1.3 
18 62 Greg Burri
19 69 Greg Burri
* Add a stats tab with some graphs :
20 78 Greg Burri
** A graph of download and upload rate over time
21 69 Greg Burri
** A graph of the number of peer over time
22
** A graph of the sum of available global data over time
23 78 Greg Burri
** A graph of the total download and upload rate over time
24
** Stats are persisted in a file
25 79 Greg Burri
** Data can be exported in csv files
26 78 Greg Burri
** The most uploaded files (this day, this week, total)
27
** The total bytes uploaded and downloaded (this day, this week, total)
28 73 Greg Burri
* Add an option to be able to move and re-size windows in the MDI area.
29 74 Greg Burri
* Be able to drag'n drop a file or a folder from a remote peer (browse window) to our local folders (local browse window).
30 71 Greg Burri
31
32
h3. 1.4
33
34 59 Greg Burri
* Handle URL (link) in the chat and the log
35 60 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.
36 70 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]].
37
** To develop...
38
39 30 Greg Burri
h3. Not planned
40 32 Greg Burri
41 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.
42
** This option is available from the trayicon (Core) or in the settings panel (GUI)
43 1 Greg Burri
** Automatically detect a running game and set the limitation flag.
44 36 Greg Burri
** Automatically detect CPU/bandwidth usage and set limitation flag.
45 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.
46 20 olivier morel
* The user can dynamically change the number of _downloader_ in the settings window (1 to 10 for example).
47 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.
48 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. 
49 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.
50 10 Greg Burri
** There is a button somewhere to open a blank browsing window.
51 1 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 ?).
52
** You can switch the peer-list to a tag-list
53
* Virtual folder to aggregate some real folders. For example the virtual folder 'Divx' may merge '/mnt/Divx1', '/mnt/Divx2' and '/home/paul/movies'.
54 57 Greg Burri
* Protect some sharing by a password / user rights for shares.
55 1 Greg Burri
* IPv6 support.
56
* The user can save favorites (a folder in a peer). The favorites are displayed in a panel below the peer list.
57
* The peer list shows by an icon the OS (Linux/MacOSX/Windows)
58
* Identify certain file (like mp3) without theirs metatags. Same mp3s with different id3tag will be considering to have the same content.
59 40 Greg Burri
* The user can create peer groups and drags peer into like a classic IM (pidgin).
60 41 Greg Burri
* Automatic update system under windows and mac osx. Like Firefox.
61
* Try to keep a small core and add a plugin system like Firefox.
62 42 Greg Burri
** Use of qt-script for plugins ?
63 43 Greg Burri
* To have the Windows 7 compatible certification : http://www.readyset7.com/software.aspx :F
64 44 Greg Burri
* Using of "Lucene":http://lucene.apache.org/ for a better searching engine
65 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.
66 92 Greg Burri
* Use "THEX":http://open-content.net/specs/draft-jchapweske-thex-02.html#anchor4 to verify file integrity.
67 1 Greg Burri
* Ability to ban a peer, for example leecher.
68 93 Greg Burri
* Use of the "Tonika":http://pdos.csail.mit.edu/~petar/5ttt.org/ network to be able to use Internet to exchange files.
69 57 Greg Burri
70
h3. Technical
71
72 89 Greg Burri
* Use of a faster malloc (and optimized for multi-threading) lib like "tcmalloc":http://goog-perftools.sourceforge.net/doc/tcmalloc.html or "jemalloc":http://www.facebook.com/notes/facebook-engineering/scalable-memory-allocation-using-jemalloc/480222803919.
73 1 Greg Burri
74 56 Greg Burri
h4. Searching
75 38 Greg Burri
76
* User can use quotes to search a complete sentence, for example : "I have a dog".
77 1 Greg Burri
* Search in meta data like ID3tag and in compressed file (zip, etc.).
78 38 Greg Burri
79 56 Greg Burri
h4. Chat
80 38 Greg Burri
81 81 Greg Burri
* Private chat (point-to-point).
82 38 Greg Burri
* 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).
83 52 Greg Burri
* Status : online, occupied, away. (with auto away)
84 1 Greg Burri
* Be able to mute someone
85 82 Greg Burri
* Bridge to IRC, each core act as a IRC server. This feature should be implemented after channels and private messages.