Gneiss: spreadsheet programming using structured web service data

Web services offer a more reliable and efficient way to access online data than scraping web pages. However, interacting with web services to retrieve data often requires people to write a lot of code. Moreover, many web services return data in complex hierarchical structures that make it difficult...

Full description

Saved in:
Bibliographic Details
Published inJournal of visual languages and computing Vol. 39; pp. 41 - 50
Main Authors Chang, Kerry Shih-Ping, Myers, Brad A.
Format Journal Article
LanguageEnglish
Published Elsevier Ltd 01.04.2017
Subjects
Online AccessGet full text
ISSN1045-926X
1095-8533
DOI10.1016/j.jvlc.2016.07.004

Cover

Loading…
More Information
Summary:Web services offer a more reliable and efficient way to access online data than scraping web pages. However, interacting with web services to retrieve data often requires people to write a lot of code. Moreover, many web services return data in complex hierarchical structures that make it difficult for people to perform any further data manipulation. We developed Gneiss, a tool that extends the familiar spreadsheet metaphor to support using structured web service data. Gneiss lets users retrieve or stream arbitrary JSON data returned from web services to a spreadsheet using interaction techniques without writing any code. It introduces a novel visualization that represents hierarchies in data using nested spreadsheet cells and allows users to easily reshape and regroup the extracted structured data. Data flow is two-way between the spreadsheet and the web services, enabling people to easily make a new web service call and retrieve new data by modifying spreadsheet cells. We report results form a user study that showed that Gneiss helped spreadsheet users use and analyze structured data more efficiently than Excel and even outperform professional programmers writing code. We further use a set of examples to demonstrate our tool's ability to create reusable data extraction and manipulation programs that work with complex web service data. •A spreadsheet tool for using structured web service data.•Constructing two-way data flow between web services and spreadsheets without writing code.•A new design to view and use hierarchical data in spreadsheets.•An architecture that interacts with web services dynamically using spreadsheet data.
ISSN:1045-926X
1095-8533
DOI:10.1016/j.jvlc.2016.07.004