Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make a package for KaiOS #396

Closed
kelson42 opened this issue Jun 30, 2018 · 4 comments
Closed

Make a package for KaiOS #396

kelson42 opened this issue Jun 30, 2018 · 4 comments
Assignees
Labels

Comments

@kelson42
Copy link
Collaborator

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

full-html stuff.

@Jaifroid
Copy link
Member

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
Copy link
Contributor

mossroy commented Jul 1, 2018

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 :

  • there is no touch-screen, so the links need to be reachable through the arrow buttons. Currently, it does not work : the arrow keys only allow the user to reach the search box. I suppose scrolling would also be handled by the same arrow keys
  • I did not manage to use the hardware keyboard of the simulator to properly type search terms (but it might be a simulator issue)
  • in terms of UI, I suppose the menus/options/settings should be discovered with the top 3 buttons of the hardware keyboard, and the bottom of the screen should show what these buttons do. They seem to call that the "software keys". We currently use a very different UI with a sandwich menu, some navigation links at the bottom of the screen etc
  • there is a whole https://developer.kaiostech.com/visual-style-guide, and I suppose we would need to comply with it
  • it seems to use an old version of gecko (48?), so we probably won't be able to use some recent technologies like ServiceWorker or WebAssembly

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
Copy link
Member

Jaifroid commented Jul 1, 2018

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
Copy link
Collaborator Author

kelson42 commented Jul 1, 2018

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.

@mossroy mossroy closed this as completed Jul 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants