Live data from Hacker News

Malleable software: Restoring user agency in a world of locked-down apps

inkandswitch.com

111–117 of 117 posts

Re: Malleable software: Restoring user agency in a world of locked-down apps

#111

I agree with all of the assertions about what software should be. But... I think a lot of it already is customizable, and users don't want to configure. End-users (or doctors) hate having to learn more about software than they absolutely must. Just an example, Epic (EHR from the essay) definitely has the ability to mark fields as optional/required. Someone just needs to get in and do it, and they don't want to/know h…

This. Making something super customizable is a lot harder to implement (code being too generic, hard to reason about and debug) and often presents a worse UX ("why are there so many options??"). Having the UX design team interview and consider the needs of each user role interacting with the application, and ensuring the app displays/asks only the appropriate info for each user, hiding the rest and adopting smart defaults (instead of requiring everything), is easier to implement, safer and produces more intuitive interfaces than highly customizable ones, in many cases.

Re: Malleable software: Restoring user agency in a world of locked-down apps

#112

Give me Delphi. No, seriously, give me Delphi, but for the web and in a modern popular programming language. Python would be great, but I will not turn my nose away from TypeScript or Go or Lua. For those who don’t know, Delphi was (is?) a visual constructor for Windows apps that you outfitted with a dialect of Pascal. It was effing magic! Nowadays the web ecosystem is so fast-paced and so fragmented, the choice is p…

I've been playing around with the Godot game engine as a sort of modern successor to Delphi / Lazarus. I'm currently messing around with trying to create some database server management software using it.

GDScript is pretty similar in feel to Python, and you can also use C# if you want to. It has some level of GUI controls in the framework (not sure how many yet, but all of the GUI controls used to build the editor are available for use).

I want to believe the 3d capabilities might be useful for some kind of UI stuff, but I don't really have a real idea how to make that work - just a "wouldn't it be neat if..." question about it right now.

Re: Malleable software: Restoring user agency in a world of locked-down apps

#113

Give me Delphi. No, seriously, give me Delphi, but for the web and in a modern popular programming language. Python would be great, but I will not turn my nose away from TypeScript or Go or Lua. For those who don’t know, Delphi was (is?) a visual constructor for Windows apps that you outfitted with a dialect of Pascal. It was effing magic! Nowadays the web ecosystem is so fast-paced and so fragmented, the choice is p…

I am currently using a stack which consists of:

- Makerkit Next.js/Supabase Starter Kit

- Python backend processing

- BMAD framework for building specification

- Claude Code with Max subscription

- Cursor for in IDE adjustments

I have managed to make some pretty incredible tools, it definitely feels like magic.

I would say I split my time 70% using BMAD as an assistant to build out my scope and clarify what I am trying to do in my own head, then 30% supervising Claude Code.

I have also managed to build out more simple tools using Streamlit to great effect

Re: Malleable software: Restoring user agency in a world of locked-down apps

#114

I wish that the first semester of programming class deliberately left code out of the material. IMHO students should start with something like this short list: FileMaker/Microsoft Access/HyperCard (no longer exists) Macromedia Flash (no longer exists) Spreadsheets (like Microsoft Excel, unfortunately Airtable isn't there yet?) Wix (maybe? surely there are better alternatives) Zapier (or an open source version) Then m…

This kind of list may be right for a trade school. If that's what you're referring to, then I don't disagree. Those students want to learn how to use those tools. But if the class is computer science at a university, then the students want to go deeper and learn how to improve upon and compete with the existing tools. They need the theory first, which means Lisp (or a derivative) and an imperative language.

Hey you're right, and I agree!

In my freshman year of college, I thought I was hot stuff because I knew C++, so I tried to place out of some of the 100 level classes. But the test seemed strange to me, focusing more on abstractions than syntax. I don't remember if I failed, but I don't think I placed out of anything. One of my first classes was on Lisp, specifically Scheme, and it completely blew my mind and forever changed how I look at programming.

Just before I graduated in 1999, they started transitioning to Java, because the web was so popular. But most of us thought that was a mistake. I don't know if they ever switched back to Lisp.

On a funny note, I took that whole class without realizing that Lisp statements could be broken up into separate lines. Or more accurately that each line just declares equivalences that get reduced down to their simplest form by the runtime. So I wrote all of the homework assignments as one giant function of nested parentheses, even for some of the more complex tasks on sorting primitives like lists and trees. I picture the graders shaking their heads in a mix of frustration and awe hahaha.

Re: Malleable software: Restoring user agency in a world of locked-down apps

#115

Earlier quoted context omitted.

This kind of list may be right for a trade school. If that's what you're referring to, then I don't disagree. Those students want to learn how to use those tools. But if the class is computer science at a university, then the students want to go deeper and learn how to improve upon and compete with the existing tools. They need the theory first, which means Lisp (or a derivative) and an imperative language.

Hey you're right, and I agree! In my freshman year of college, I thought I was hot stuff because I knew C++, so I tried to place out of some of the 100 level classes. But the test seemed strange to me, focusing more on abstractions than syntax. I don't remember if I failed, but I don't think I placed out of anything. One of my first classes was on Lisp, specifically Scheme, and it completely blew my mind and forever…

*data structures not primitives. My brain is mush.

Re: Malleable software: Restoring user agency in a world of locked-down apps

#116
post #34

I was thinking a lot about software malleability - but from a technical perspective. I am on the verge of building something useful - only if I could find the time to do it. Here's my premise - if you use something like a game engine, say Unity, and Unreal, you basically have the ability to modify everything in real time, and heve it reflected inside the editor immediately - you could change textures, models, audio,…

For anyone interested in this: Tsoding (Twitch and YouTube streamer of "recreational programming") demonstrates this in one of his projects, where he hot reloads a dynamic library without interrupting the main program, to test different functionality. https://youtu.be/Y57ruDOwH1g?si=feGioEeSZ5eborb3&t=84

Here's an operating system kernel in Rust that can hot load/unload modules at ELF object boundaries, made safe by trusted compiler allowing only safe Rust:

https://www.theseus-os.com/

Upgrading a module in a way that changes its data structures still requires writing a converter from the old format to new.

Re: Malleable software: Restoring user agency in a world of locked-down apps

#117

I wish that the first semester of programming class deliberately left code out of the material. IMHO students should start with something like this short list: FileMaker/Microsoft Access/HyperCard (no longer exists) Macromedia Flash (no longer exists) Spreadsheets (like Microsoft Excel, unfortunately Airtable isn't there yet?) Wix (maybe? surely there are better alternatives) Zapier (or an open source version) Then m…

I would choose Gel (nee Edgedb) for the DB. It has first class support for traversing relationships.

https://www.geldata.com/blog/postgis-webhooks-networking-and...

Post reply on HN