I've wanted to build a live coding system for the Grid for quite some time now. It is very initial, I think I may have figured out a writing system that has "wiggle room" while still being relatively easy for a computer to parse (hopefully). It also seems like it could be readable given some practice.

Information density is always going to be a limitation with the Grid. Trying to overcome that by thinking about good interface design.

· · Web · 4 · 0 · 7

@paul oh huh

Damn, didn't realize just how much light bleed there is between the rubber (silicone?) keys. I kept wondering how to make a DIY grid because it's really nifty, but was unsure of how to keep light isolated...

Well turns out the original doesn't bother, huh? >_>

@saphire I think it's a cool artifact. The camera might be exaggerating it a bit. It's never hindered readability for me.

@paul Working from norns, teletype, ansible, maiden or something else?

@gahlord eventually the norns would be cool, but first my laptop!

@paul I'm curious. How would the grid and the code interact? I could imagine writing code to create sliders for manipulating values, meters for displaying values, and switches for toggling booleans. What else would be useful about the grid in a livecoding context?

@jasonw22 the only distinct advantages I see a Grid having in a live coding context over a more conventional text editor: excellent contrast, (probably) better input latency, as a "touch screen" great precision and accuracy, and finally: not a damn text editor. In truth, it's a very impractical thing.

I'm trying to imagine an experience on the grid that feels very ungrid like. Something like drawing calligraphy on a canvas, and then parsing the calligraphy. I'm hoping to turn this structure into something my existing mnolth/sndkit live coding system could interpret and turn into sound. Perhaps try to melt UI and code together more, since both are already so abstract on the Grid.

@paul your description has me thinking about the way Deluge allows zooming for placing markers in audio waveforms, a clever way of working around the low resolution of the grid. stretta's "plane" also used knobs to pan and zoom a virtual grid over a real one. The low res of the grid has me either reaching for scale independent abstractions (just a couple examples mentioned above, and hard to achieve, also requires additional controls such as knobs), or sticking to using the grid for high level metaprogramming (basic arrangement) or very simplistic parameter manipulation (sliders and switches). I've always found it difficult to use for things like note sequencing. It's just too low-res. Kinda works for rhythms though.

@jasonw22 haven't looked at Deluge, but I think I've seen Plane in action.

Obviously, you wouldn't want to write super collider code on your grid. Text takes up too space. If you ditch the notion that code needs to be sequential text, it opens the doors for other structures that could lend themselves better on the grid maybe: trees, sexpr, graphs, etc. I'm thinking about a symbolic stack based language on an infinite canvas, where each symbol has the potential to encapsulate another infinite canvas as a group. If I can get a stack based system working with enough symbols, I can use my existing sound engine.

Meaningful "maps" I think would be hard to pull of on the grid because of the lack of information density. My hope is the encapsulation and efficient ways to hop through levels will be good enough, but dunno.

@paul also have been pondering this since I got a grid, I've wondered if you could (a) add physical objects of some kind to overlay the grid, and (b) use time as part of the sigils -- like if they cycle a state, or even just one button turning on/off at different intervals.

@wakyct I've seen people do printed overlays before. Could be useful for things with lots of position dependent components. The challenge for myself is to attempt to build something that feels more organic with more relative positioning. I may have a cheat sheet or "spell book" next to me though.

Having alternating states over time would be an interesting way to get more information density. It'd be cool if it was tempo synced.

Sign in to participate in the conversation

A fediverse community for discussions around cultural freedom, experimental, new media art, net and computational culture, and things like that.

<svg xmlns="" id="hometownlogo" x="0px" y="0px" viewBox="25 40 50 20" width="100%" height="100%"><g><path d="M55.9,53.9H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,53.9,55.9,53.9z"/><path d="M55.9,58.2H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,58.2,55.9,58.2z"/><path d="M55.9,62.6H35.3c-0.7,0-1.3,0.6-1.3,1.3s0.6,1.3,1.3,1.3h20.6c0.7,0,1.3-0.6,1.3-1.3S56.6,62.6,55.9,62.6z"/><path d="M64.8,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C66,54.4,65.4,53.9,64.8,53.9z"/><path d="M60.4,53.9c-0.7,0-1.3,0.6-1.3,1.3v8.8c0,0.7,0.6,1.3,1.3,1.3s1.3-0.6,1.3-1.3v-8.8C61.6,54.4,61.1,53.9,60.4,53.9z"/><path d="M63.7,48.3c1.3-0.7,2-2.5,2-5.6c0-3.6-0.9-7.8-3.3-7.8s-3.3,4.2-3.3,7.8c0,3.1,0.7,4.9,2,5.6v2.4c0,0.7,0.6,1.3,1.3,1.3 s1.3-0.6,1.3-1.3V48.3z M62.4,37.8c0.4,0.8,0.8,2.5,0.8,4.9c0,2.5-0.5,3.4-0.8,3.4s-0.8-0.9-0.8-3.4C61.7,40.3,62.1,38.6,62.4,37.8 z"/><path d="M57,42.7c0-0.1-0.1-0.1-0.1-0.2l-3.2-4.1c-0.2-0.3-0.6-0.5-1-0.5h-1.6v-1.9c0-0.7-0.6-1.3-1.3-1.3s-1.3,0.6-1.3,1.3V38 h-3.9h-1.1h-5.2c-0.4,0-0.7,0.2-1,0.5l-3.2,4.1c0,0.1-0.1,0.1-0.1,0.2c0,0-0.1,0.1-0.1,0.1C34,43,34,43.2,34,43.3v7.4 c0,0.7,0.6,1.3,1.3,1.3h5.2h7.4h8c0.7,0,1.3-0.6,1.3-1.3v-7.4c0-0.2,0-0.3-0.1-0.4C57,42.8,57,42.8,57,42.7z M41.7,49.5h-5.2v-4.9 h10.2v4.9H41.7z M48.5,42.1l-1.2-1.6h4.8l1.2,1.6H48.5z M44.1,40.5l1.2,1.6h-7.5l1.2-1.6H44.1z M49.2,44.6h5.5v4.9h-5.5V44.6z"/></g></svg>