Background
Having got close to completing an Elm app to launch to the world, I decided to investigate how to prompt users to install it.
I had naively assumed that the process for accessing various system services — user clicks button, function requests service from browser, browser asks user for permission — would be the same, or largely similar, for installation. I was wrong.
(some of) What I’ve learnt so far:
- Chrome(ium), and Chrome-based browsers like Edge, have a
beforeinstallpromptevent. Others don’t. - Using the little icon in the Chromium URL bar to install the app works on my Lubuntu development system — I get one window, ‘collapsed’ to just an app (no URL bar, etc), and it appears Under ‘Other’ in my system app list
(and this works despite chromium being a snap package). - Even delivering it from a server with a proper LetsEncrypt certificate, both Chrome and Waterfox on Android don’t prompt, and there’s no obvious install button. ‘Add to Home Screen’ prompts for a shortcut name despite there being a manifest containing ‘name’. And it doesn’t use any of the manifest-provided icons!
- Some articles out there suggest ‘Add to Home Screen’ is synonymous with installing — it ain’t.
- I have read that any install prompt won’t happen until the user has ‘interacted’ with the app for some time — 30mins of looking at it including clicking stuff.
I’ll stop there — I’m still investigating and reading copious articles — but you get the picture ![]()
Question
What to other Elm devs do to prompt installation?
Reasons for installing
- ‘Ordinary’ users expect the whole download/install process to be seamless.
- The app being in browser memory should/will/hopefully reduce pressure on my server.
- The slide-up/slide-back that the URL bar does on Android is useful for web pages but ugly and clunky on an app.
- Automatically adding a launcher is not far short of essential for something called an ‘app’.