Capturing and Predicting User Frustration to Support a Smart Operating System