Welcome to the 7th Edition of the Programming Experience Workshop

Abstract

Some programming feels fun, other programming feels annoying. Why?

For a while now the study of programming has forced improvements to be described through the Fordist lens of usability and productivity, where the thing that matters is how much software can get built, how quickly.

But along the way, something has gone missing. What makes programmers feel the way they do when they’re programming? It’s not usually fun to spend an age doing something that could have been done easily, so efficiency and usability still matter, but they’re not the end of the story.

Some environments, activities, contexts, languages, infrastructures make programming feel alive, others feel like working in a bureaucracy. This is not purely technologically determined, writing Lisp to do your taxes probably still isn’t fun, but it’s also not technologically neutral, writing XML to produce performance art is still likely to be <bureaucratic></bureaucratic>.

Whilst we can probably mostly agree about what isn’t fun, what is remains more personal and without a space within the academy to describe it.

In its past editions, PX set its focus on questions like: Do programmers create text that is transformed into running behavior (the old way), or do they operate on behavior directly (“liveness”); are they exploring the live domain to understand the true nature of the requirements; are they like authors creating new worlds; does visualization matter; is the experience immediate, immersive, vivid and continuous; do fluency, literacy, and learning matter; do they build tools, meta-tools; are they creating languages to express new concepts quickly and easily; and curiously, is joy relevant to the experience?

In this 7th edition of PX, we will expand its focus to also cover the experience that programmers have. What makes it and what breaks it? For whom? What can we build to share the joy of programming with others?

Here is a list of topic areas to get you thinking:

  • creating programs
  • experience of programming
  • exploratory programming
  • liveness
  • non-standard tools
  • visual, auditory, tactile, and other non-textual languages
  • text and more than text
  • program understanding
  • domain-specific languages
  • psychology of programming
  • error tolerance
  • user studies

Correctness, performance, standard tools, foundations, and text-as-program are important traditional research areas, but the experience of programming and how to improve and evolve it are the focus of this workshop. We also welcome a wide spectrum of contributions on programming experience.

Submissions

Submissions are solicited for Programming Experience 2021 (PX/21). The thrust of the workshop is to explore the human experience of programming—what it feels like to program, or what it should feel like. The technical topics include exploratory programming, live programming, authoring, representation of active content, visualization, navigation, modularity mechanisms, immediacy, literacy, fluency, learning, tool building, and language engineering.

Submissions by academics, professional programmers, and non-professional programmer are welcome. Submissions can be in any form and format, including but not limited to papers, presentations, demos, videos, panels, debates, essays, writers’ workshops, and art. Presentation slots are expected to be between 20 minutes and one hour (if time allows), depending on quality, form, and relevance to the workshop.

Submissions of academic papers directed toward publication should be so marked, and the program committee will engage in peer review for all such papers.

All artifacts are to be submitted via EasyChair. Papers and essays must be written in English, provided as PDF documents, and follow the new ACM Conference ‘acmart’ Format with the ‘sigconf’ option using the Times New Roman font family with 10 point font size. If you are formatting your paper using LaTeX, you will need to set the ‘10pt’ option in the ‘\documentclass’ command. If you are formatting your paper using Word, you may wish to use the provided Word template that supports this font size. Please include page numbers in your submission for review using the LaTeX command ‘\settopmatter{printfolios=true}’ (see examples in template). Please also ensure that your submission is legible when printed on a black and white printer. In particular, please check that colors remain distinct and font sizes are legible.

There is no page limit on submitted papers and essays. It is, however, the responsibility of the authors to keep the reviewers interested and motivated to read the paper. Reviewers are under no obligation to read all or even a substantial portion of a paper or essay if they do not find the initial part of it interesting.

Publication

Authors of accepted contributions will be invited to present their work at the workshop.

Papers accepted for publication will appear in the ACM Digital Library (ACM DL) as part of the ‹Programming› 2021 Conference Companion.

Previous editions

PX/20 at <Programming> 2020, March 23, 2020, Porto, Portugal, online

PX/19 at <Programming> 2019, April 1, 2019, Genoa, Italy

