galene
galene copied to clipboard
A2HS for mobile and desktop
A2HS allows users would be able to install the app onto their Desktop and Mobile.
Its great because it bypasses the App Stores, but gives a App Store like experience. For example it adds a Icon to your Desktop or Mobile home screen. And because it uses service worker it self updates.
I have used this with golang apps.
Here is an example in golang: https://github.com/maxence-charriere/lofimusic And the demo: https://lofimusic.app/
IOS Safari video demo for install:
https://user-images.githubusercontent.com/53147028/135843014-b7a63d97-4d60-4bed-b098-fd8a9152f9e3.mov
I also tried it in IOS Chrome and Safari, but for some reason there is no ability to instal it. I know it can be done because i have done it with flutter web... I suspect that loki may not everything setup correctly.
If i get more info on this, i will update it here.
It's described here: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Add_to_home_screen
Implementing that is a simple matter of:
- designing an icon;
- adding a Manifest file;
- adding a service worker that does nothing;
- adding a discrete button somewhere (where?).
The icon should obviously be a cube (that's what galena crystals look like, see https://en.wikipedia.org/wiki/Galena). Writing a manifest file should be pretty easy. I'm not too keen on service workers, they're a major privacy violation, but adding one that does nothing should not cause any major trouble.
I'll wait a couple of weeks for people to give opinions.
Here is an example: https://github.com/boratanrikulu/quik.do :)
Also this should be turned on : https://github.com/boratanrikulu/quik.do/commit/0f8e5316f387b94cd43128fc2f4eebff9b037fef
It now works on IOS but did not back then. THats my own understanding, And i have not recompiled it yet and deployed it to check it.
also in what way are they a privacy violation ? Curious as i am also concerned about it.
This is a little off-topic, but service workers have two properties that make them dangerous:
- a service worker applies to a whole origin;
- service workers persist across browsing sessions.
Suppose you combine galene and Jitsi into a single web site (for example by using a reverse proxy). Then you visit https://www.example.com/galene/, which installs a service worker. The service worker is valid for the whole origin https://www.example.com. A week later, you visit https://www.example.com/jitsi/, then the service worker installed by Galene can intercept all requests that go to the jitsi hierarchy.
thanks . makes total sense. appreciate it.