Ubiquitous computing aims to support user experience and flow within a contextual environment, rather than demanding attention through an interface (UI). When entities in our environment can communicate and share data, the aggregate is smarter than individual components. Ubiquitous computing involves mechanisms to identify context and impact the context to meet objectives, through input to sense context and output to actuate changes. Partial ubiquity through some sensing, computing and actuating is often better than no ubiquity, and the goal is good user experience rather than full invisibility of technology.