Creating interactive web data applications with spreadsheets

While more and more data are available through web services, it remains difficult for end-users to create web applications that make use of these data without having to write complex code. We present Gneiss, a live programming environment that extends the spreadsheet metaphor to support creating interactive web applications that dynamically use local or web data from multiple sources. Gneiss closely integrates a spreadsheet editor with a web interface builder to let users demonstrate bindings between properties of web GUI elements and cells in the spreadsheet while working with real web service data. The spreadsheet editor provides two-way connections to web services, to both visualize and retrieve different data based on the user input in the web interface. Gneiss achieves rich interactivity without the need for event-based programming by extending the 'pull model' of formulas that is familiar to the spreadsheet users. We use a series of examples to demonstrate Gneiss's ability to create a variety of interactive web data applications.

[1]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1995 .

[2]  Rob Miller,et al.  The Amulet Environment: New Models for Effective User Interface Software Development , 1997, IEEE Trans. Software Eng..

[3]  Eser Kandogan,et al.  A1: end-user programming for web-based system administration , 2005, UIST '05.

[4]  David R. Karger,et al.  Spreadsheet driven web applications , 2014, UIST.

[5]  Margaret M. Burnett,et al.  FAR: an end-user language to support cottage e-services , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[6]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[7]  Margaret M. Burnett,et al.  A Debugging Perspective on End-User Mashup Programming , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[8]  Brad A. Myers,et al.  ConstraintJS: programming interactive behaviors for the web by integrating constraints and states , 2012, UIST '12.

[9]  Craig A. Knoblock,et al.  Building Mashups by example , 2008, IUI '08.

[10]  Mary Beth Rosson,et al.  Who, what, and how: a survey of informal and professional Web developers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[11]  David R. Karger,et al.  Enabling web browsers to augment web sites' filtering and sorting functionalities , 2006, UIST.

[12]  Brad A. Myers,et al.  FireCrystal: Understanding interactive behaviors in dynamic web pages , 2009, 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[13]  Clayton Lewis,et al.  Spreadsheet-based interactive graphics: from prototype to tool , 1990, CHI '90.

[14]  Brad A. Myers Graphical techniques in a spreadsheet for specifying user interfaces , 1991, CHI '91.

[15]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[16]  Mary Beth Rosson,et al.  Mashups: who? what? why? , 2008, CHI Extended Abstracts.

[17]  Brad A. Myers,et al.  A spreadsheet model for using web service data , 2014, 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[18]  Margaret M. Burnett,et al.  Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm , 2001, Journal of Functional Programming.

[19]  Jason I. Hong,et al.  Marmite: Towards End-User Programming for the Web , 2007, IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007).

[20]  Jeffrey Nichols,et al.  End-user programming of mashups with vegemite , 2009, IUI.

[21]  Ranjitha Kumar,et al.  Bricolage: example-based retargeting for web design , 2011, CHI.

[22]  Scott R. Klemmer,et al.  Programming by a sample: rapidly creating web applications with d.mix , 2007, UIST.

[23]  Nigel Shadbolt,et al.  Carpé data: supporting serendipitous data integration in personal information management , 2013, CHI.

[24]  Brad A. Myers,et al.  WebCrystal: understanding and reusing examples in web authoring , 2012, CHI.

[25]  B. A. Myers,et al.  Visual programming, programming by example, and program visualization: a taxonomy , 1986, CHI '86.