Apparently, the Bluetooth dialog sometimes "hides" the USB dialog when a USB device is connected and Bluetooth is not enabled. Thus, and as a general usability improvement, it may be preferable to not ask the user to enabled Bluetooth (which is only supported on Android, anyway). The Bluetooth status can be polled on a regular basis, or the new BLE state callbacks can be used when they become available in ionic-native.
Backends (and plugins in general) should be more platform-aware, e.g. BLE should only be used when running on a device, and corovarduino only when running on Android. This should avoid spurious error messages when running in the browser, and maybe improve future iOS and/or Ionic View compatibility.
The Demo backend may be disabled when running on a device in production mode. Thus, if Bluetooth is not enabled and no USB device connected, the backend list will be empty. In this case, a helpful message ("enable Bluetooth or connect USB device") can be shown...
"USB Serial" should be renamed "Serial USB OTG" for clarity.
ionic-native
.