Methods and Guidelines for the Design and Development of Domestic Ubiquitous Computing Applications