A Light Box in Heavy Times
blog.afandian.com
blog.afandian.com
> I am starting to think of interesting software for the Light Box that does respond exclusively to human input.
When I think of responsive software that gives me with delight without wresting any control from me, I think of programs that magnify my input in some way.
One simple idea that would well for this is a kaleidoscope. Press a button and not only does it change, but so do corresponding mirrored or rotated buttons around the box from it. A hex grid is great for this because then you can do 3-fold or 6-fold symmetry around the center button in addition to simple reflection symmetry.
This is a great reference for starting to work with hexagonal grids: https://www.redblobgames.com/grids/hexagons/
My goal was something fun to add to it that strictly only did anything in response to user input.
A tactile Game of Life box that you can speed up/slow down/freeze and change sounds delightful.
I discovered that my son (17 months old at the time) loves to mess with stereo controls. So I bought a few rotary encoders and neo-pixel rings - build a wooden enclosure with a plastic faceplate, and wrote some code to generate fancy light and audio effects when he turns/clicks the knobs. He loved it. We call it the "Max Distractor".
https://www.youtube.com/watch?v=xtE8oE9GOsM
Inside it's just a RPi. One of these days I really need to make it do something more fancy.
Wow that brings back memories. My dad did the same thing. Wooden box with all sorts of switches & dials & slider and things in it.
None of them did anything (maybe a random light?), but this was back when switches/dials were made to last. So just the mechanical action had some heft to it & was interesting to a toddler.
https://blog.afandian.com/2019/09/ux-for-toddlers/
I did reference the Boite at another Oxford Geek Night presentation about visualising (and hearing) data, including some stage-makeup blood, which did bleed from my ears.
A few people got the joke, but not enough to make it worthwhile going round with fake blood on my ears for the rest of the evening.
https://blog.afandian.com/2019/09/ux-for-toddlers/
Thanks for the video, I love seeing performances like that.
I've been fascinated with those grid MIDI controllers for a while. I started this project with a Launchpad Mini but didn't have the energy to work out how to make it battery powered and reliable (there's an excellent Python library but it was a bit flaky with a Raspberry Pi).
I wonder how you use them in reality. Learn a new layout for every song? I can play a few instruments' keyboard layouts, but it would be a challenge to remember where each sample was mapped.
There is usually no predefined layout (exceptions apply), but more modern controllers with certain software allow you to save your presets and transfer between different projects (kinda like a template).
Normally, it is like a giant chessboard, and you map synths/samples/etc. individually for every new project. So if you are used to having all drums in the top right corner, you can just assign them there on this controller.
I don’t have the time to write up as much as I might like, but it’s safe to safe I enjoyed every dimension of what made this project awesome.
Here's what I came up with:
https://wiki.haskell.org/IcoGrid
I treated the sphere as an icosahedron where each "side" is a triangular hex grid. At each vertex is a pentagonal cell. To get the sides to fit together nicely, I had to rotate them a little bit.
There may be a simpler way to do it, but it worked.
There's a metaphor in there, but I didn't want to overload the post...