The web is a huge platform with many applications and opportunities. People use it every day to get useful information for almost every aspect of their lives. The semi-structured design of webpages makes it possible to process their content programmatically to get more insights. However, this opportunity is often reserved for professionals due to the complexities of designated platforms and tools like operating systems, programming languages and command-line. They often require users moving from a place they are familiar with to another place they are unfamiliar with to start, which creates a high barrier to people who just want to do lightweight programming, or novices who just started learning how to program. What if they could write code interactively without leaving the webpage they are currently on? We want to address this challenge by proposing the idea of using webpages as substrates for interactive programming.
In this proposal we talk about how we weave this idea into three different systems. First we briefly describe two systems that we have already implemented, evaluated and published at the UIST conference: DS.js, for turning any webpage with tabular data to an example-centric data science education environment; and Fusion, for doing opportunistic web user interface prototyping by “borrowing" features from webpages and making them into widgets. Then we propose a new system that aims to extend the current browser console to provide handy scaffolds for more general data oriented programming tasks. We will talk about features we plan to implement in this new console system and how we want to evaluate them. With these three systems we hope to gain a better understanding of necessary elements we need for programming on webpage substrates.
Advisors: Prof. Philip Guo (University of California, San Diego) and Prof. Ehsan Hoque (UR Computer Science)
Committee: Prof. Zhen Bai (UR Computer Science), Prof. Chigusa Kurumada (UR Brain & Cognitive Sciences)