Hard real time simply puts hard upper limits on constraints, and if those aren't met then the program is considered to have failed.
It does not imply that people die or that stuff is destroyed. I've used hard real time, soft real time and regular OSs for GUI based interaction and the only ones that really feel like they are satisfactory are the hard real time ones. The soft real time ones are obviously better than the general purpose ones but they still tend to give regular moments of unresponsiveness.
Hard real time problems are ones where people die, stuff is destroyed etc. when deadlines are missed.
User interaction is never (or almost never) like this.