Models of Interaction is a catalogue of the different ways of interacting with computers and their underlying models. This is one segment of a trilogy. The other parts are called Models of Computer and Models of Computation. This is an attempt at trying to understand the prime factors which are involved into understanding the process of performing computation from end to end.
Hope you enjoy this curation!
This is a curation of tools that blur the line between design and engineering. Check out the tweet thread here for a more fuller curation while I integrate them here: https://twitter.com/prathyvsh/status/1326687222507077637
A Lisp-based design tool that bridges graphic design and computational arts. It is a polished product that shows the power of having linguistic abstractions juxtaposed with an interactive design space.
What is double awesome is Baku is using this to run his own design experiments, much like Karsten Schmidt does with his Umbrella.
Dotgrid is a grid based tool that uses Postscript to draw vector graphics. Yet another marvel from 100 Rabbits.
Each tool built by hundredrabbits is worth checking out. They have this aesthetic that transports you to a parallel world that coexist with ours. They are pushing the boundaries of art and trailblazing a way of living.
libfive.webm.mov
It is a solid modelling tool with a Guile Scheme based code editor that is suited for parametrized / procedural designs.
Plotdevice by Christian Swineheart is a Python-based design ∩ coding tool that combines geometric shapes, typography, freeform Bézier curves and images. These can then be exported as images / animations: https://plotdevice.io
René by Jon Gold is a design tool with which one can declaratively describe styles and explore their space of permutations: http://rene.jon.gold
The rationale for its design can be read in this post by Jon: https://jon.gold/2016/06/declarative-design-tools/
Quartz Composer was such a fun nodes and wires environment to do design + coding work in. Pierre–Oliver Latour made this tool inspired from Miller Puckette’s music synthesis environment Max and Apple acquired it.
One slick environment in this category is Protoboard by Szymon Kaliski: https://szymonkaliski.com/projects/protoboard/
Szymon makes a lot of other cool experiments and if you are interested in this space, you should definitely checkout his other stuff: https://szymonkaliski.com/projects/
Cables is a tool for creating high end real time interactive graphics in a node-based editing environment: https://cables.gl
Paper.js (used to be known as Scriptographer) is an amazing Javascript library for creating canvas graphics. It has a sketch environment to debug drawings. It unlocked a special wave of creative stuff during 2010s.
shade.mp4
Shade is an amazing shader editor tool designed by Two Lives Left. It has some pretty sweet interaction design.
One of the cool spin offs of Quartz Composer is Origami. Brandon Walkin and team took Quartz Composer from where Apple left it to a refined product that allows for prototyping interactions for mobiles and desktops.
An environment that started out as a Javascript animation library but transformed into a full blown prototyping environment is Framer built by the old Made By Sofa team.
Macaw was a design tool built circa 2014 that enabled visually coding websites. The app was discontinued once the team joined Invision but it was a product with an interesting design direction.
What if you could describe your software without using text but gestures that describe the behaviours? DeepUI took a bold move in this direction. The environment hasn’t shipped yet but it was a daring take on what it means to develop software.
Engare is a design oriented game made by Mahdi Bahrami
Nodebox is a node based environment for generative data / interactive visualizations.
Visualization made in Nodebox
engare.mp4
Though not exactly a design ∩ code tool, it has great in-game pattern generators that exhibit machine/visual language duality. Lot to learn from this when creating a design ∩ code tool. Made by Mehdi Bahrami