Software and computer product 'engineers' need to understand the principle of failsafe, like proper engineers do.
Over the years many of us have critisiced the shoddy way many programmers work, and how they write code in a way that bugs can be catestrophic. (Everyone makes mistakes, but code shouldn't be written impersonating a house of cards)
Many of you will recall some of those "funny jokes" going around years ago, saying "what if microsoft made cars.... Your brakes failed? Have you tried stopping and restarting your car?"
Many of us despaired at programming quality, but could at least have a laugh about it.
Well now with more computer controls in cars, internet-of-shite on our toasters/lightbulbs/webcams/locks, this same development mentality is hitting the real world.
Many of the designs of the hardware 'IT' in these devices is dictated by the software rather than the other way around, and we're now seeing the sort of cockups time and time again when people try to use this "have you tried switching it on and off?" software design mentality in the design of these 'IOT' devices.
These people need to start thinking like real engineers, starting with learning the term FAILSAFE. It isn't actually a PR term, it's meaning in the engineering world is literal - if something fails, it fails into a safe position.
Overlooking the stupid idea in the first place, there is simply no excuse for a door locking process to fail like this. There should have been numerous safeguards and "failsafes".
And this is just one example amongst many. It isn't the first, and won't be the last..