PX/18 at <Programming> 2018, April 10, 2018, Nice, France

PX/17.2 at SPLASH 2017, October 22, 2017, Vancouver, British Columbia, Canada

PX/17 at <Programming> 2017, April 4, 2017, Brussels, Belgium

PX/16 at ECOOP 2016, July 18, 2016, Rome, Italy

You're viewing the program in a time zone which is different from your device's time zone change time zone

Tue 23 Mar

Displayed time zone: Belfast change

15:00 - 16:30
15:00
30m
Talk
Exploring Modal Locking in Window Manipulation
PX/21
Marcel Taeumel Hasso Plattner Institute, Robert Hirschfeld Hasso Plattner Institute (HPI), University of Potsdam, Germany
15:30
30m
Talk
Improving on the experience of hand-assembling programs for application-specific architectures
PX/21
Ian Piumarta Kyoto University of Advanced Science
16:00
30m
Talk
Javardeye: Gaze Input for Cursor Control in a Structured Editor
PX/21
17:00 - 19:00
17:00
30m
Talk
Type Engineering: A design language for unified Software Engineering
PX/21
Anton Dmukhovskiy Art Deco Code Ltd
17:30
30m
Talk
Studying Programmer Behaviour at Scale: A Case Study Using Amazon Mechanical Turk
PX/21
Jason Jacques University of Cambridge, Per Ola Kristensson University of Cambridge
18:00
30m
Talk
Towards End-user Web Scraping For Customization
PX/21
Kapaya Katongo Massachusetts Institute of Technology (MIT), Geoffrey Litt MIT, Daniel Jackson Massachusetts Institute of Technology (MIT)
18:30
30m
Talk
Towards exploratory understanding of software using test suites
PX/21
Dominik Meier Hasso-Plattner-Institute, Toni Mattis Hasso Plattner Institute, University of Potsdam, Robert Hirschfeld Hasso Plattner Institute (HPI), University of Potsdam, Germany

Call for Papers

Welcome to the 7th Edition of the Programming Experience Workshop

Abstract

Some programming feels fun, other programming feels annoying. Why?

For a while now the study of programming has forced improvements to be described through the Taylorist lens of usability and productivity, where the thing that matters is how much software can get built, how quickly.

But along the way, something has gone missing. What makes programmers feel the way they do when they’re programming? It’s not usually fun to spend an age doing something that could have been done easily, so efficiency and usability still matter, but they’re not the end of the story.

Some environments, activities, contexts, languages, infrastructures make programming feel alive, others feel like working in a bureaucracy. This is not purely technologically determined, writing Lisp to do your taxes probably still isn’t fun, but it’s also not technologically neutral, writing XML to produce performance art is still likely to be <bureaucratic></bureaucratic>.

Whilst we can probably mostly agree about what isn’t fun, what is remains more personal and without a space within the academy to describe it.

In its past editions, PX set its focus on questions like: Do programmers create text that is transformed into running behavior (the old way), or do they operate on behavior directly (“liveness”); are they exploring the live domain to understand the true nature of the requirements; are they like authors creating new worlds; does visualization matter; is the experience immediate, immersive, vivid and continuous; do fluency, literacy, and learning matter; do they build tools, meta-tools; are they creating languages to express new concepts quickly and easily; and curiously, is joy relevant to the experience?

In this 7th edition of PX, we will expand its focus to also cover the experience that programmers have. What makes it and what breaks it? For whom? What can we build to share the joy of programming with others?

Here is a list of topic areas to get you thinking:

  • creating programs
  • experience of programming
  • exploratory programming
  • liveness
  • non-standard tools
  • visual, auditory, tactile, and other non-textual languages
  • text and more than text
  • program understanding
  • domain-specific languages
  • psychology of programming
  • error tolerance
  • user studies

Correctness, performance, standard tools, foundations, and text-as-program are important traditional research areas, but the experience of programming and how to improve and evolve it are the focus of this workshop. We also welcome a wide spectrum of contributions on programming experience.

Submissions

