Live data from Hacker News

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

inkandswitch.com

61–70 of 117 posts

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

#61
post #46

I remember having this idea in undergrad in 2011. My big wish was that every app would ship with a scripting language or an api. The problem is that it’s not at all straight forward to do this. The more complex an app, the more important a facade (like a front end) becomes.

Apple did this back in the mid 1990's (before OSX) with AppleScript. Every application was supposed to ship with metadata that described its object model along with methods that could be invoked on them. AppleScript was an sort of a protocol or interface standard that allowed scripts to automate application actions (and more) without having to use GUI macros. Scripts could be written with a variety of syntaxes. It wa…

My ideas about how to fix this (with a new operating system design) involves:

1. Use of FOSS will be helpful, since it can be improved if something is wrong with it.

2. UI controls are objects with data models like any others are, so even if a API is not provided by a program, these UI controls, and the data associated with them, can be added into scripts like any other API can be.

3. Capabilities are needed for I/O and proxy capabilities can be created and used. Even if the program does not expect the I/O to be filtered or modified, the system forces that it can be done anyways (and the command shell in the system is designed to allow this, too).

4. This metadata is required even for a program to start (due to the way the I/O is working).

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

#62
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 paralyzing, confidence is low. The amount of scaffolding I have to do is insane. There are tools, yes, cookie cutters, npx’s, CRAs, copilots and Cursors that will confidently spew tons of code but quickly leave you alone with this mess.

I haven’t found a solution yet.

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

#63
As described in the article, sharing data between apps is currently impossible. I wish Solid/PODs had taken off, but I get the sense that project spent more time on ontologies and less on making useful things.

How can we draw apps into using a common data backend owned by the user?

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

#64
post #25

Earlier quoted context omitted.

Not setting the text color the same as the background color and making everything unreadable, including the UI to change the color back?

That takes a pretty basic safety mechanism to address, require confirmation after the change. Windows has (had?) that, after 15 or 30 seconds or whatever from a change (like to resolution or something) it reverts back without confirmation. This makes changes of all sorts easy and cheap to perform. The worst case is you idle for 30 seconds waiting for it to go back to a legible form.

I think having the monochrome mode (which might be available at start time, and would also (temporarily) reset the font) would help with this and other problems (e.g. if one colour of the display is defective). This might be used for the UI to confirm the change but also when you start the computer that it can display such a message so that you can use that to recover from this and other problems (including screen resolution, colours, fonts, languages, and many more).

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

#65
post #48

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,…

I mean, Tcl/Tk has had this since the 90s. Rewrite your procs (functions) on the fly, delete GUI items on the fly, generate new events, create listeners on the fly, etc, etc. Quite easy to create a GUI that's interactive AND a console you can script on at the same time to inspect / edit / change code. For example, don't like your window attributes? Write code to destroy it, and re-create it and keep your "live" data…

I concur that TclTk is enormously versatile and productive. I've always regarded Tcl as a Lisp-like language. Tcl and Lisp share characteristics like homoiconicity that enable benefits you describe.

Tcl isn't as widely known and used as it deserves to be. I think that's in part due to its syntax being sufficiently different from "mainstream" languages. The learning curve isn't particularly steep, but enough so that developers question whether it's worth the effort to go there.

FWIW Tcl 9.0 has recently been released. The language has been enriched with sophisticated object-oriented capabilities, coroutines, full math tower, etc. It's also rather easy to write extensions in C.

Anyway, the GUI toolkit (Tk) has been "borrowed" by many other languages (e.g., Python's tkinter), so quite a few programmers use TclTk, know it not.

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

#66
I quick shout out to a light in the dark (in the bio-imaging space)

https://napari.org/stable/

I love napari. I remember downloading it on a whim, and while poking around, I accidentally opened its built-in python console. Half the time, if I'm writing a plugin for it, I open up the console just so that I can play around and print out stuff and try new things.

Everything, even the viewer itself, is accessible from the repl. Nothing hides behind a black box.

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

#67
post #21

Earlier quoted context omitted.

Tech-oriented people love software malleability and also can handle the responsibility - e.g. understanding something that's broken + customized by you could have been broken by you. Non tech-oriented people, the masses, absolutely love customizability and malleability--but aren't willing to handle the responsibility. They will reach out to tech support who can't possibly know every customization option of every appl…

What is the "responsibility" of customizing the color scheme of your own PC?

Well, there's a (modest) learning curve involved in customizing color schemes and of course more complex tasks that are still in the domain of user's options.

Users can be fearful of "messing it up" if they change defaults. Making changes necessarily confers responsibility to follow instructions, learn how to alter settings and know the set of options that are appropriate to change and which are not.

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

#68

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…

Does the recently updated (and aptly named) Lazarus not suit?

https://news.ycombinator.com/item?id=43913414

A quick search yielded:

https://wiki.freepascal.org/Developing_Web_Apps_with_Pascal

and

https://www.reddit.com/r/pascal/comments/es8wlh/free_pascal_...

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

#69

I appreciate the idea behind the post, because certainly, we need more hackable apps now that everything is becoming a SaaS that effectively cannot be archived or hacked on (unlike, say, WinAmp or major releases of Windows and their respective fan updates, or for a more common example game mods). Unfortunately I think that while there’s a decent number of power users and people who have the aptitude to become power u…

> It’s no different from how most people who drive cars can’t work on them

What if instead of cars and driving, we use reading and writing as the metaphor for the kind of media/utility computing can have. I'd argue it them changes the whole nature of the argument.

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

#70

I appreciate the idea behind the post, because certainly, we need more hackable apps now that everything is becoming a SaaS that effectively cannot be archived or hacked on (unlike, say, WinAmp or major releases of Windows and their respective fan updates, or for a more common example game mods). Unfortunately I think that while there’s a decent number of power users and people who have the aptitude to become power u…

Yeah, I'm gonna have to disagree with that. Computer users are shaped by the tools that they have available to them. There is always going to be a varying of degrees on how much a user gets in customization, but when the environment is designed around customization, users end up using the tools that are given to them.
Post reply on HN