Object Spreadsheets is an enhanced spreadsheet tool with support for storing and manipulating structured data. End-user developers can use it to work directly with a data set or to build a web application that offers constrained view and update access to a larger population of users.
Many organizations are responsible for processes that involve collection and manipulation of structured data subject to certain rules; our favorite examples include parent-teacher conference scheduling at a school and tracking whose turn it is to buy milk for an office. Keeping the data organized and ensuring the rules are followed is a tedious task that is better turned over to an application, which ideally the process administrators would build themselves to their exact requirements. Traditional (2D grid) spreadsheet tools have a number of characteristics that make them easy to use but are unable to automate nontrivial operations on structured data. Tools such as FileMaker and Airtable are able to automate more such operations, but they are clunkier than a traditional spreadsheet, and many of our example applications run up against their expressiveness limits.
We believe there's potential for a tool that combines a user experience closer to that of a traditional spreadsheet with the expressiveness of SQL to be a more appealing option for both novices and advanced developers for our target applications. Object Spreadsheets is our effort to prove this concept. As of November 2016, we have a prototype that supports all basic spreadsheet functionality, though many usability features and some components necessary to support the end-to-end application development process have yet to be built. To demonstrate the applicability of our approach, we have built several example applications, manually writing the parts that cannot yet be developed in the tool.
We would welcome your feedback on this work, and we'll provide support for the prototype subject to our research priorities; in either case, please email us.
- Our Onward 2016 paper with more information about the problem, design, evaluation, and related work.
- Matt's master's thesis: the main attraction here is a rigorous specification of the data model and computation semantics.
- The prototype implementation, which includes a start page with demos, basic usage instructions, and links to reference materials:
- A video demonstrating how to build a small example application (9 minutes), which is also linked from the start page of the prototype.
This project is supported by a grant from Wistron Corporation as part of a collaboration between Wistron and MIT's Computer Science and Artificial Intelligence Laboratory. This project also received partial support from the National Science Foundation under Grant No. CCF-1438982, and Matt McCutchen's work is funded in part by an NSF Graduate Research Fellowship.