A generative programming approach to interactive information retrieval: insights and experiences

We describe the application of generative programming to a problem in interactive information retrieval. The particular interactive information retrieval problem we study is the support for ‘out of turn interaction' with a website – how a user can communicate input to a website when the site is not soliciting such information on the current page, but will do so on a subsequent page. Our solution approach makes generous use of program transformations (partial evaluation, currying, and slicing) to delay the site's current solicitation for input until after the user's out-of-turn input is processed. We illustrate how studying out-of-turn interaction through a generative lens leads to several valuable insights: (i) the concept of a web dialog, (ii) an improved understanding of web taxonomies, and (iii) new web interaction techniques and interfaces. These notions allow us to cast the design of interactive (and responsive) websites in terms of the underlying dialog structure and, further, suggest a simple implementation strategy with a clean separation of concerns. We also highlight new research directions opened up by the generative programming approach to interactive information retrieval such as the idea of web interaction axioms.

[1]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[2]  Matthias Felleisen,et al.  Automatically Restructuring Programs for the Web , 2004, Automated Software Engineering.

[3]  Manuel A. Pérez-Quiñones,et al.  Enhancing usability in CITIDEL: multimodal, multilingual, and interactive visualization interfaces , 2004, Proceedings of the 2004 Joint ACM/IEEE Conference on Digital Libraries, 2004..

[4]  Tomasz Imielinski,et al.  Mining association rules between sets of items in large databases , 1993, SIGMOD Conference.

[5]  Paolo Tonella,et al.  Restructuring Web applications via transformation rules , 2001, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation.

[6]  Mitchell Wand,et al.  Essentials of programming languages , 2008 .

[7]  Neil D. Jones,et al.  An introduction to partial evaluation , 1996, CSUR.

[8]  Marti A. Hearst Trends & Controversies: Mixed-initiative interaction , 1999, IEEE Intell. Syst..

[9]  Naren Ramakrishnan,et al.  Personalization by Program Slicing , 2004, J. Object Technol..

[10]  Naren Ramakrishnan,et al.  Personalizing Web sites with mixed-initiative interaction , 2003 .

[11]  Christian Queinnec,et al.  The influence of browsers on evaluators or, continuations to program web servers , 2000, ICFP '00.

[12]  Saverio Perugini,et al.  Program transformations for information personalization , 2010, Comput. Lang. Syst. Struct..

[13]  Thierry Despeyroux,et al.  Practical semantic analysis of web sites and documents , 2004, WWW '04.

[14]  Mitchell Wand,et al.  Essentials of programming languages (2nd ed.) , 2001 .

[15]  Jeffrey D. Ullman Elements of ML programming , 1994 .

[16]  David Frohlich,et al.  MIXED INITIATIVE INTERACTION , 1991 .

[17]  R. Mooney,et al.  Impact of Similarity Measures on Web-page Clustering , 2000 .

[18]  Paolo Tonella,et al.  Web application slicing , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[19]  David R. Karger,et al.  User interface continuations , 2003, UIST '03.

[20]  Monica M. C. Schraefel,et al.  A comparison of hyperstructures: zzstructures, mSpaces, and polyarchies , 2004, HYPERTEXT '04.

[21]  Naren Ramakrishnan,et al.  Staging transformations for multimodal web interaction management , 2003, WWW '04.

[22]  Gary Marchionini,et al.  Information Seeking in Electronic Environments , 1995 .

[23]  Nicholas J. Belkin,et al.  Cases, scripts, and information-seeking strategies: On the design of interactive information retrieval systems , 1995 .