Prototyping is a powerful way of assessing the value of ubiquitous computing applications, deciding if they warrant further development, and understanding how best to do this. Indeed, putting prototypes in the hands of ‘real users’ is increasingly important in assessing their potential impact and relevance. Prototypes can be developed to many different levels of sophistication, but typically early prototypes are quite basic, and as the concept is refined so too is the prototype. Experience shows that each successive level of refinement requires considerably more effort than the previous. Unfortunately, today’s ‘real users’ have very high expectations of technology. This means that they increasingly expect even prototypes to be refined and robust, and without this they often find it hard to evaluate them fairly. Our experience shows that only when a prototype is sufficiently well developed do users see past its prototypical nature, and only then do the real insights about how it can be used become apparent. Of course, developing prototypes to this level of refinement is difficult and time-consuming. This especially applies to the development of the embedded hardware which is often integral to ubiquitous computing applications, due to the electronic and industrial design requirements that accompany software development.