Ubiquitous Computing, Design, Implementation and Usability