Second-Order Tool Building

  • instead of building X to solve Y, build Z which allows end-users to create many Xs to solve many Ys
  • one approach is to allow for easy recombination, building Environments, not App Pickers
  • a next step - allowing the tool to be built in itself, is a good example of one kind of Fractality in Software Tools
  • interestingly, Spreadsheets which are great at this, have this power almost accidentally - they were created originally to make inputting data easier into a tabular form (over grid paper), and then the creators were surprised that people started to predict future values with them
  • since Achieving Cognitive Fit is Easier than Social Fit maybe instead of focusing on strategies for adopting tools (achieving "social fit") a good tool-making kit would allow users to create their own cognitively-fitted tools without having to worry about the social fit (making tools just for themselves); of course the tool-building tool has to have a good "social fit" first...

Dynamic spreadsheets were invented by Daniel Bricklin and Robert Frankston as a reaction to the frustration Bricklin felt when he had to work with the old ruled-paper versions in business school. They were surprised by the success of the idea and by the fact that most people who bought the first spreadsheet program (VisiCalc) exploited it to forecast the future rather than to account for the past. Seeking to develop a "smart editor", they had created a simulation tool.

— Computer Software - Alan Kay

  • developers should be Second-Order Tool Builders - allowing domain experts and end users to build the tools they need, in the tools provided by developers
Szymon Kaliski © 2022