Conversations with Mother

Ryan Gibbs

Supervised by Alun D Preece, Moderated by Frank C Langbein

CENode (Controlled English Node - is a lightweight natural language knowledge-based system implemented using JavaScript, designed to run effectively in a wide variety of contexts, from servers to mobile devices and Internet ???things???. CENode-based apps interact with users in natural language using a conversational protocol that allows people to input queries and pieces of information (ask and tell); the apps can also ask and tell the user things. Example CENode-based apps include Moira (Mobile Information Reporting Agent) for obtaining ???on the spot??? reports (e.g. from people on patrol) and SHERLOCK (Simple Human Experiment Regarding Locally Observed Collective Knowledge) for crowdsourcing knowledge bases. Mother ( is an ???Internet of Things??? product that supports simple ???smart home??? applications such as presence detection, temperature and motion monitoring, and movement tracking. The Mother API ( allows the creation of 3rd-party apps that can access data from the streams generated by Mother???s sensors. The goal of this project is to create an interface between CENode and Mother, using a combination of JavaScript and Python, and develop an app that allows a user to have a conversation with Mother, asking and telling it things.

Initial Plan

Final Report

Publication Form