A pattern language of firefighting frontline practice to inform the design of ubiquitous computing