Computational Support for Functionality Selection in Interaction Design

Antti Oulasvirta, Anna Feit, Perttu Lähteenlahti, Andreas Karrenbauer

Research output: Contribution to journalArticleScientificpeer-review

12 Citations (Scopus)
356 Downloads (Pure)


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.
Original languageEnglish
Article number34
Pages (from-to)34:1-34:30
Number of pages30
JournalACM Transactions on Computer-Human Interaction
Issue number5
Publication statusPublished - 1 Oct 2017
MoE publication typeA1 Journal article-refereed


  • Functionality selection
  • computer-supported design
  • creativity
  • design tools
  • integer linear programming
  • interaction design
  • optimization methods
  • user-centered design


Dive into the research topics of 'Computational Support for Functionality Selection in Interaction Design'. Together they form a unique fingerprint.

Cite this