Are you:
1. Sick and tired of dealing with the corporate web and the ever-expanding exploitation and complexity that only ever seems to serve commercial interests while ruining everything else, and
2. Someone who *does not* subscribe to the fascism-adjacent "we must return to the bare minimum with no abstractions" ideology of pseudo-simplicity?
Then I have a question for you: what would the 'ideal' system or environment look like, that lets you enjoy tinkering with computers again?
(Only respond if you match *both* points please)
@joepie91 Another thing would be (open!) standardization and interoperability. If two things are kind-of similar, it should be possible to have them working together without bending time and space.
@joepie91 Software people could benefit from the concept of "Kill Your Darlings". I'm sure I am twisting the meaning of this proverb here, but so often software problems are fixed by writing more software. I feel like some of the software out there needs to serve some kind of Perrsonal Branding or career goal of the author where it has to hoard stars on GitHub to make them seem successful.
@joepie91
I think that is wrong and it adds to the total burden of all software in the world that needs maintenance.
The concept of killing off your projects because something else does it better and then motivating users to that substitute should be more accepted imho.
Each solution imposes its own standards with which other software and users have to be compatible. Recognizing redundancy eliminates such a standard and strengthens the others.
@joepie91 Ending my braindump here. I hope I made some sense :)
@polyfloyd It did! One thing I'm milling over is how a system or environment might be designed to *actively discourage* Personal Brand projects
@polyfloyd (Especially in light of the norm in the broader software world being to *encourage* such projects, so it needs to actively oppose that in some way)
@joepie91 @polyfloyd Tbh, big part of that can never go away, especially if the goal is for people to keep tinkering. There will always be someone who wants to try how to do xy software.
But as with a lot of problems in software, the biggest issue is underlying economical system and can't be easily solved by software itself. As long as we have a concept of career, there will be people who will do project with a primary goal to improve theirs.
1. javascript was (largely) a mistake, and most phone apps are even worse, but i always prefer an app with a native, open-source client that talks over a domain-limited protocol/API, so as to leave little to no possibility of becoming spyware for corpos and cops. as a bonus: wayyy less bloat
2. centralized services are useful but for trusted communication, we need more decentralization, not just federation. e.g. Signal gets 90% of the way there and then kills it with centralized telephone-based auth. think more like RetroShare
3. big money opposes all of this fiercely of course, which is why firefox is google's favorite pet and increasingly full of spyware. so we need to restructure how open source projects get funded. this may or may not require restrucruring the rest of the economy along with it 👀
@joepie91 echoing the smooth learning curve, discoverability, and open standards mentioned above, I'll add thorough documentation - not just comprehensive technical specifications (but yes please), also documentation of design principles, philosophy and mental model the system was designed around. With these, I feel like I can fully use, adapt and master a tool.
@joepie91 the one i have been enjoying tbh!
one that uses systems as black boxes that i can rely on, for instance the stack of
1. alpine linux
2. fish shell (scripts)
3. caddy (web hosting)
4. zola (static site generator)
5. plain html (s)css
6. rust for custom functionality anywhere in that stack
@joepie91 for gamedev that stack is:
1. godot
2. rust for hyper specific native optimizations
It's well documented and repairable. Schematics and drawings in case of hardware, source code in case of software
all communication protocols and file formats are described and unless completely necessary, use existing open standards
no features hidden behind paywall
if the app uses online service, it needs to easily allow choice of alternative service / self-hosting
accessibility as one of primary goals, not an after-thought
I feel like my issues with current software are easy to summarize with a word "capitalism" tbh, because most things that prevent me from enjoying it are there to increase profitability. Walled gardens, freemium features and related structuring the UI the way that features can be hidden...
@joepie91 Some things that come to mind:
Smooth learning curves. It's nice to be able to pick up a tool or software (or anything really) and start using it right away with a minimum set of functionality. More advanced features can be gradually discovered and stacked on top of existing knowledge. Such software should not put up barriers to prevent me to know more, but a kind of hint like "you do not need to know more than this to just use it" would be neat.