Hacker News new | ask | show | jobs
by benjaminjosephw 1388 days ago
> No matter how much well-intentioned user research these companies invest in, they'll never be able to produce software that fully meets the needs of individual users and culturally distant communities.

Domain experts being able to solve their own problems sounds is a worthwhile objective for software tools but innovation in this space has been surprisingly sparce.

I've been searching for other examples of end-user programmmable tools beyond spreadsheets for inspiration. Anyone have suggestions of some other places these kinds of "folk interfaces" show up?

12 comments

Hypercard was this and generated really rich "folk" artefacts. Filemaker (https://www.claris.com) is sort of this still. A modern example is Coda (https://coda.io) which is seeks to be spreadsheet like in terms of inviting folk (end users) to play and create while making database and scripting easy enough to discover and wrangle.
Corel's office suite has a scripting language if I recall. My grandfather in law learned enough of it to develop a few systems for managing family finances, gifting (it's a large family), etc.

Emacs is notable. It requires learning a bit of elisp programming but, like a browser, is basically a development environment that gives you access to a windowing system, input from the user, image rendering, text buffers, etc. Plenty of people write their own tools to manage particular workflows.

Update

Examples of emacs as folk interface:

- https://bofh.org.uk/2019/02/25/baking-with-emacs/

Microsoft Power Automate[0].

This tool scares the hell out of me, as a sysadmin, with end users who have no education re: software engineering (and potentially really wonky mental models about software) developing potentially business-critical tools/processes out of the IT equivalent of "glue and tape".

This is especially scary to me because building on "evergreen" platforms like Office 365 means that critical emergencies and downtime could occur at the whim of platform owners making changes to the underlying platform. Spacebar heating.. all that... >sigh< (And I'll be expected to fix it when it breaks and the user who made it has left...)

[0] https://powerautomate.microsoft.com/en-us/

Browsers used to be. They used to let the user apply their own CSS sheets to websites, and some extensions still allow tem to manipulate pages ("user scripts").

Web technologies were designed to let the user do what they want with the document they receive. But "the web" then evolved in a different direction.

Case in point: TFA, like many other sites, is unusable without Javascript. And it's not even "because CDN". Why do I have to execute code on a page that could be 1:1 replicated in pure HTML ?

It's very explicitly intended to be reprogrammed, but Tiddlywiki is a pretty good one. It is a great platform since it gives you data storage, advanced queries, and rendering.
Wait a minute... it's meant to be reprogrammed?

SO THAT'S WHY I was pushed to try to use it (but didn't see the point after a few minutes) It's self contained AND REPROGRAMMABLE????? Holy cow!

People using notepad to subtitle screen-captured tutorials on Youtube.
As cringey as that looks, what are other options there? Windows' desktop (and neither Linux's IIRC) doesn't have a built-in "stick-it note" functionality — which is kind of a shame if you really think about it.
There are a couple sticky notes programs that appear to be in the Ubuntu repos at least. I guess it isn't "built in" in the sense that it comes pre-installed on install disk, but it would be installed in the same way as any other first-party software.
Not quite what you're asking for since it's designed to be hackable, but the Vim alternative text editor Kakoune:

https://zork.net/~st/jottings/kakoune-a-punk-rock-text-edito...

Visual programming tools, such as Grasshopper 3d, have created a microworld of custom-made plugins and user interfaces, mostly to generate 2d and 3d geometry, but often used to achieve other programming feats.

There are even explicit plugins that let users create UI components to control and visualize program inputs and outputs.

One I haven’t seen mentioned: Max/MSP[1]. Technically it is a visual programming language but I don’t know how many users realize that.

1: https://en.m.wikipedia.org/wiki/Max_(software)

Minecraft comes to mind, if you want to think out of the box.
In that case, I'd say Conway's Game of Life evolved into an unintended end-user programmable tool, or folk interface, where people figured out how to build logic circuits, Turing-complete programs, and eventually the Game of Life itself.

These examples seem to show that there's a kind of wisdom and creativity of the crowd, the folk, collective behavior.

The entire Low Code / No Code and RPA / IPA markets exist for this. Airtable, App Smith, etc are a modern, web-based take on Access.

The more generic a tool is, the more creative people get with it. For example, emailing a file or note to yourself is a folk interface. Using a Facebook group to role play is a folk interface.

Nothing has come close to matching spreadsheets though.

MS Access databases.