Surely it is a nice-to-have feature, but the question arises how it will stress Clients. I would suggest an implementation like this:
- Every client can disable the generation and upload of previews
- It is disabled by default or if it is enabled by default you get a message at startup
- If there is a request for preview the client may send a "declined", "accepted (QR x)" or "in progress (QR x)"
- A request will be accepted if the requesting user matches certain criteria such as offering files you want to download, etc. The user will be put on a special Preview-queue. The queue-rank and approximate upload start will be send to the requesting client. 10% of the total upload capacity will be reserved for users on this queue as a countermove the recievers of preview-files will give the sender some extra credits.
- A request will be declined if the preview-queue is full (10 clients maximum - who wants to what hours for a preview?) or the client matches "bad" criterias
- The serving client will reply a "in progress" if the preview first has to be generated. This generation will run as a low priority background process so it may take a while and this is why the requesting client gets an extra message...
Problems:
- Almost impossible to verify wheter the sent files are actual previews or fakes
- Need for extra power on the clients and of course it uses bandwith
- Many file formats require many tools to extract previews
So after all it would be nice to have but since it is not easy to implement we can wait till version 8 for this feature
