A user-centred approach to functions in Excel

  title={A user-centred approach to functions in Excel},
  author={Simon L. Peyton Jones and Alan F. Blackwell and Margaret M. Burnett},
  booktitle={ICFP '03},
We describe extensions to the Excel spreadsheet that integrate user-defined functions into the spreadsheet grid, rather than treating them as a "bolt-on". Our first objective was to bring the benefits of additional programming language features to a system that is often not recognised as a programming language. Second, in a project involving the evolution of a well-established language, compatibility with previous versions is a major issue, and maintaining this compatibility was our second… 

Figures from this paper

Implementing function spreadsheets
The goal of this work is to develop implementations of function sheets and study their application to realistic examples and to report briefly on experiments with function sheets as well as other uses of the spreadsheet core implementation.
User Defined Spreadsheet Functions in Excel
This paper presents a method to create a limited form of UDSFs in Excel without any use of VBA, which utilizes what-if data tables to execute the same part of a worksheet several times, thus turning it into a reusable function definition.
Programming for humans : a new paradigm for domain-specific languages
The WYSIWYG editor enables the user to put programs directly into web pages, and the use of tables as the pervasive data structure forces a tight mapping between the notation and the possible problems that can be expressed.
Enhancing the Programmability of Spreadsheets with Logic Programming
  • P. Cox
  • Computer Science
    IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2007)
  • 2007
This work proposes an enhancement in which sheets can be programmed using logic programming, and achieves a natural integration of logic-based and sheet-based computation, providing a concrete visualisation of operations that divide and assemble arrays of cells.
The Deductive Spreadsheet
This book describes recent multidisciplinary research at the confluence of the fields of logic programming, database theory and human-computer interaction. The goal of this effort was to develop the
A non-tabular spreadsheet with broad applicability
Nezt is a prototype of a live programming environment inspired by spreadsheets, but with a more expressive computational model, where cells can contain other cells in a hierarchical fashion, and one can define custom functions and use them in formulas.
Enhanced Spreadsheet Computing with Finite-Domain Constraint Satisfaction
This paper presents an enhanced spreadsheet system where finite-domain constraint solving is well supported in a visual environment and significantly simplifies the development of many constraint-based applications using a visual tabular interface.
Initial report on Object Spreadsheets
Object Spreadsheets is presented, an end-user development tool that combines a spreadsheet interface with a rich data model to help the process administrators build the logic for such applications themselves.
SciSheets: Providing the Power of Programming With The Simplicity of Spreadsheets
SciSheets is an open source project that provides novel features to address requirements for expressivity, reuse, complex data, and performance in digital spreadsheets.


Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm
This paper shows that procedural abstraction, data abstraction and graphics output can be supported in the spreadsheet paradigm, and shows that, with the addition of a simple model of time, animated output and GUI I/O also become viable.
Expanding the utility of spreadsheets through the integration of visual programming and user interface objects
A spreadsheet is extended which makes use of a visual language for expressing formulae to also incorporate the use of user interface objects, increasing the utility of spreadsheets for investigating "what-if" scenarios.
Graphical techniques in a spreadsheet for specifying user interfaces
The spreadsheet interface described here, called C32 automatically generates appropriate references to C32, provides the programmer with the full power of writgraphical objects when the user clicks on the object in a ing constraint code in the underlying programming lanuser interface window.
End-User Programming of Time as an 'Ordinary' Dimension in Grid-Oriented Visual Programming Languages
This paper provides a continuum of models aimed at programming of temporal relationships, with their advantages and disadvantages, and identifies core issues that help illuminate the essence of the problem.
User interface specification using an enhanced spreadsheet model
A new interactive environment for user interface specification which is based on an enhanced spreadsheet model of computation that allows sophisticated graphical user interfaces with dynamic feedback to be implemented with little or no explicit programming.
Using HCI techniques to design a more usable programming system
HANDS is an event-based language that features a concrete model for computation, provides operators that match the way non-programmers express problem solutions, and includes domain-specific features for the creation of interactive animations and simulations.
Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework
This paper applies the cognitive dimensions framework to two commercially-available dataflow languages and concludes that it is effective and insightful; other HCI-based evaluation techniques focus on different aspects and would make good complements.
First steps in programming: a rationale for attention investment models
  • A. Blackwell
  • Computer Science
    Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments
  • 2002
The attention investment model is proposed, a cognitive model of programming that offers a consistent account of all programming behaviour, from professionals to end-users, and is based on the research into the cognitive aspects of programming.
What you see is what you test: a methodology for testing form-based visual programs
A testing methodology for form-based visual programs is presented that is validation driven and incremental, and an interface to the methodology is provided that does not require an understanding of testing theory.
A Small Matter of Programming: Perspectives on End User Computing
From the Publisher: A Small Matter of Programming asks why it has been so difficult for end users to command programming power and explores the problems of end-user-driven application development