Hi,
The examples given for detecting webgl in the browser aren't working on newer devices (possibly older ones too, but I haven't tested on them).
I've tried on an iPad running IOS 10.0.2, and a Galaxy S6 using Chrome 53.0.xyz.
It appears the devices do support webgl in some sense, but SceneView's don't render correctly.
The otherwise() callback is not hit, instead then() is as per normal.
This sample page will load up the scene view but only display a dark sphere for the earth -
Detect WebGL support - 4.1
Cheekily on the description pages for the samples this user agent check is actually used to test if the iframe containing the live sample with a scene view should be loaded.
<SPAN class="regex token">/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="token function">test</SPAN><SPAN class="punctuation token">(</SPAN>navigator<SPAN class="punctuation token">.</SPAN>userAgent<SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN></SPAN>
So you get the unsupported message on those pages correctly as in here.
Detect WebGL support | ArcGIS API for JavaScript 4.1
I personally don't mind relying on the user agent check - but is this something that needs to be done for the moment and if so will it be addressed in a future release? An update to the samples documentation might be in order though.
Thanks,
Nick