Designing interactive technology entails several objectives, one of which is identifying and selecting appropriate functionality. Given candidate functionalities such as “print,” “bookmark,” and “share,” a designer has to choose which functionalities to include and which to leave out. Such choices critically affect the acceptability, productivity, usability, and experience of the design. However, designers may overlook reasonable designs because there is an exponential number of functionality sets and multiple factors to consider. This article is the first to formally define this problem and propose an algorithmic method to support designers to explore alternative functionality sets in early stage design. Based on interviews of professional designers, we mathematically define the task of identifying functionality sets that strike the best balance among four objectives: usefulness, satisfaction, ease of use, and profitability. We develop an integer linear programming solution that can efficiently solve very large instances (set size over 1,300) on a regular computer. Further, we build on techniques of robust optimization to search for diverse and surprising functionality designs. Empirical results from a controlled study and field deployment are encouraging. Most designers rated computationally created sets to be of the comparable or superior quality than their own. Designers reported gaining better understanding of available functionalities and the design space.
Data and code coming soon!
PDF, 3.4 MB
Computational Support for Functionality Selection in Interaction Design
Antti Oulasvirta, Anna Feit, Perttu Lähteenlahti, and Andreas Karrenbauer. 2017. Computational Support for
Functionality Selection in Interaction Design. ACM Trans. Comput.-Hum. Interact. 24, 5, Article 34 (October
2017), Pages 34:1-34:30.
@article{oulasvirta2017functionality,
author = {Antti Oulasvirta, Anna Feit, Perttu Lähteenlahti, and Andreas Karrenbauer},
title = {Computational Support for Functionality Selection in Interaction Design},
year = {2017},
journal = {{ACM} Trans. Comput.-Hum. Interact.},
volume = {24},
number = {5},
pages = {34:1-34:30}
}
For questions and further information, please contact:
Antti Oulasvirta
Email:
antti.oulasvirta (at) aalto.fi
Phone:
+358 09 47001