Hi dear team,
Per Channels and Resources — Kolibri User Guide channels update is done on a resource level basis. For remote locations where Internet bandwidth is low, a smaller unit will be very useful. Have you tried / researched about updating at binary level? You can refer to the concept of ‘binary differential replication’.
Thanks for all you do.
Hi dear team,
We have not prioritized this, as the technical complexity is relatively high. While I have seen a toy pure Python implementation of this approach, I’ve yet to discover a robust library for doing this.
Do you have examples of some updates where binary diffing would have saved significant bandwidth? My (admittedly subjective) impression is that most updates to content involve replacing the file with a not very similar one - either due to changes in compression used, or a file being dropped and replaced by something else.
Thanks for your answer. To your question, I have no experience or examples about binary diffing saving bandwidth. Your answer helps me understand a key fact I wasn’t aware of: the size of the minimum change. Despite it is your subjective impression, for sure you are much more familiar with it than I. So, we are talking the size of a file - despite this is quite variable.
In such scenario, binary level has no sense and existing file handling techniques are enough.
What it worries me the most is the highest size replacement file. Can you roughly tell the max size you have seen?