kiwix / kiwix-js

Fully portable & lightweight ZIM reader in Javascript
https://www.kiwix.org/
GNU General Public License v3.0
310 stars 135 forks source link

Make a package for KaiOS #396

Closed kelson42 closed 6 years ago

kelson42 commented 6 years ago

Seems to be an OS based on FirefoxOS https://www.kaiostech.com/

full-html stuff.

Jaifroid commented 6 years ago

I think this is right up @mossroy's street, as according to https://developer.kaiostech.com/ it is a fork of Boot to Gecko, which is a continuation of Firefox OS. There's a simulator. Can't seem to find much about the hardware it runs on. It says "feature phones". Oh, there's a Wikipedia article which lists four phones, including a Nokia. Interesting.

mossroy commented 6 years ago

I had a quick look at KaiOS.

Technically, it seems to have the same APIs as Firefox OS, including the DeviceStorage API that allows to read files on the SD-card or internal memory. I managed to start the latest version of kiwix-js inside their simulator : it can find and open a ZIM file inside the fake-sdcard directory of the simulator (because we never dropped compatibility with Firefox OS). It even displays the main page of the ZIM file, which is encouraging!

Unfortunately, it is not usable for now, because the UI would need to be reworked for a feature-phone. I saw at least the following issues :

To sum up, I'd say the backend (that reads the ZIM files) is most probably compatible as it is (but with an old browser engine, and certainly low-spec devices in terms of CPU, memory etc). But there would be some non-negligible work to do on the frontend/UI side to comply with the UX of a feature-phone.

Jaifroid commented 6 years ago

Hmm, yes, it does look like it might have to be a separate app, rather than a packaging of Kiwix JS, because interface changes would be quite large. I think resource usage might be a worry too.

kelson42 commented 6 years ago

Thank you very much @mossroy for the detailed analysis. I suspect as we do not have immediate plans and as the work to port it would be important, I should probably close that ticket. We could use this as a statment for further discussions - if needed.