GithubHelp home page GithubHelp logo

malleable-systems / malleable.systems Goto Github PK

View Code? Open in Web Editor NEW
58.0 7.0 5.0 5.15 MB

Website for the malleable systems and software community

Home Page: https://malleable.systems

License: Creative Commons Attribution Share Alike 4.0 International

HTML 39.80% CSS 54.37% JavaScript 5.82%
malleable community website software systems

malleable.systems's Introduction

malleable.systems

Modern computing is far too rigid. Applications can only function in preset ways determined by some far away team. Software is trapped in hermetically sealed silos and is rewritten many times over rather than recomposed.

This community catalogs and experiments with malleable software and systems that reset the balance of power.

Learn more by exploring the site and the catalog of work in this space.

Contributing

If you know of people, projects, threads, or anything else that should be added to the catalog, please feel free to edit the wiki. If you have questions or feedback, feel free to open an issue or send us a note. Similarly, please let us know about anything that should be removed or corrected.

For more info on contributing to the collective, please see the contribution guide.

malleable.systems's People

Contributors

7h3kk1d avatar akkartik avatar jryans avatar khinsen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

malleable.systems's Issues

Add Matuschak's "Armories for tool-maker / tool-user collaborations" to catalog

https://www.patreon.com/posts/armories-for-52549432

"...certain kinds of progress in “tools for thought” may depend on figuring out a way for “tool-makers” to work very closely with “tool-users”—people who are in some sense devoting their lives to playing the instruments we create. This goes beyond the typical lite-ethnographic “design research” practiced by firms like IDEO: luthiers must become at least modest violinists themselves, embedded in those communities, and capable of making original (but probably limited) contributions to their problems. Likewise, the tool-users must become active participants in the design project, learning enough about how the tool is built to contribute meaningful ideas."

"The pair must proactively develop an armory of tool ideas (both embryonic and mature) to equip the tool-user’s explorations."

Suggester: me

Add Obenauer's "User-created application and system views" to catalog

https://alexanderobenauer.com/labnotes/010/

Consider the impact if a user of the operating system could freely modify, duplicate, or construct any system view, just as they can with any item or application view.

Don’t like how the welcome screen is laid out? Need a more ergonomic navigation screen for your particular line of work? It’s yours to rearrange, recreate, or modify as you wish. After all, it is meant to be a personal computer.

Should this be possible, the user is free to forge their own tools and workspace as they see fit. Just like a woodworker might start by designing and building their workbench, any user of this system can create the right workspace for their work.

Incidentally, with this system in place, I now often create new system views within the system itself. But most importantly: a user can, too. The user has the power to implement ideas of their own at least as flexibly as I have.

Consider some of the implications: No longer would you have to rely on a third-party developer to make that one change which would make your day – every day – easier. For many potential changes, you could simply do it yourself.

If there is an update to a system view that you don’t like, you don’t have to accept it — you could keep your current view definition instead. Or you could combine elements of both as desired! Following this thinking, updates to system views would consist of: updated defaults or recommendations, and new components you can add to your views.

Suggester: jryans

Add Kay's WWDC 1990 talk to catalog

https://www.youtube.com/watch?v=zRrR4ryx-yE

Wide-ranging talk on many different themes. Need to watch again to take better notes, but here are few to start:

  • 45:23: Cannot afford to have generic tools (e.g. desktop publishing) from one company any more, instead make an OS / Finder for desktop publishing that others can plug into
  • 48:20: Customizable components that need to be self-describing (even more than object from systems like Smalltalk)
  • 57:23: How do we make more it the way we like it?
  • 57:57: Every user in the first month of using your tools has ideas about the way it should actually be
  • 58:06: With application written in HyperCard, you can see people make little changes, 1-2 / week, but after a few months, they've got it much more they way they would like it to be
  • 59:35: When you think of the system ahead of time as something that the end user is going to do more with than just twitch parameters you've set, then you'll design it in a different way.
  • 1:00:10: When they pop the hood, there's a schematic version of what you have optimized down below, and let them change some of those things. It'll change their entire way of dealing with the machine and thinking about you.
  • 1:07:48: The only way we can get better at this stuff is to have a lot of things to use and to criticise

Add post about common trade-offs

On the FoC Slack, @akkartik mentions:

In general, the thing I find missing in the https://malleable.systems mission (and manifestos in general) is any mention of trade-offs. What are we willing to give up to achieve the stated goals? In this case study, malleability is only possible when we control the size and complexity of our software stacks. That might be a common compromise.

I think it would be good to review what common trade-offs across various approaches in a post on the blog.

Add Hologit to catalog

Hologit is a tool I've been working on to enable projects to have CI/CD automations that live in-repo, are extendable, and require zero infrastructure for users to use (while also being able to take advantage of any available infra/peers to accelerate)

Write survey of approachability in malleable attempts so far

Conversation with Maya and others on Matrix suggests value in a survey of approachability:

maya kate: Apologies if it isn't strictly relevant, but I wrote up the basics of the TiddlyWiki setup I'd mentioned with plain markdown files after the discussion here. I think there's a more meta conversation that would be interesting in terms of analyzing TW as a case study of failing to be malleable through being unapproachable rather than being locked-down.... but this isn't it
J. Ryan Stinnett: Approachability is definitely a challenging thing in this space. Indeed like you said, it would be quite interesting to see a sort of meta-analysis of those challenges. For example, Smalltalk and its ilk are can be hard to get into because they are closed worlds which you must construct things inside to derive any benefit, so there's quite a high barrier to overcome at first. With systems like TW, it seems there are many foreign concepts and new ways of thinking required that pose a different kind of obstacle to getting started.

Explore security in a malleable environment

Malleable systems will have interesting security challenges compared to more traditional approaches, since the default assumption today is to secure by locking down and preventing modification. Allowing "safe" modification and striking the right balance on what safe means, how it's conveyed to users, etc. will require some experimentation and exploration. It would be interesting to see work that heads towards best practices for security in a malleable world that could perhaps be shared across many systems and designs. (That might be too lofty a goal, so just experimenting with specific systems on security design would be great as well!)

As a starting point, let's use this issue to collect thoughts and articles related to security in a malleable world. At the very least, it should lead to more resources for the catalog. It may also inspire one or more posts on possible approaches.

Add Ford's "The Power and Paradox of Bad Software" to catalog

https://www.wired.com/story/power-paradox-bad-software/

Found via Jack Rusher from Future of Coding

"The idea was for software to become the humble servant of every other discipline; no one anticipated that the tech industry would become a global god-king among the industries, expecting every other field to transform itself in tech's image. There's a thing in programming: Code has a way of begetting more code. You start hacking on some problem, and six months later you're still hacking at it, adding features. You write code that helps you write more code. But what we don't do so much, what our tools don't help us do, is continually ask, who is this for, why are we doing it, and how will people build upon it?"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.