Submissions are solicited for Programming Experience 2021 (PX/21). The thrust of the workshop is to explore the human experience of programming—what it feels like to program, or what it should feel like. The technical topics include exploratory programming, live programming, authoring, representation of active content, visualization, navigation, modularity mechanisms, immediacy, literacy, fluency, learning, tool building, and language engineering.

Submissions by academics, professional programmers, and non-professional programmer are welcome. Submissions can be in any form and format, including but not limited to papers, presentations, demos, videos, panels, debates, essays, writers’ workshops, and art. Presentation slots are expected to be between 20 minutes and one hour (if time allows), depending on quality, form, and relevance to the workshop.

Submissions of academic papers directed toward publication should be so marked, and the program committee will engage in peer review for all such papers.

All artifacts are to be submitted via EasyChair. Papers and essays must be written in English, provided as PDF documents, and follow the new ACM Conference ‘acmart’ Format with the ‘sigconf’ option using the Times New Roman font family with 10 point font size. If you are formatting your paper using LaTeX, you will need to set the ‘10pt’ option in the ‘\documentclass’ command. If you are formatting your paper using Word, you may wish to use the provided Word template that supports this font size. Please include page numbers in your submission for review using the LaTeX command ‘\settopmatter{printfolios=true}’ (see examples in template). Please also ensure that your submission is legible when printed on a black and white printer. In particular, please check that colors remain distinct and font sizes are legible.

There is no page limit on submitted papers and essays. It is, however, the responsibility of the authors to keep the reviewers interested and motivated to read the paper. Reviewers are under no obligation to read all or even a substantial portion of a paper or essay if they do not find the initial part of it interesting.

Publication

Authors of accepted contributions will be invited to present their work at the workshop.

Papers accepted for publication will appear in the ACM Digital Library (ACM DL) as part of the ‹Programming› 2021 Conference Companion.

Previous editions

PX/20 at <Programming> 2020, March 231, 2020, Porto, Portugal, online

PX/19 at <Programming> 2019, April 1, 2019, Genoa, Italy

PX/18 at <Programming> 2018, April 10, 2018, Nice, France

PX/17.2 at SPLASH 2017, October 22, 2017, Vancouver, British Columbia, Canada

PX/17 at <Programming> 2017, April 4, 2017, Brussels, Belgium

PX/16 at ECOOP 2016, July 18, 2016, Rome, Italy

Welcome to the 7th Edition of the Programming Experience Workshop

Paper presentations, presentations without papers, live demonstrations, performances, videos, panel discussions, debates, writers’ workshops, art galleries, dramatic readings.

We will be following a variant of the writers’ workshop format used in the software patterns community. This format works well when the goals include improving the form or presentation of the ideas as well as improving or understanding the ideas themselves.

In the writers’ workshop:

  • A moderator leads and directs the discussion.
  • We review the pieces and their ideas one at a time.
  • In general, the authors whose work is under review are silent.
  • When discussing form, the following kinds of questions will be asked:
    • What did you gather / understand from the piece?
    • What aspects of the piece worked well to present the ideas?
    • What aspects need improvement? (These comments must be in the form of suggestions, not criticisms.)
  • When discussing the ideas, the following kinds of questions will be asked:

    • What are the ideas?
    • Which ideas seem like good ones (and why)?
    • Which ideas need improvement or elimination? (Make positive suggestions when you can.)
  • At the end the authors ask questions of the group.

This is the basic format, but we adjust the flow according to the needs of the group and the way the discussion is going. It is formal to ensure all the important points are covered.

For more information about the workshop format, please have a look at Richard P. Gabriel’s book “Writers’ Workshops & the World of Making Things”.

Previous editions

PX/20 at <Programming> 2020, March 231, 2020, Porto, Portugal, online

PX/19 at <Programming> 2019, April 1, 2019, Genoa, Italy

PX/18 at <Programming> 2018, April 10, 2018, Nice, France

PX/17.2 at SPLASH 2017, October 22, 2017, Vancouver, British Columbia, Canada

PX/17 at <Programming> 2017, April 4, 2017, Brussels, Belgium

PX/16 at ECOOP 2016, July 18, 2016, Rome, Italy