Conversational Informatics: An Engineering Approach