eternagame / eterna-mobile

Eterna mobile app
BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

Offline Support #118

Open tkaragianes opened 1 year ago

tkaragianes commented 1 year ago

Describe your idea

Specifically, offline support in this context means the ability to download puzzle details and store them locally in the app, and then use this local data store when launching puzzles.

Motivation

In preparation for use of the mobile app in booths at upcoming science festivals, we need to support an offline-capable version of the mobile app. The networks at festivals like these can get saturated, and we can't be guaranteed connection.

Proposed Solution

We discussed two approaches. One is to generate a version of the mobile app where selected puzzles are hard-coded into the distributed binary. This is relatively simple, but it means that any time a puzzle needs to be changed, we have to regenerate a new build. Another is to add a feature to the app, perhaps limited to specific accounts, that would allow a user to pick puzzles by ID and download those puzzles to a local store for offline use. This would allow non-technical developers to create/edit puzzles for festivals without technical support.

Other Information

No response

luxaritas commented 1 year ago

Worth noting: there will need to be extra work done EternaJS-side to support skipping network calls (and in the case of puzzle load, getting that information from somewhere else - made more complicated by the fact we currently need to load in an iframe)