HTML-OS capabilities page

What is this thing?

Developers being what they are, they simply have to add a bit extra to everything (whatever real people want or need), make it more complicated, more programmable, more complete (most of them can't help themselves in this, it seems – apparently a continuous variation on the second system effect / creeping featuritis / Silicon Valley Reality Bubble Syndrome). The major upshot to all this is currently what I call InternetOS. This requires a number of javascript APIs – and this page checks your browser's compatibility with some of the essential (or sometimes not-so-essential) ones.

I am of course not the only person to have thought of this (though opinions on its advisability differ): this video is all at once insightful, funny, erudite and a bit depressing.

A probably-complete (but less dynamic) list of InternetOS APIs can be found at the DMO API reference page.

TODO: PWA. This relies primarily on ServiceWorkers and Fetch+Cache, but if there's a specific way of testing for "PWA", I haven't found it. Can also use ChannelMessaging, Notification, possibly File (and almost anything else, really).


The first test is:

Does this browser support javascript at all?

And the result is:

Nope (and no further tests are possible)

Further tests:

Async requests
AJAX: Untested
Fetch API: Untested
Audio
Result: Untested
Cache
These are all manually managed and mostly useful in Service Workers
Result: Untested
Canvas
Result: Untested
Channel Messaging
Result: Untested
Clipboard API
Result: Untested
This is one of those APIs which can depend on security
Encoding
There are several interfaces to this one (for what that's worth).
TextDecoder: Untested
File API
Result: Untested
Gamepad
Result: Untested
geolocation
Result: Untested
Media capabilities
This one, while suffering very much from InternetOS syndrome, actually looks convenient.
Result: Untested
Media Capture and Streams API
Related to but technically not part of WebRTC
This one also contains many component APIs
MediaDevices result: Untested
Notification API
Result: Untested
Storage API
Local storage: Untested
Session storage: Untested
WakeLock
For pages which need to stay visible without much user action
Result: Untested
WebAuthn
Derived from Credentials which is, paradoxically, less stable
Result: Untested
WebAssembly
Result: Untested
WebDriver
Result: Untested
WebRTC
There are actually several APIs involved here
RTCPeerConnection result: Untested
MediaStreams result: Untested
Check this out for some further info.
WebSockets
Result: Untested
Web Workers
Result: Untested
Shared Workers: Untested
Service Workers: Untested
DNS-over-HTTPS
This feels like the point where things start to get stupidly meta… How soon before encapsulating everything in HTTPS becomes the standard?
Testing method unknown for the time being (but as of this writing – 2019/07/13 – only FireFox can do it, and even then only after tweaking).

TODO