User interfaces: a linguistic approach