It’s my sixth year in graduate school; my committee has been formed, my PhD thesis proposal has been submitted, and I am coding along on SIEUFERD, the research system from which I hope to squeeze my remaining research contributions. The project and its moniker, the Schema-Independent End-User Front-End for Relational Databases, began during two semesters of undergraduate Independent Work at Princeton with Brian Kernighan and David Walker, and I’m still using the same old demo database that I assembled back then. In 2009, Paul Grogan, Yod Watanaprakornkul, and I implemented what eventually became my Master’s thesis project, a spreadsheet-based database UI known as Related Worksheets (published in CHI 2011). For many slide decks since, Related Worksheets served as a mockup of things I hoped to achieve in my longer-term PhD project.
SIEUFERD’s goal is to provide a general-purpose user interface to relational databases. It takes its inspiration from two decades’ worth of graphical database applications that were developed, at great expense, to serve niche markets such as seafood trading, music school administration, and refugee camp management, and attempts to generalize their standard UI idioms into a single, universal application that provides most of their features in a schema-independent manner. The proof that this can be done lies in existing general-purpose “killer apps” such as Excel and Tableau; the challenge lies in achieving the same for the generalized relational database use case (think CRUD over data modeled by entity-relationship diagrams). Ted Benson and I presented a vision paper about this at CIDR 2011.
Well, my advisors (David Karger and, also for my master’s thesis, Rob Miller) always told me that “a Master’s Thesis is a double-spaced conference paper, and a PhD is three more of those”. By that measure, I have just completed the first installment of my PhD trilogy, having returned from Atlanta to present the first SIEUFERD-related paper at InfoVis 2013. Unexcitingly titled, this paper deals with the important subproblem of taking data retrieved from a relational database and displaying it on the screen in a way that resembles the standard UIs of traditional tailor-made database applications, without actually requiring anyone to design that UI. And once we are dealing with a general-purpose visualization rather than a hard-coded dialog box, we can slowly but surely add features such as spreadsheet-style cursors for keyboard and mouse navigation, frozen table headers, printing and pagination, and eventually copy/paste, find/replace, undo/redo, sorting and filtering, and so on. While we take these features for granted in a general-purpose application like Microsoft Excel, many are rare to see in niche applications because of the prohibitive cost of implementing them for a small target user population.
The next “PhD installment” will be about the UI that actually makes a user able to connect to an arbitrary relational database and start generating queries of the kind for which the results were visualized in the previous subproject. This should, excitingly, be the first point at which the research system becomes useful for actual real-world tasks (in the “report generation” category), promoting it from its current “toy” status. Back to work!