Sam Gentle.com

Prototype wrapup #7

Last week I scaled up my prototype goal dramatically, to one prototype per day. Unfortunately, I didn't quite get there. I did one every day except for Sunday, because my prototypes got a bit too ambitious and I ran out of time.

Monday

I listed this last week for some reason, but it makes more sense to go Monday->Sunday so I'm putting it here as well.

Tuesday

I wanted to try making some kind of cellular automata that was more suited to sounds. I previously made The Sound of Life which was a Game of Life + sound, but 2d grids don't actually map that well to audio (adjacent notes sound discordant). I had an idea for doing something in quotient space (an x,y grid where the coordinates reduce like fractions) using x/y as the frequency. It actually took a surprisingly short time to get working, but then I spent a few hours just messing around with different sound rules. It ended up pretty decent.

Wednesday

Continuing on from the day before, I wanted a better visualisation of how the sound was laid out. I had two ideas of how to do it, and this was the first one: a simple logarithmic scale drawn on a number line like so.

Thursday

The second half was to try laying it out in a way that reflected the quotient space of the (x, y) pairs rather than the notes that came out of them. So I put everything on a big grid and drew lines to indicate the slope of the ratios. That ended up like this, which actually turns out to be a pretty pleasing visual.

Friday

I'd had an idea ages ago for teaching programming by making someone play-act as the computer. This was a start on that by making an environment where you can implement quicksort by yourself. It's just some instructions and a simple list of numbers that you can drag around and click to highlight. Later on I'll look at adding the part that tells you what step to do and checks if you're doing it properly.

Saturday

This was a big one. I had this crazy idea a while back that maybe you could do computation with recursive acronyms. It ended up turning into its own post and, although I was really happy with it, it turned out to be a much bigger idea than I thought. I inadvertently re-invented L-systems, which was neat but probably not really feasible to do in an hour.

So a few good things came out of this week. I was particularly happy with the way the Tuesday->Wednesday->Thursday transition was three prototypes on top of the same idea. That seems to be a feasible path to making projects out of prototypes. I'm still not done with Audiomata; I want to consolidate what I've done so far, clean it up, add some more customisation and input, basically finish it off to the point where it meets the complete standard rather than the prototype standard.

However, I also missed a day, and that traces itself directly back to Saturday (and to an extent Tuesday), two days when I went over because I was so invested in what I was doing that I didn't want to stop. That's a good feeling, but obviously it's not sustainable. My plan is to be more militant about stopping when I run out of time, but give myself the option of continuing on if I acknowledge that it has outgrown the "prototype" label and move it into a real project in a new directory. That actually happened both times I went over, but after the fact instead of being acknowledged up front. My hope is that by recognising that the prototype has turned into a full project, it will give me the perspective and the clean break point to decide whether I should stop or keep going legitimately.

I am committing to a prototype each day again. Overall this system seems to be working well for me so I think I will keep at it until I can work the kinks out and it becomes easier.