Ownership & firmware update

A topic which is related to SSID configuration via APP. As our project is anyhow connected with mobile phones, claiming & setup via app is no issue. With listening mode set via code routine one can also switch SSID if needed.

One problem i still see is the update possibility. How can one deliver a new firmware to a device owned by a customer? The tinker app somehow checks if the app on the particle photon supports tinkering and if not asks to flash the device with the tinker-firmware. Is the firmware preinstalled on the device, or is this also possible with over-the-air update. Means a cloud function is triggered by the app and checks the version of the firmware, if an update would be available, can this be triggered by the customer via API request with his credentials (Device Id, Authkey…)?

I do not have a problem if user own their photon, but updates should be somehow pushable, otherwise things are bit tricky.

Any ideas in that direction? Or is there something planned by particle to handle this in general?