I love the optimism, but I'm a pessimist. Even at the first paragraph: > "The original promise of personal computing was a new kind of clay—a malleable material that users could reshape at will. Instead, we got appliances: built far away, sealed, unchangeable. When your tools don’t work the way you need them to, you submit feedback and hope for the best. You’re forced to adapt your workflow to fit your software, when…
Malleable software: Restoring user agency in a world of locked-down apps
31–40 of 117 posts
Re: Malleable software: Restoring user agency in a world of locked-down apps
#32Earlier 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.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#33Earlier quoted context omitted.
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.
And when they click through the confirmation without reading it like the vast majority of users?
Re: Malleable software: Restoring user agency in a world of locked-down apps
#34I 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,…
Re: Malleable software: Restoring user agency in a world of locked-down apps
#35Unfortunately I think that while there’s a decent number of power users and people who have the aptitude to become power users who will make use of software made to be deeply customizable, they are outstripped many times over by people who don’t see software that way and have no interest in learning about it. People are quick to point fingers about why the situation is as it is, but the truth is that it was always going to be this way once computers became widely adopted. It’s no different from how most people who drive cars can’t work on them and why few feel comfortable making modifications to their houses/apartments. There’s just a hard limit to the scope and depth of the average individual's attention, and more often than not technical specialization doesn’t make the cut. No amount of gentle ramping will work around this.
That doesn’t mean we shouldn’t build flexible software… by all means, please do, but I wouldn’t expect it to unseat the Microsofts and Googles of the world any time soon. I do however think that technically capable people should do anything they can to further the development of not just flexible, but local-first, hackable software. Anything that’s hard-tethered to a server should be out of the running entirely and something you can keep running on your machine regardless of the fate of its developer should take priority over more ephemeral options.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#36Earlier quoted context omitted.
I agree, I feel like the authors are underestimating the effect the new AI is already having on the concept of local software crafting. For my entire lifetime, I've had friends ask me to help them build software that accesses some data somewhere, and I've always had to turn them down because there are too many unknowns. I've spent countless hours thinking about how to build a business that would solve some class of p…
> I agree, I feel like the authors are underestimating the effect the new AI is already having on the concept of local software crafting Coauthor here -- did you catch our section on AI? [1] We emphatically agree with you that AI is already enabling new kinds of local software crafting. That's one reason we are excited about doing this work now! At the same time, AI code generation doesn't solve the structural proble…
Re: Malleable software: Restoring user agency in a world of locked-down apps
#37Re: Malleable software: Restoring user agency in a world of locked-down apps
#38Earlier quoted context omitted.
I agree, I feel like the authors are underestimating the effect the new AI is already having on the concept of local software crafting. For my entire lifetime, I've had friends ask me to help them build software that accesses some data somewhere, and I've always had to turn them down because there are too many unknowns. I've spent countless hours thinking about how to build a business that would solve some class of p…
> I agree, I feel like the authors are underestimating the effect the new AI is already having on the concept of local software crafting Coauthor here -- did you catch our section on AI? [1] We emphatically agree with you that AI is already enabling new kinds of local software crafting. That's one reason we are excited about doing this work now! At the same time, AI code generation doesn't solve the structural proble…
My belief is that it is happening already: local software crafting is happening now, before the tools are ready. People aren't going to wait for good APIs to exist; people will MacGyver things together. They'll scrape screens (sometimes with OCR), run emulated devices in the cloud, and call APIs incorrectly and abusively until they get what they need. They won't ask for permission.
A lot of software developers may transition from building to cleaning up knots.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#39I 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,…
but that's not true: smalltalk, lisp, pike, erlang and some other languages allow you to change code at runtime, only requiring the recompilation of the changed unit of code (depending on the language. in pike it's at the class/object level)
process-like isolation barriers isolating small pieces of programs, and an object database-like datastore that can never be corrupted due to transactional changes (which can be rolled back, enabling stuff like time-travel debugging).
doesn't smalltalk do pretty much that? i'd be really interested in learning how your idea differs. you may also want to look at societyserver/open-Team: https://news.ycombinator.com/item?id=42159045
it's a platform written in pike that implements an object storage, and allows code objects in that to be modified at runtime. transactions are at the object/class level. (if the class fails to compile, the objects are not replaced). it stores versions of classes so a rollback is possible, although not implemented in the interface. (means right now, if i want an older version i have to rollback manually)
Such a system would allow you to fearlessly change any part of the source code of a running application at runtime - even if you mess up the code of a said component - say event to a point that it doesn't compile - all that would happen would that single component would cease to function without affecting the rest of the app.
smalltalk does that, as does societyserver/open-Team, or the roxen webapplication server (also written in pike) and i am pretty sure some lisp and erlang systems do as well.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#40Great to see them pushing work like this, building experiments, and talking about what they’ve learned.