Hardware APIs on the Web and using experimental technologies // Web BLE, Web USB, Geolocation
#webusb #webble #hardware
Recently Safari and Firefox announced that they will no longer implement hardware-related APIs in their browsers, which Chrome is going ahead with the draft specifications on Web BLE, Web USB, and other interesting technologies to connect hardware with the Web. What does this mean for us, the developer? How can we continue to explore the boundaries of experimental technologies while learning about privacy and security?
⏰ TIMESTAMPS
0:00 Intro
2:36 Gathering all the information
3:01 Geolocation W3C Specification
3:47 Geolocation browser compatibility
4:01 Web Bluetooth W3C Specification
4:12 Web Bluetooth browser compatibility
4:22 Browser engines
4:45 WebKit feature status
5:01 Web USB W3C Specification
5:15 Web USB browser compatibility
5:26 Feature detection with JavaScript
6:23 Two different viewpoints
6:49 Platform Adjacency Theory
7:15 Browser fingerprinting
7:53 Making tiny experiments
8:22 Research paper on using experimental technologies
10:09 Should the Web expose hardware capabilities?
10:54 Demo with Web Bluetooth
13:37 Outro and my pinned comments on older videos
‣ Some links below are affiliate. I receive a small commission at no extra cost to you.
📻 PRODUCTS MENTIONED
Adafruit Feather nRF52 Bluefruit LE https://amzn.to/3ndsBlF
🎩 DEMO FILES
Feature detection code https://hutscape.com/tutorials/web-hw-feature-detection
Feature detection demo site https://hutscape.com/web-hw-feature-detection
Web BLE demo with privacy information https://hutscape.com/palm/web-ble/
Code for the demo https://github.com/hutscape/palm/blob/master/web-ble/index.html
📺 WATCH NEXT
Using Web BLE to detect and get GATT information https://youtu.be/TsXUcAKi790
Data exchange from browser to a microcontroller with WebUSB https://youtu.be/G8AUgwZCe_Q
🔗 LINKS SHOWN
Hardware APIs on the Web https://web.dev/devices/
Tracking Prevention in WebKit https://webkit.org/tracking-prevention/#anti-fingerprinting
Steve Jobs on privacy at the D8 Conference (Video) - YouTube https://www.youtube.com/watch?v=39iKLwlUqBo&t=147s
Geolocation API Specification 2nd Edition https://www.w3.org/TR/geolocation-API/
W3C Process on Maturity Levels https://www.w3.org/2020/Process-20200915/#maturity-levels
Browser compatibility of Geolocation API https://caniuse.com/geolocation
Web Bluetooth Specification https://webbluetoothcg.github.io/web-bluetooth/
Browser compatibility of Web Bluetooth API https://caniuse.com/web-bluetooth
Comparison of browser engines - Wikipedia https://en.wikipedia.org/wiki/Comparison_of_browser_engines#General_information
WebKit Feature Status https://webkit.org/status/
WebUSB API Specification https://wicg.github.io/webusb/
Browser compatibility of Web USB API https://caniuse.com/webusb
Platform Adjacency Theory by Alex Russell https://infrequently.org/2020/06/platform-adjacency-theory/
Mitigating Browser Fingerprinting in Web Specifications https://w3c.github.io/fingerprinting-guidance/
(PDF) An Ethical Framework for Evaluating Experimental Technology https://www.researchgate.net/publication/283790655_An_Ethical_Framework_for_Evaluating_Experimental_Technology
Should The Web Expose Hardware Capabilities? by Noam Rosenthal — Smashing Magazine https://www.smashingmagazine.com/2021/01/web-expose-hardware-capabilities/
Adafruit Feather nRF52 Bluefruit LE [nRF52832] https://www.adafruit.com/product/3406
Adafruit VEML6075 UVA UVB and UV Index Sensor Breakout https://www.adafruit.com/product/3964
🔌 TOOLS USED
https://hutscape.com/tools
🎶 MUSIC AND SOUND EFFECTS
Nebular Focus from YouTube Audio library