Designing for social configurations: Pattern languages to inform the design of ubiquitous computing