Features needed by all Gnutella clients 1. UltraPeers ... this is probably the most important addition for the clients that have no yet implemented it. It would allow for a much larger horizon, which would allow better download success using the already-implemented swarming technology in some clients. A 10,000 host limit is extremely small, and should be expanded to over a million or more in order for the swarming feature to be effective. In fact, it would be nice to be able to search the entire gnutella network, instead of just a subset of the hosts.
2. Swarming ... Bearshare already has this, and it is indeed a very useful feature that downloads the same file from multiple sources at once. It significantly improves transfer speeds. Constant source search would be a part of swarm downloads. Once a download has been selected, the program should continuously search the network for new sources for that download, and to add them to the downloaded sources once found.
3. Ability to search with metadata. This would be similar to the way the fasttrack (Kazaa/Grokster) protocol current works. For audio files (MP3/AAC/WAV/WMA/etc.) the following searchable metadata should be sent with each result: title, artist, album, category, language, year, quality (bitrate), length, size, and comments. For video files (AVI/MP4/MOV/WMV/RM/etc.) the following searchable metadata should be sent with each result: title, artist, category, language, resolution (image size), length, video codec (div3, div4, divx, ind5, ind4, xvid, 3ivx, etc.), audio codec (mp3, pcm, ogg, aac, ac3, etc.), size, and comments. For image files (JPG/GIF/BMP/etc.) the following searchable metadata should be sent with each result: resolution (image size), title, artist, category, size. All clients need to support this standard metadata functionality. However, since Bearshare and Gnucleus (morpheus) are the most commonly used clients out there right now, these two should spearhead the implementation of metadata searches.
4. By default, the client should search a user's computer for all standard media files and should ask the user if they want to share that media. Most users go with the default settings they are offered, so this would certainly increase the amount of data shared on the network.
5. Ability to specify upload bandwidth limits for separate types of data (eg. 128 kbps for video content, 64 kbps for audio content, 64 kbps for archives and programs, 32 kbps for images, etc).
6. Ability to block uploads to freeloaders (those who do not share files). Some clients already have this, but all of them should implemented this feature.
7. There is no need to have a separate incomplete folder for files that are still being downloaded. Instead, it is less confusing for the end user to just have a single download folder, and for the downloaded files to have an extension such as .dat until the download is complete. This is the same way fasttrack clients such as Kazaa and Grokster currently function, and it is a more elegant method than the gnutella method. |