Building apps like it's 1991

In which I share a paper I liked and we discover yet again that people will use whatever tools they can in creative ways.

Like most things I come across I have no idea where I found the link to the paper Twinkling lights and nested loops: distributed problem solving and spreadsheet development, published by HP Labs back in 1991. But if you're interested in how people use computers, it's a fascinating read. The paper struck me as unusual because it's more of an in-depth review of the social dynamics of software production than about programming or HCI etc. Specifically the authors surveyed and interviewed spreadsheet users in office environments about how they solve problems and shared the conversations and types of coordination users ended up with.

It's fascinating to see how communal spreadsheets had already become by 1991, and also how advanced the users had become in applying the spreadsheets to their tasks. I know spreadsheets in the 80s like Lotus 1-2-3 already had some advanced features, but I nevertheless assumed they were still more "singleton" applications. Like maybe you'd use them for your finances but not to collaborate on your executive presentation.

Nowadays we of course think of Operational Transform based projects like Google Sheets for on-line collaborative editing, but it's fascinating to read how people collaborated around spreadsheets long before "always-online" tools were even available. At a time when even email wasn't generally available. . There are multiple examples of users building out prototypes of functionality they want in the spreadsheets and then handing it off to programmers to build out the rest (chew on that Figma!).

It's also striking how perfect the spreadsheet interface is for introducing people to computers and programming. I don't think we've really figured out how to make something better yet. As they also describe in the paper, spreadsheets have such a gentle learning slope to use. You start out and you're just putting numbers and text into a table, and you can learn about formatting, or equations, or macros only at the time you need to. There's essentially zero up-front learning required to get started, you just start to play around.

Reading this paper in 2025, I can't help but see parallels to our current moment. Like many peopleThis is probably not the right post for me to begin telling you all about my esoteric theories on how Visual Basic 5.0 and Delphi were the height of application development and how the web and JS have conspired to introduce us to the world of SaSS and repeatedly kick ordinary users in the nuts. I've been thinking a lot recently about vibe-coding and the changes in how we use computers, and what it would take to make more programming, more accessible to people. So it's always fascinating to read these older papers and see how people will figure out novel ways to use computers, if you let them.

Like many programmers I used to think how bizarre it was that people would create multi-GB Excel spreadsheets -- why wouldn't they just write a program? -- but I'm more and more inclined to think of these things now in a positive light. These are just people creatively using the tools they have to solve real problems. If they end up in an awkward place it's our failure as a software engineering profession that we haven't been able to build better tools to help people grow with their problems. I don't know what those tools are. It's increasingly hard not to see LLMs as part of the solution, but I think an over-focus on LLMs and vibe-coding might distract us from thinking more deeply about how we organize programs for users.