Designing Impossible Situations

JavaScript: “What do we show when we don’t know the value in the URL?”
Designer: “That won’t happen.”
JavaScript: “K.”

Later a null pointer happens in an ‘impossible situation’. Gnashing of teeth & lol’ing at how this could happen.

Elm: “What do we show when we don’t know the value?”
Designer: “That won’t happen.”
Elm: “K, I’ll put ‘designer choose not to design this screen'”. Designer: “Hah, if you say so.”

Later error screen shows in an impossible situation. Visually & immediately clear what failed.

The compiler is forcing me to have uncomfortable error scenario conversations with my Designer because null pointers/Maybes are now his problem too. As a front-end dev, this is a wonderful tool, man.

… and by wonderful, it’s clearly one sided here on me, the developer. The poor Designer has to think through more scenarios, recognize the strange error conditions, and make a judgement call on what we should/should not design for to make progress.