Developing essential applications to deliver a successful 'Smart Home'