What high-level problem are you trying to solve?
While many developed countries provide internet speeds that can download/upload files at 1 MB/s or more, areas with poor internet are still getting speeds in the KB/s and sometimes even Bytes/s…yes that’s right…millions of times slower than the developed world. While most web pages won’t even load with that poor of a connection, sending form data, etc. can often be done without many problems.
I recently noticed that the sample ODK Template in Google Sheet form, when downloaded as an XLSX is about 525KB, but if the google sheet has its empty columns deleted, it’s reduced down to 105KB. While this may be trivial for most, this simple change doesn’t take away anything and could help in reducing unnecessary bandwidth for poor internet contexts by reducing the ODK Template File size from 525kb to 105kb simply by deleting empty columns in the google sheet. I’m consistently iterating and uploading to ODK Central on a poor connection and I’m wondering if this would also help for devices downstream that need to download the form for Collect/Enketo. I’m not sure if the devices on Collect are only getting the XML, but I think about José operating in places where people have to walk days to get internet running a project with 1,000s of devices.
Looking at the docs here there are two links :
Google Sheets file when downloaded as XLSX is 455KB
Excel file is currently 591KB
I’m not sure what additional data is being stored in the Excel file, but reducing an unnecessary empty file space by 4.5x on a poor connection sounds good to me!
@yanokwa has talked about how little changes being multiplied millions of time can be quite a big deal with ODK. I don’t know if this is too trivial of a change, but just for fun I did the math if this change saved 1s for 1million downloads/uploads that would be:
1,000,000s / (60s x 60min x 24hrs) = 11.57 days (is that math right?)
Any ideas on how ODK could help you solve it?
Here is a link to a google sheet with the empty columns deleted. I changed to formula in C2 of the Settings sheet to be a little easier to read
=TEXT(NOW(),"yyyy_mm_dd_hh:mm-ss")
The survey and choices sheet now only have 200 rows but people can easily add more as they need or you could add more since I think somewhere it was stated that the average XLSForm has around 400 questions.
Upload any helpful links, sketches, and videos.