5 ms·
Data-centric programming is a great insight for making development user-friendly. Spreadsheets are the second-most successful end-user-development tool, largel
by TuringTest 8y ago
Data-centric programming is a great insight for making development user-friendly. Spreadsheets are the second-most successful end-user-development tool, largely because it provides immediate results for any function evaluation.
I have the hypothesis that any programming tool geared towards non-programmers will need to be embedded as an extension for an app with a specific purpose (i.e. not a development environment). Users will understand better how to create an automated process if they can work on real data while writing the functions.
Avoiding the blank page effect is essential for such a tool, as non-developers wouldn't know what to put in a program if they start from scratch - they'll need some example data first, on which they can build abstractions that automatize steps for processing that data. Again, spreadsheets largely work this way.
Outliner apps would be a great use case for a programmable app for end users. We have seen examples of somewhat programmable outliners such as the Leo Editor, notion.so and the like; though they lack a good low-code/no-code approach.
Many developers know how to use Emacs outline mode for keeping track of their data and build automations over its hierarchical structure; a user-friendly, easy to learn tool that worked the same way would be a hit. It should made programming functions over the data tree as easy as functions on a spreadsheet, and that's the missing part from current tools.
- TuringTest 8y agoI was hoping for someone to ask what is the first most successful EUD tool, but there's been no luck :-P
- lapnitnelav 8y agoLet me indulge you. What is the most successful EUD tool?
- TuringTest 8y agoI believe that to be Copy & Paste. It's so humble and well ingrained in our experience that we no longer think of it as code or as a tool, yet it's what ties together most data flows in our digital environments, at least for end users who have no access to APIs. Before the Object-Verb syntax of copy-paste was invented (i.e. "select object+copy+select destination+paste"), there were only Verb+Object commands ("move+select object+select destination"), and it sucked. Cut-Copy-Paste has been for decades the single tool that allowed end users to create their own workflows, combining several applications to carry out the successive steps of a single task not put together by a developer. Copy/paste is THE universal tool that is almost guaranteed to work in transferring information between arbitrary tools, to the point that it feels broken or artificially restricted when it's not available. Nowadays it gets competition from intents (the "share" button) in mobile OS and the web, but copy/paste is still more flexible. And it's somewhat similar to the role of pipes in the shell, but those are our of reach for end users.