We present a technique in which physical controls have both normal and voice-enabled activation styles. In the case of the latter, knowledge of which physical control was activate...
Model evolution is often supported by writing model transformation rules in specialized languages. This presents challenges to those who are unfamiliar with model transformation l...
Software upgrades are unreliable, often causing downtime or data loss. I propose Imago, an approach for removing the leading causes of upgrade failures (broken dependencies) and o...
Value Sensitive Design and Participatory Design are two methodological frameworks that account for ethical issues throughout the process of technology design. Through analysis and...
Haskell is a great language for writing and supporting embedded Domain Specific Languages (DSLs). Some form of observable sharing is often a critical capability for allowing so-c...