An empirical methodology for writing user-friendly natural language computer applications | Synapse