A little caveat of Web Bluetooth API is that it's like WebUSB and mostly available on Chrome. I don't think Chrome for iOS is using blink yet so you'll probably not have access to this API on iOS.
There isn’t a default on iOS, you’re prompted for each new app when it requests notification permissions. People have found that users hit no a lot more when the app prompts with no explanation than when it clearly explains what benefit it has to the user.
PWAs offer support for push notifications [1], but apparently they are not as seamless as in native apps, especially on iOS.
If you've never heard of PWAs [2], they allow you to add native mobile app functionality to a mobile website, including the ability to install your website as though it were an app, and ability to cache resources for offline use. I haven't worked on app development for a while, but when I did several years ago, all that was required to turn a mobile website in to a PWA was a service worker file (a JS file to define resource caching rules), and a manifest.json file (essentially metadata used by the home screen icon, including title and icon image).
Apparently PWAs still aren't on par with native apps in terms of capability and UX. Nonetheless I hope PWAs become popular for their simplicity, and for being decoupled from platforms. It's a bit insane to me that native app development usually requires heavy platform specific IDEs (Android Studio, Xcode), both of which have steep learning curves, and after all that development effort, you only have an app that works on 1 platform. Building a basic mobile app shouldn't require anything more than HTML, JS and CSS, and it shouldn't be tied to any specific platform.
From what I hear, most users disable notifications.
You can do like Airbnb and send text messages.
You can do Bluetooth in JavaScript through the Web Bluetooth API.
A little caveat of Web Bluetooth API is that it's like WebUSB and mostly available on Chrome. I don't think Chrome for iOS is using blink yet so you'll probably not have access to this API on iOS.
Both WebUSB and WebBluetooth is still a draft spec, and is doubtful to progress any further with both Mozilla and Webkit objecting to it
https://mozilla.github.io/standards-positions/#web-bluetooth
https://webkit.org/tracking-prevention/#anti-fingerprinting
Essentially, these are proprietary that are a part of an embrace, extend, and extinguish strategy by Google Chrome.
> From what I hear, most users disable notifications.
Where’d you hear that? Surely most users don’t change defaults.
There isn’t a default on iOS, you’re prompted for each new app when it requests notification permissions. People have found that users hit no a lot more when the app prompts with no explanation than when it clearly explains what benefit it has to the user.
Then the flood of notifications gets ignored, with practically the same result.
All modern browsers support notifications:
https://caniuse.com/notifications
Bluetooth is limited to Chrome because Apple and Mozilla were concerned about privacy and security:
https://caniuse.com/web-bluetooth
PWAs offer support for push notifications [1], but apparently they are not as seamless as in native apps, especially on iOS.
If you've never heard of PWAs [2], they allow you to add native mobile app functionality to a mobile website, including the ability to install your website as though it were an app, and ability to cache resources for offline use. I haven't worked on app development for a while, but when I did several years ago, all that was required to turn a mobile website in to a PWA was a service worker file (a JS file to define resource caching rules), and a manifest.json file (essentially metadata used by the home screen icon, including title and icon image).
Apparently PWAs still aren't on par with native apps in terms of capability and UX. Nonetheless I hope PWAs become popular for their simplicity, and for being decoupled from platforms. It's a bit insane to me that native app development usually requires heavy platform specific IDEs (Android Studio, Xcode), both of which have steep learning curves, and after all that development effort, you only have an app that works on 1 platform. Building a basic mobile app shouldn't require anything more than HTML, JS and CSS, and it shouldn't be tied to any specific platform.
1. https://developer.mozilla.org/en-US/docs/Web/Progressive_web...
2. https://developer.mozilla.org/en-US/docs/Web/Progressive_web...
AIUI Apple has deliberately kneecapped PWAs on iOS to stop them competing with their App Store.
Most apps that "need" to send notifications don't, in fact, need to.
Yeah but, what about apps that actually do ?
There are web APIs for both.
“Web Bluetooth” is a Blink-only API that both Mozilla and Apple rejected on security grounds.
What a weird thing to put in scare quotes.
Not on iOS. There’s no Bluetooth support in safari.